Skip to content

Commit bba3258

Browse files
committed
fix registry
1 parent 2b6e2d0 commit bba3258

8 files changed

Lines changed: 43 additions & 67 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# mini-mcp-registry
22

3-
A lightweight, self-hosted MCP registry proxy that exposes a curated subset of the [official MCP registry](https://registry.modelcontextprotocol.io). Deployed to Vercel.
3+
A lightweight, self-hosted MCP registry proxy that exposes a curated subset of the [GitHub MCP registry](https://github.com/mcp). Deployed to Vercel.
44

55
## Registry URL
66

@@ -10,7 +10,7 @@ https://mini-mcp-registry.vercel.app
1010

1111
## Managing servers
1212

13-
**Add a server** using its name from the [official registry](https://registry.modelcontextprotocol.io):
13+
**Add a server** using its ID from the [GitHub MCP registry](https://github.com/mcp):
1414

1515
```bash
1616
npm run add-server -- com.figma.mcp/mcp

public/allowed-servers.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
"servers": [
33
{
44
"server": {
5-
"name": "io.github.github/github-mcp-server",
6-
"title": "GitHub",
7-
"description": "Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.",
8-
"version": "0.32.0",
5+
"name": "com.figma.mcp/mcp",
6+
"title": "Figma MCP Server",
7+
"description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
8+
"version": "1.0.3",
99
"repository": {
10-
"url": "https://github.com/github/github-mcp-server",
10+
"url": "https://github.com/figma/mcp-server-guide",
1111
"source": "github"
1212
}
1313
},
1414
"_meta": {
15-
"updatedAt": "2026-03-06T14:50:08Z",
16-
"stars": 27563
15+
"updatedAt": "2026-02-27T16:49:53Z",
16+
"stars": 326
1717
}
1818
}
1919
],
Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,16 @@
11
{
22
"server": {
3-
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
43
"name": "com.figma.mcp/mcp",
5-
"description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
64
"title": "Figma MCP Server",
5+
"description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
6+
"version": "1.0.3",
77
"repository": {
88
"url": "https://github.com/figma/mcp-server-guide",
99
"source": "github"
10-
},
11-
"version": "1.0.3",
12-
"remotes": [
13-
{
14-
"type": "streamable-http",
15-
"url": "https://mcp.figma.com/mcp"
16-
}
17-
]
10+
}
1811
},
1912
"_meta": {
20-
"io.modelcontextprotocol.registry/official": {
21-
"status": "active",
22-
"publishedAt": "2025-10-16T17:40:56.949472Z",
23-
"updatedAt": "2025-10-16T17:40:56.949472Z",
24-
"isLatest": true
25-
}
13+
"updatedAt": "2026-02-27T16:49:53Z",
14+
"stars": 326
2615
}
2716
}
Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,16 @@
11
{
22
"server": {
3-
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
43
"name": "com.figma.mcp/mcp",
5-
"description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
64
"title": "Figma MCP Server",
5+
"description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
6+
"version": "1.0.3",
77
"repository": {
88
"url": "https://github.com/figma/mcp-server-guide",
99
"source": "github"
10-
},
11-
"version": "1.0.3",
12-
"remotes": [
13-
{
14-
"type": "streamable-http",
15-
"url": "https://mcp.figma.com/mcp"
16-
}
17-
]
10+
}
1811
},
1912
"_meta": {
20-
"io.modelcontextprotocol.registry/official": {
21-
"status": "active",
22-
"publishedAt": "2025-10-16T17:40:56.949472Z",
23-
"updatedAt": "2025-10-16T17:40:56.949472Z",
24-
"isLatest": true
25-
}
13+
"updatedAt": "2026-02-27T16:49:53Z",
14+
"stars": 326
2615
}
2716
}

public/v0.1/servers.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
"servers": [
33
{
44
"server": {
5-
"name": "io.github.github/github-mcp-server",
6-
"title": "GitHub",
7-
"description": "Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.",
8-
"version": "0.32.0",
5+
"name": "com.figma.mcp/mcp",
6+
"title": "Figma MCP Server",
7+
"description": "The Figma MCP server brings Figma design context directly into your AI workflow.",
8+
"version": "1.0.3",
99
"repository": {
10-
"url": "https://github.com/github/github-mcp-server",
10+
"url": "https://github.com/figma/mcp-server-guide",
1111
"source": "github"
1212
}
1313
},
1414
"_meta": {
15-
"updatedAt": "2026-03-06T14:50:08Z",
16-
"stars": 27563
15+
"updatedAt": "2026-02-27T16:49:53Z",
16+
"stars": 326
1717
}
1818
}
1919
],

scripts/add-server.mjs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
22
// Usage: node scripts/add-server.mjs <server-id>
3-
// Example: node scripts/add-server.mjs io.github.github/github-mcp-server
3+
// Example: node scripts/add-server.mjs com.figma.mcp/mcp
44
//
55
// Looks up the server in github.com/mcp, adds it to ALLOWED_SERVERS,
66
// and runs the build so the change is ready to push.
@@ -16,20 +16,20 @@ const BUILD_SCRIPT = join(__dirname, 'build-registry.mjs');
1616
const name = process.argv[2];
1717
if (!name) {
1818
console.error('Usage: node scripts/add-server.mjs <server-id>');
19-
console.error('Example: node scripts/add-server.mjs io.github.github/github-mcp-server');
19+
console.error('Example: node scripts/add-server.mjs com.figma.mcp/mcp');
2020
process.exit(1);
2121
}
2222

2323
// Verify the server exists in github.com/mcp
2424
console.log(`Looking up "${name}" in github.com/mcp...`);
25-
const res = await fetch('https://github.com/mcp.json');
25+
const res = await fetch(`https://github.com/mcp/${name}`, { headers: { Accept: 'application/json' } });
2626
if (!res.ok) {
27-
console.error(`✗ Failed to fetch github.com/mcp: ${res.status}`);
27+
console.error(`✗ Server not found: "${name}" (HTTP ${res.status})`);
28+
console.error(` Browse available servers at https://github.com/mcp`);
2829
process.exit(1);
2930
}
3031
const json = await res.json();
31-
const servers = json.payload.mcpRegistryRoute.serversData.servers;
32-
const data = servers.find(s => s.id === name);
32+
const data = json.payload.mcpDetailsRoute.server_data;
3333
if (!data) {
3434
console.error(`✗ Server not found: "${name}"`);
3535
console.error(` Browse available servers at https://github.com/mcp`);

scripts/build-registry.mjs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,19 @@ import { fileURLToPath } from 'url';
1414
const __dirname = dirname(fileURLToPath(import.meta.url));
1515
const OUT_DIR = join(__dirname, '..', 'public');
1616

17-
// Add server IDs here to include them (use the IDs from github.com/mcp, e.g. 'io.github.github/github-mcp-server')
17+
// Add server IDs here to include them (use the IDs from github.com/mcp, e.g. 'com.figma.mcp/mcp')
1818
const ALLOWED_SERVERS = [
19-
'io.github.github/github-mcp-server',
19+
'com.figma.mcp/mcp',
2020
];
2121

22-
const GITHUB_MCP_URL = 'https://github.com/mcp.json';
22+
const GITHUB_MCP_BASE = 'https://github.com/mcp';
2323

24-
async function fetchAllServers() {
25-
const res = await fetch(GITHUB_MCP_URL);
26-
if (!res.ok) throw new Error(`Failed to fetch ${GITHUB_MCP_URL}: ${res.status}`);
24+
async function fetchServer(id) {
25+
const url = `${GITHUB_MCP_BASE}/${id}`;
26+
const res = await fetch(url, { headers: { Accept: 'application/json' } });
27+
if (!res.ok) throw new Error(`Failed to fetch ${url}: ${res.status}`);
2728
const json = await res.json();
28-
return json.payload.mcpRegistryRoute.serversData.servers;
29+
return json.payload.mcpDetailsRoute.server_data;
2930
}
3031

3132
function mapServer(ghServer) {
@@ -53,14 +54,11 @@ function write(filePath, data) {
5354
}
5455

5556
console.log('Fetching servers from github.com/mcp...');
56-
const allServers = await fetchAllServers();
57-
const serverMap = new Map(allServers.map(s => [s.id, s]));
5857
const entries = [];
5958

6059
for (const name of ALLOWED_SERVERS) {
6160
process.stdout.write(` ${name}...`);
62-
const ghServer = serverMap.get(name);
63-
if (!ghServer) throw new Error(`Server not found in github.com/mcp: ${name}`);
61+
const ghServer = await fetchServer(name);
6462
const entry = mapServer(ghServer);
6563
entries.push(entry);
6664

src/App.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ export default function App() {
2828
<p className="subtitle">Allowed MCP servers for this organization</p>
2929
</div>
3030
<a
31-
href="https://registry.modelcontextprotocol.io"
31+
href="https://github.com/mcp"
3232
target="_blank"
3333
rel="noreferrer"
3434
className="registry-link"
3535
>
36-
Official Registry ↗
36+
GitHub Registry ↗
3737
</a>
3838
</div>
3939
</header>

0 commit comments

Comments
 (0)