Skip to main content
Glama

mcp-anything

CI npm License: MIT Node >= 20

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 stdio

Claude Code

claude mcp add anything -- npx -y mcp-anything serve

Claude 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

search_mcp_servers

Stichwortsuche (BM25 + Fuzzy) über die indexierte Registry. Liefert Kandidaten mit einem Verbindbarkeits-Urteil.

describe_mcp_server

Vollständige Registry-Metadaten: Transports, Pakete, benötigte Umgebungsvariablen/Geheimnisse, Policy-Urteil.

list_mcp_tools

Verbindet live (gemäß Policy) und listet die tatsächlichen Tools des Servers mit JSON-Schemas.

call_mcp_tool

Führt ein Tool auf einem nachgelagerten Server aus. Sitzungen werden gepoolt und wiederverwendet.

sync_registry

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 einfaches http: sind blockiert – ein SSRF-Schutz für Registry-Einträge, die in dein Netzwerk zeigen. Opt-out mit remote.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

official (Standard)

Tausende

Moderierte Einträge mit den reichsten Metadaten (Transports, Umgebungsvariablen, Versionen)

pulsemcp

~22k

Breiter Katalog + GitHub-Sterne & Download-Zahlen (speist Ranking)

npm

~67k getaggte Pakete

Der größte rohe Pool an Stdio-Servern, mit monatlichen Downloads

glama

~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/list beliebter Server

  • OAuth-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 server

Siehe CONTRIBUTING.md. Lizenziert unter MIT.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all MCP Connectors

Latest Blog Posts

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