Skip to main content
Glama

mcp-anything

CI npm License: MIT Node >= 20

Un servidor MCP que puede descubrir y llamar a (casi) cualquier servidor MCP del mundo.

mcp-anything es un servidor MCP meta: en lugar de configurar docenas de servidores MCP en tu host (Claude Desktop, Claude Code, Cursor, ...), configuras exactamente uno. Indexa el registro oficial de MCP localmente y expone cinco meta-herramientas pequeñas que permiten al modelo buscar servidores, inspeccionarlos y llamar a sus herramientas sobre la marcha, sin cargar nunca miles de esquemas de herramientas en la ventana de contexto.

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)

Por qué

  • Descubrimiento: existen miles de servidores MCP; tu host solo conoce los que configuraste manualmente.

  • Contexto: cargar muchos servidores consume tu ventana de contexto. Las meta-herramientas mantienen el costo constante: el modelo busca capacidades en dos fases (buscar → inspeccionar → llamar), el mismo patrón que usa la búsqueda de herramientas de Anthropic.

  • Una configuración: una sola entrada en la configuración de tu cliente MCP en lugar de una por servidor.

Inicio rápido

# 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 / otros hosts

{
  "mcpServers": {
    "anything": {
      "command": "npx",
      "args": ["-y", "mcp-anything", "serve"]
    }
  }
}

Luego solo pídele a tu modelo cosas como "encuentra un servidor MCP que pueda consultar Postgres y lista sus herramientas" — usará las meta-herramientas por sí mismo.

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)

Las meta-herramientas

Herramienta

Qué hace

search_mcp_servers

Búsqueda por palabras clave (BM25 + difusa) sobre el registro indexado. Devuelve candidatos con un veredicto de conectividad.

describe_mcp_server

Metadatos completos del registro: transportes, paquetes, variables de entorno / secretos requeridos, veredicto de política.

list_mcp_tools

Se conecta en vivo (según la política) y lista las herramientas reales del servidor con esquemas JSON.

call_mcp_tool

Ejecuta una herramienta en un servidor downstream. Las sesiones se agrupan y reutilizan.

sync_registry

Fuerza una actualización del índice (de lo contrario, se actualiza automáticamente al expirar el TTL).

Modelo de seguridad

Conectar un LLM a servidores arbitrarios de un registro público es peligroso por defecto. mcp-anything viene con valores predeterminados conservadores y hace explícita cada relajación:

  • Servidores remotos (streamable-http / sse): permitidos, pero las direcciones privadas/loopback/link-local (incluidos los endpoints de metadatos de la nube como 169.254.169.254) y http: simple están bloqueados: una protección SSRF para entradas del registro que apuntan a tu red. Puedes desactivarla con remote.allowPrivateNetwork (útil solo para desarrollo local).

  • Servidores stdio (que lanzan procesos npx / uvx): deshabilitados por defecto. Ejecutar un paquete de un registro público es ejecución de código arbitrario en tu máquina. Actívalo solo con una lista blanca explícita por paquete.

  • Secretos: las claves de API nunca se indexan ni se exponen al modelo. Las asignas por servidor en tu configuración; se inyectan al momento de la conexión (cabeceras para remoto, env para stdio).

  • Salida no confiable: los resultados y las descripciones de herramientas de servidores downstream se etiquetan como datos de terceros para que el modelo los trate como datos, no como instrucciones. Esto reduce el riesgo de inyección de prompts; no lo elimina — consulta SECURITY.md.

  • Límites: tiempos de espera de conexión/llamada, truncamiento del tamaño de la respuesta, grupo de sesiones acotado.

Configuración

~/.config/mcp-anything/config.json (o --config <ruta>, o 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
    }
  }
}

Cada campo es opcional; los valores predeterminados anteriores (menos los ejemplos de cabeceras/env) son lo que obtienes sin configuración alguna. registryUrl acepta cualquier registro que implemente la API REST oficial, incluido uno privado/autohospedado.

Fuentes de índice — ampliando el alcance

sources controla cuánto del ecosistema se indexa:

Fuente

Escala

Qué añade

official (predeterminada)

miles

Entradas moderadas con los metadatos más ricos (transportes, variables de entorno, versiones)

pulsemcp

~22k

Catálogo amplio + estrellas de GitHub y recuentos de descargas (alimentan el ranking)

npm

~67k paquetes etiquetados

El mayor grupo bruto de servidores stdio, con descargas mensuales

glama

~75k

El índice más amplio (adaptador de mejor esfuerzo)

{ "sources": ["official", "pulsemcp", "npm"] }

Las entradas que aparecen en varios catálogos se deduplican por URL de repositorio normalizada e identificador de paquete; la fuente más confiable gana la identidad, los metadatos se completan desde las demás, y las estrellas/descargas se acumulan. El ranking combina entonces la relevancia BM25 con un impulso de popularidad logarítmico (y una bonificación para entradas del registro oficial), de modo que search_mcp_servers muestra la implementación mantenida de una capacidad en lugar del clon abandonado número cien. qualityFilter (activado por defecto) descarta entradas sin forma de conectarse y sin descripción utilizable — con fuentes amplias, más solo es mejor si la basura se mantiene fuera del top-5. Una fuente que falla se degrada con elegancia: la sincronización conserva lo que devolvieron las otras fuentes e informa del fallo.

Notas de diseño

  • Búsqueda léxica, no embeddings. Totalmente local, costo de API cero, sin paso de construcción de índice — y para el descubrimiento de herramientas, la búsqueda por palabras clave con coincidencia difusa funciona de manera comparable en la práctica (la búsqueda de herramientas de Anthropic tomó la misma decisión con BM25/regex).

  • Sesiones, no llamadas sin estado. MCP está orientado a sesiones (handshake de inicialización, negociación de capacidades). Las conexiones downstream se agrupan y reutilizan entre llamadas con evicción LRU.

  • Degradación elegante. Si el registro no está disponible, la caché de la última sincronización sigue funcionando.

Trabajo previo y posicionamiento

Este espacio está activo: MetaMCP y otras pasarelas agregan servidores que configuras; Rube de Composio enruta a su propio catálogo curado; los hosts están incorporando búsqueda nativa de herramientas. El nicho de mcp-anything es la combinación abierta: el registro público como catálogo, un binario único local-primero y una política de seguridad explícita — sin cuenta en la nube, sin bloqueo de curación, autohospedable contra un registro privado.

Hoja de ruta

  • Comprobaciones de salud en vivo y señales de calidad de resultados en el ranking

  • Búsqueda por herramienta (no solo por servidor) indexando tools/list de servidores populares

  • Paso de flujo OAuth para servidores remotos que lo requieran

  • Sandboxing de contenedor/Wasm para servidores stdio como alternativa a la lista blanca

  • Múltiples registros con federación y deduplicación

  • Modo de servicio streamable-http opcional (para despliegue compartido/equipo)

Desarrollo

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

Consulta CONTRIBUTING.md. Licencia 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