mcp-anything
mcp-anything
Ein MCP-Server, der (fast) jeden MCP-Server der Welt entdecken und aufrufen kann.
mcp-anything ist ein Meta-MCP-Server: Statt Dutzende MCP-Server in deinem Host (Claude Desktop, Claude Code, Cursor, ...) zu konfigurieren, konfigurierst du genau einen. Er indexiert die offizielle MCP-Registry lokal und stellt fünf kleine Meta-Tools bereit, mit denen das Modell nach Servern suchen, sie inspizieren und ihre Tools spontan aufrufen kann – ohne jemals Tausende von Tool-Schemas in den Kontext zu laden.
Host / LLM
│ (5 meta-tools, constant context cost)
▼
mcp-anything ──── local BM25 index ◄──┬── official MCP registry (moderated, richest metadata)
│ (cross-source dedupe, ├── PulseMCP (~22k servers, stars & downloads)
│ popularity-boosted ├── npm (~67k packages tagged mcp)
│ ranking) └── Glama (~75k indexed servers)
│
│ security policy: SSRF guard · stdio allowlist · secrets injection · timeouts
▼
downstream MCP servers (streamable-http / sse / stdio via npx·uvx)Warum
Entdeckung: Es gibt Tausende von MCP-Servern; dein Host kennt nur die, die du manuell konfiguriert hast.
Kontext: Das Laden vieler Server verbraucht dein Kontextfenster. Meta-Tools halten die Kosten konstant – das Modell sucht in zwei Phasen nach Fähigkeiten (Suche → Inspektion → Aufruf), dasselbe Muster, das Anthropic's Tool Search verwendet.
Eine Konfiguration: Ein einziger Eintrag in deiner MCP-Client-Konfiguration statt einem pro Server.
Schnellstart
# Run directly (Node >= 20):
npx mcp-anything sync # first-time index download (~few seconds)
npx mcp-anything serve # start the meta-MCP server on stdioClaude Code
claude mcp add anything -- npx -y mcp-anything serveClaude Desktop / andere Hosts
{
"mcpServers": {
"anything": {
"command": "npx",
"args": ["-y", "mcp-anything", "serve"]
}
}
}Dann frag einfach dein Modell z. B. „finde einen MCP-Server, der Postgres abfragen kann, und liste seine Tools" – es wird die Meta-Tools von selbst verwenden.
CLI
mcp-anything sync # refresh the registry index
mcp-anything search "weather" # search the index from your terminal
mcp-anything serve # stdio MCP server (default command)Die Meta-Tools
Tool | Was es tut |
| Stichwortsuche (BM25 + Fuzzy) über die indexierte Registry. Liefert Kandidaten mit einem Verbindbarkeits-Urteil. |
| Vollständige Registry-Metadaten: Transports, Pakete, benötigte Umgebungsvariablen/Geheimnisse, Policy-Urteil. |
| Verbindet live (gemäß Policy) und listet die tatsächlichen Tools des Servers mit JSON-Schemas. |
| Führt ein Tool auf einem nachgelagerten Server aus. Sitzungen werden gepoolt und wiederverwendet. |
| Erzwingt eine Index-Aktualisierung (ansonsten automatisch bei TTL-Ablauf). |
Sicherheitsmodell
Das Verbinden eines LLM mit beliebigen Servern aus einer öffentlichen Registry ist standardmäßig gefährlich. mcp-anything wird mit konservativen Standardeinstellungen ausgeliefert und macht jede Lockerung explizit:
Remote-Server (streamable-http / sse): erlaubt, aber private/loopback/link-lokale Adressen (einschließlich Cloud-Metadaten-Endpunkte wie
169.254.169.254) und einfacheshttp:sind blockiert – ein SSRF-Schutz für Registry-Einträge, die in dein Netzwerk zeigen. Opt-out mitremote.allowPrivateNetwork(nur für lokale Entwicklung nützlich).Stdio-Server (Starten von
npx/uvx-Prozessen): standardmäßig deaktiviert. Das Ausführen eines Pakets aus einer öffentlichen Registry ist beliebige Codeausführung auf deinem Rechner. Aktiviere es nur mit einer expliziten Whitelist pro Paket.Geheimnisse: API-Schlüssel werden niemals indexiert oder dem Modell ausgesetzt. Du ordnest sie pro Server in deiner Konfiguration zu; sie werden bei der Verbindung injiziert (Header für Remote, Umgebung für Stdio).
Nicht vertrauenswürdige Ausgabe: Ergebnisse und Tool-Beschreibungen von nachgelagerten Servern werden als Drittanbieter-Daten gekennzeichnet, damit das Modell sie als Daten und nicht als Anweisungen behandelt. Dies reduziert das Risiko von Prompt-Injection; es beseitigt es nicht – siehe SECURITY.md.
Grenzen: Verbindungs-/Aufruf-Timeouts, Antwortgrößen-Kürzung, begrenzter Sitzungspool.
Konfiguration
~/.config/mcp-anything/config.json (oder --config <Pfad>, oder MCP_ANYTHING_CONFIG):
{
"registryUrl": "https://registry.modelcontextprotocol.io",
"sources": ["official"],
"qualityFilter": true,
"cacheTtlHours": 24,
"maxServers": 10000,
"policy": {
"remote": {
"enabled": true,
"allowPrivateNetwork": false,
"headers": {
"io.github.example/github": { "Authorization": "Bearer ghp_..." }
}
},
"stdio": {
"enabled": false,
"allowPackages": ["@modelcontextprotocol/server-filesystem"],
"env": {
"io.github.example/postgres": { "DATABASE_URL": "postgres://..." }
}
},
"limits": {
"callTimeoutMs": 60000,
"connectTimeoutMs": 20000,
"maxSessions": 8,
"maxResultChars": 100000
}
}
}Jedes Feld ist optional; die obigen Standardwerte (abzüglich der Beispiel-Header/Umgebung) sind das, was du ohne Konfiguration erhältst. registryUrl akzeptiert jede Registry, die die offizielle REST-API implementiert – einschließlich einer privaten/self-gehosteten.
Indexquellen – breit aufstellen
sources steuert, wie viel des Ökosystems indexiert wird:
Quelle | Umfang | Was sie hinzufügt |
| Tausende | Moderierte Einträge mit den reichsten Metadaten (Transports, Umgebungsvariablen, Versionen) |
| ~22k | Breiter Katalog + GitHub-Sterne & Download-Zahlen (speist Ranking) |
| ~67k getaggte Pakete | Der größte rohe Pool an Stdio-Servern, mit monatlichen Downloads |
| ~75k | Der breiteste Index (Best-Effort-Adapter) |
{ "sources": ["official", "pulsemcp", "npm"] }Einträge, die in mehreren Katalogen erscheinen, werden dedupliziert nach normalisierter Repository-URL und Paketkennung; die vertrauenswürdigste Quelle gewinnt die Identität, Metadaten werden von den anderen nachgefüllt, und Sterne/Downloads akkumulieren. Das Ranking kombiniert dann BM25-Relevanz mit einem logarithmisch skalierten Beliebtheits-Boost (und einem Bonus für offizielle Registry-Einträge), sodass search_mcp_servers die gepflegte Implementierung einer Fähigkeit anzeigt und nicht den hundertsten verlassenen Klon. qualityFilter (standardmäßig aktiv) verwirft Einträge ohne Verbindungsmöglichkeit und ohne brauchbare Beschreibung – bei breiten Quellen ist mehr nur besser, wenn der Müll aus den Top-5 herausbleibt. Eine fehlgeschlagene Quelle degradiert elegant: Die Synchronisierung behält, was die anderen Quellen geliefert haben, und meldet den Fehler.
Designhinweise
Lexikalische Suche, keine Embeddings. Vollständig lokal, null API-Kosten, kein Index-Build-Schritt – und für die Tool-Entdeckung funktioniert Stichwortsuche mit Fuzzy-Matching in der Praxis vergleichbar (Anthropic's Tool Search hat mit BM25/Regex dieselbe Entscheidung getroffen).
Sitzungen, keine zustandslosen Aufrufe. MCP ist sitzungsorientiert (Initialize-Handshake, Fähigkeitsverhandlung). Nachgelagerte Verbindungen werden gepoolt und über Aufrufe hinweg mit LRU-Eviction wiederverwendet.
Graceful Degradation. Wenn die Registry nicht erreichbar ist, funktioniert der zuletzt synchronisierte Cache weiter.
Vorherige Arbeiten & Positionierung
Dieser Bereich ist aktiv: MetaMCP und andere Gateways aggregieren Server, die du konfigurierst; Composio's Rube leitet zu seinem eigenen kuratierten Katalog; Hosts wachsen mit nativer Tool-Suche. Die Nische von mcp-anything ist die offene Kombination: die öffentliche Registry als Katalog, ein lokales Single-Binary und eine explizite Sicherheitsrichtlinie – kein Cloud-Konto, keine Kuratierungs-Sperre, selbst-hostbar gegen eine private Registry.
Roadmap
Live-Health-Checks und Ergebnisqualitäts-Signale im Ranking
Suche pro Tool (nicht nur pro Server) durch Indexierung von
tools/listbeliebter ServerOAuth-Flow-Durchreichung für Remote-Server, die dies erfordern
Container/Wasm-Sandboxing für Stdio-Server als Alternative zur Whitelist
Mehrere Registries mit Föderation und Dedupe
Optionaler streamable-http-Serving-Modus (für gemeinsame/Team-Bereitstellung)
Entwicklung
npm install
npm test # unit + end-to-end (mock registry + real downstream MCP server)
npm run typecheck
npm run build
node scripts/smoke.mjs # spawns the built CLI as a real stdio MCP serverSiehe CONTRIBUTING.md. Lizenziert unter MIT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Find and call the right MCP server for any task - pay per use, no install.
Search and browse every MCP server in the Model Context Protocol registry.
MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dror-Bengal/mcp-anything'
If you have feedback or need assistance with the MCP directory API, please join our Discord server