Skip to content

Commit f55e44a

Browse files
committed
add mcp server meta.json
1 parent 8035b87 commit f55e44a

4 files changed

Lines changed: 52 additions & 1 deletion

File tree

.github/scripts/aggregate-mcp-data.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,21 @@ function calculateMetrics(runData, k = 4) {
246246
return metrics;
247247
}
248248

249+
/**
250+
* Load metadata from meta.json file
251+
*/
252+
function loadMetadata(implPath) {
253+
const metaPath = path.join(implPath, 'meta.json');
254+
if (fs.existsSync(metaPath)) {
255+
try {
256+
return JSON.parse(fs.readFileSync(metaPath, 'utf8'));
257+
} catch (error) {
258+
console.warn(`Failed to read metadata from ${metaPath}:`, error.message);
259+
}
260+
}
261+
return null;
262+
}
263+
249264
/**
250265
* Main aggregation function
251266
*/
@@ -273,9 +288,15 @@ function aggregateMcpData(k = 4) {
273288

274289
const runData = collectRunData(implPath, k);
275290
const metrics = calculateMetrics(runData, k);
291+
const metadata = loadMetadata(implPath);
276292

277293
if (metrics) {
278294
aggregatedData.leaderboard[serverName][implName] = metrics;
295+
296+
if (metadata) {
297+
aggregatedData.leaderboard[serverName][implName].metadata = metadata;
298+
}
299+
279300
console.log(` ✅ ${implName}: ${metrics.total_tasks} tasks, ${(metrics["pass@1"].avg * 100).toFixed(1)}% pass@1`);
280301
} else {
281302
console.log(` ⚠️ ${implName}: No valid data found`);
@@ -327,4 +348,4 @@ if (require.main === module) {
327348
main();
328349
}
329350

330-
module.exports = { aggregateMcpData, discoverMcpServers, collectRunData, calculateMetrics };
351+
module.exports = { aggregateMcpData, discoverMcpServers, collectRunData, calculateMetrics, loadMetadata };
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"author": {
3+
"name": "KlavisAI",
4+
"url": "https://www.klavis.ai/"
5+
},
6+
"avatar": "https://www.klavis.ai/_next/image?url=%2Fimages%2Ffavicon%2Ffavicon.ico&w=32&q=75",
7+
"description": "The GitHub MCP Server connects AI tools directly to GitHub's platform. This gives AI agents, assistants, and chatbots the ability to read repositories and code files, manage issues and PRs, analyze code, and automate workflows. All through natural language interactions.",
8+
"homepage": "https://www.klavis.ai/mcp-server-connections/github",
9+
"name": "GitHub MCP Server by klavis"
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"author": {
3+
"name": "GitHub",
4+
"url": "https://github.com"
5+
},
6+
"avatar": "https://avatars.githubusercontent.com/u/52580218?s=200&v=4",
7+
"description": "The GitHub MCP Server connects AI tools directly to GitHub's platform. This gives AI agents, assistants, and chatbots the ability to read repositories and code files, manage issues and PRs, analyze code, and automate workflows. All through natural language interactions.",
8+
"homepage": "https://github.com/github/github-mcp-server",
9+
"name": "GitHub"
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"author": {
3+
"name": "Notion",
4+
"url": "https://notion.com"
5+
},
6+
"avatar": "https://upload.wikimedia.org/wikipedia/commons/4/45/Notion_app_logo.png",
7+
"description": "Notion MCP is official hosted server that gives AI tools secure access to your Notion workspace. It's designed to work seamlessly with popular AI assistants like ChatGPT, Cursor, and Claude.",
8+
"homepage": "https://developers.notion.com/docs/mcp",
9+
"name": "Notion"
10+
}

0 commit comments

Comments
 (0)