-
Notifications
You must be signed in to change notification settings - Fork 1
MCP Catalog
60 curated MCP (Model Context Protocol) servers across 10 categories, with checkbox multi-select, per-MCP token forms, and live install progress.
/env-setup/mcp in the web UI.
| Category | Count | Notable |
|---|---|---|
| 🛠 Dev tools | 7 | filesystem ★, fetch ★, git ★, memory ★, sequential thinking, time, everything |
| 🌐 Git hosting | 5 | GitHub ★, GitLab, Gitea, Bitbucket, Azure DevOps |
| 🗄 Database | 8 | SQLite ★, Postgres, MySQL, MongoDB, Redis, Elasticsearch, Supabase, Firebase |
| 🔎 Search / web | 6 | Brave ★, Tavily, Perplexity, Firecrawl, Google Maps, Context7 ★ |
| 🖥 Browser | 2 | Playwright ★, Puppeteer |
| ✅ Productivity | 13 | Notion ★, Linear, Jira, Confluence, Slack, Discord, Trello, Asana, ClickUp, Airtable, Monday, Google Drive, Obsidian |
| ☁ Cloud | 6 | AWS KB, Cloudflare, Vercel, Heroku, Railway, Docker Hub |
| 📨 Communications | 5 | SendGrid, Twilio, Telegram, Stripe, Sentry |
| 📱 App publish (Experimental) | 3 | Google Play Publisher, App Store Connect, Fastlane |
| 🧠 AI assist | 5 | OpenAI Bridge, YouTube Transcript, Wikipedia, ArXiv, Everart |
★ = recommended for first-time setup (9 entries).
-
VERIFIED — Anthropic-official
@modelcontextprotocol/*or a 1st-party vendor (Notion, Cloudflare, GitHub-via-Anthropic). Package name is stable. - COMMUNITY — Popular 3rd-party packages. Package names can change as the maintainer publishes new versions.
-
EXPERIMENTAL — Package name not yet finalized or install behavior
unverified. May fail; recommended to manually fine-tune
.mcp.jsonafter install.
Some MCPs require an interactive browser OAuth callback as part of
their first call (not just a key/token up front). vibe-coder runs MCP
servers as non-interactive child processes — there's no way for the
browser-callback step to happen inside that flow. These MCPs are listed in
the catalog with a ⏳ 준비중 badge, the checkbox is disabled, and the
server refuses install requests for them (400 coming_soon).
Currently affected:
-
Google Drive (
@modelcontextprotocol/server-gdrive) — Even after you upload the OAuth client JSON, the first call needs a user to open a browser, sign in, and approve scopes. There's no "Service Account" path for Drive in the standard MCP server.
Workarounds if you really need them today:
- Run the MCP server once on a desktop (
npx -y @modelcontextprotocol/server-gdrive) to complete the OAuth dance and produce a refresh-token file. - Copy that token file into the container (
docker cp) at the path the MCP server expects. - Register the MCP entry manually in
~/.claude/.mcp.json.
Otherwise wait for a future release that wraps the OAuth flow server-side.
- Check the boxes for desired MCPs.
- Filled-in token fields appear inline for entries that need credentials (GitHub PAT, Slack Bot token, etc.). Required fields are marked with *.
- Click Install selected. Server runs
npm install -g <pkg>for each one (sequentially), and registers each into~/.claude/.mcp.jsonunder themcpServerskey with the supplied env. - Live progress at
/env-setup/tasks/{taskId}(or via WS). - After install, the MCP is available in the next Claude turn (no
need to restart the per-project child — Claude's MCP client re-reads
.mcp.jsonon each request).
-
Unregister (
POST /api/env-setup/mcp/unregister): removes the entry from.mcp.jsononly. The npm package stays on disk; re-checking the box brings it back instantly. -
Hard uninstall:
docker exec -it --user vibe vibe-coder-server npm uninstall -g <pkg>. Useful only to reclaim disk space.
Generated by the catalog:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]
},
...
}
}You can hand-edit this file inside the container (docker exec -it --user vibe vibe-coder-server vi ~/.claude/.mcp.json) for entries the catalog
doesn't cover. Survives image upgrades.
Two ways:
docker exec -it --user vibe vibe-coder-server bash
npm install -g some-mcp-package
# Edit ~/.claude/.mcp.json to add the entryBoth paths (/home/vibe/.local + /home/vibe/.claude) are bind-mounted
so the install + registration survive image upgrades.
Add an entry to server/.../env/McpCatalog.kt. The 50-line snippet
includes id / package / category / trust tier / configFields. Send a PR.
Some MCPs authenticate with a key file instead of a token string:
| MCP | File format | Where to get it |
|---|---|---|
| Google Play Publisher |
.json (Service Account) |
Play Console → Setup → API access → Service accounts → Create key |
| App Store Connect | .p8 |
App Store Connect → Users and Access → Keys → Generate API Key |
| Firebase |
.json (Service Account) |
GCP Console → IAM → Service Accounts → Keys |
| Google Drive |
.json (OAuth client) |
GCP Console → APIs & Services → Credentials → OAuth client ID → Download |
- Check the box of the MCP that needs a file. The config block expands.
- The field shows a file picker (
<input type="file">), not a text input. - Pick the file. As soon as you select it, the browser uploads it via
POST /env-setup/mcp/{mcpId}/file/{fieldKey}(multipart) immediately — no separate "upload" button. - The server saves it to
/home/vibe/.config/mcp-secrets/<mcpId>-<fieldKey>.<ext>(0600 permissions, directory 0700) and returns the absolute path. - The path appears below the field. Clicking "Install selected" includes
the path in
.mcp.json'senvblock automatically — the MCP server reads it on first call.
-
128 KB max per file. Service Account JSON and
.p8keys are a few KB; a larger file is rejected as suspicious. - File extension is taken from the original filename (preferred) or
acceptMime. - Filename is sanitized (
[^A-Za-z0-9._-]→_) to prevent path traversal.
Simply pick a new file in the same field. The server atomic-moves it over
the old one (same <mcpId>-<fieldKey> slot).
If you'd rather drop the file in via docker cp:
docker cp ./play-sa.json vibe-coder-server:/home/vibe/.config/mcp-secrets/google-play-publisher-GOOGLE_PLAY_SERVICE_ACCOUNT_JSON.json
docker exec --user vibe vibe-coder-server chmod 600 /home/vibe/.config/mcp-secrets/google-play-publisher-GOOGLE_PLAY_SERVICE_ACCOUNT_JSON.jsonThen in the catalog UI, the existing path will show — no upload needed, just check the box and click Install.
For most users:
| ★ | What it does |
|---|---|
| filesystem | Read/write under the workspace |
| fetch | Pull external docs as Markdown |
| git | Git log/diff/status (read-only) |
| memory | Knowledge graph across sessions |
| sqlite | Query the SQLite under .vibecoder/ |
| context7 | Up-to-date library docs |
| GitHub | Issues/PRs/repo browsing (needs PAT) |
| Notion | Workspace pages (needs Integration token) |
| Brave Search | Web search (free API key) |
After this 9-pack, install Playwright or Puppeteer only if you actually need browser automation (~300 MB Chromium download).