You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3
+
A lightweight, self-hosted MCP registry that exposes a filtered subset of the [official MCP registry](https://registry.modelcontextprotocol.io). Deployable to GitHub Pages as a static site.
4
4
5
-
Currently, two official plugins are available:
5
+
## Copilot MCP Registry URL
6
6
7
-
-[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8
-
-[@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
This endpoint returns only the **official Figma MCP server** (`com.figma.mcp/mcp`) in standard MCP registry format.
11
12
12
-
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
13
+
## Running locally
13
14
14
-
## Expanding the ESLint configuration
15
+
```bash
16
+
npm install
17
+
npm run dev
18
+
```
15
19
16
-
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
20
+
The UI will be available at `http://localhost:5173`. It fetches live from the official registry and filters results by preset.
21
+
22
+
To preview the production build locally:
23
+
24
+
```bash
25
+
npm run build
26
+
npm run preview
27
+
```
28
+
29
+
## How the registry endpoint works
30
+
31
+
At build time, `scripts/build-registry.mjs` fetches the official Figma server entry from the MCP registry API and writes it to `public/allowed-servers`. Vite copies `public/` into `dist/` unchanged, so the file is served as a static JSON response at `/allowed-servers`.
32
+
33
+
To regenerate the file manually without a full build:
34
+
35
+
```bash
36
+
node scripts/build-registry.mjs
37
+
```
38
+
39
+
## Adding or changing allowed servers
40
+
41
+
Edit `scripts/build-registry.mjs`. The relevant section is:
Server names come from the [official registry](https://registry.modelcontextprotocol.io/docs). Use `%2F` to encode the `/` in the server name for the URL.
61
+
62
+
## Adding UI filter presets
63
+
64
+
Edit `src/presets.js`:
65
+
66
+
```js
67
+
{
68
+
id:'linear',
69
+
label:'Linear',
70
+
search:'linear',
71
+
description:'MCP servers that integrate with Linear',
72
+
},
73
+
```
74
+
75
+
The `search` value is passed to the registry's `?search=` query param (substring match on server name).
76
+
77
+
## Deployment
78
+
79
+
Deploys automatically to GitHub Pages on every push to `main` via `.github/workflows/deploy.yml`.
80
+
81
+
**One-time setup:** In the GitHub repo go to **Settings → Pages → Source** and select **GitHub Actions**.
82
+
83
+
The build step (`npm run build`) runs `scripts/build-registry.mjs` first to fetch fresh server data, then builds the Vite app.
0 commit comments