mcp-cli-catalog

Un servidor MCP que publica herramientas CLI en tu máquina para que sean detectables por LLMs.

Documentación

mcp-cli-catalog

Un servidor MCP que publica las herramientas CLI de tu máquina. Los agentes de codificación ya tienen acceso al shell y son excelentes generando comandos complejos con tuberías y filtros. Esto solo les indica qué hay disponible para que puedan usar las herramientas MCP de manera más eficiente.

Por qué

  • Los agentes de codificación con LLM pueden encadenar comandos de shell de manera efectiva con tuberías para filtrar y reformar datos complejos.
  • Declarar herramientas CLI como herramientas MCP las hace descubribles para el LLM.

Cómo funciona

  • Este servidor expone tus herramientas CLI como definiciones de herramientas MCP para que el LLM sepa qué hay disponible.
  • Las herramientas MCP definidas en el catálogo solo instruyen al LLM a usar el shell; no ejecutan ninguna herramienta por sí mismas.
  • Se requiere acceso al shell para que el agente realmente ejecute los comandos.

Instalación

Añade el servidor a tu configuración de MCP (por ejemplo, para Claude Code):

{
  "mcpServers": {
    "cli-catalog": {
      "command": "npx",
      "args": ["mcp-cli-catalog"]
    }
  }
}

O con una ruta de catálogo personalizada:

{
  "mcpServers": {
    "cli-catalog": {
      "command": "npx",
      "args": ["mcp-cli-catalog", "--config", "./tools.json"]
    }
  }
}

Configurar herramientas

Añade un archivo de catálogo JSON (por defecto: ~/.mcp-cli-catalog.json) con las herramientas CLI que quieras hacer descubribles:

{
  // JSON Comments are allowed.
  "tools": [
    {
      "name": "knowledge-base-search",
      "description": "Search full text across the knowledge base",
      "usage": "knowledge-base-search 'pattern' | head"
    },
    {
      "name": "knowledge-base-get",
      "description": "Get a knowledge base file",
      "usage": "knowledge-base-get path/to/file.md | sed -n '100,200p'\nknowledge-base-get path/to/file.md | rg 'TODO'"
    }
  ]
}
  • name y description son obligatorios.
  • usage (opcional) aparece como una pista en las respuestas.
  • command (opcional) es la cadena exacta a ejecutar. Si lo omites, se usa la herramienta name.
  • Apunta a un catálogo diferente con --config <path> o MCP_CLI_CATALOG_FILE=<path>.

Prueba

Prueba la configuración de tu servidor con el MCP Inspector:

npx @modelcontextprotocol/inspector npx mcp-cli-catalog

O con un catálogo personalizado:

npx @modelcontextprotocol/inspector npx mcp-cli-catalog --config ./tools.json

Desarrollo

  • npm run dev: ejecutar directamente desde src/index.js
  • npm run build: compilar a dist/index.js y corregir permisos
  • npm start: ejecutar el servidor compilado desde dist/index.js

Enfoques alternativos

El "Code Mode" de Cloudflare1 y la publicación de Anthropic sobre ejecución de código con MCP2 exploran una forma diferente de resolver los desafíos de las herramientas MCP. Su enfoque proporciona herramientas MCP a través de un SDK al LLM, que escribe código para llamar y procesar esas herramientas. Este proyecto toma un camino más simple: construir herramientas CLI y hacerlas descubribles a través del catálogo de herramientas MCP.


  1. Cloudflare, "Code Mode," 2025.
  2. Anthropic, "Code execution with MCP," 2025.