MCP

Guía de inicio de MCP Starter Kit: conecta tu API de backend de forma segura a agentes de IA

MCP Starter Kit es ideal para desarrolladores con una API de backend ya existente que quieran montar rápidamente un servidor MCP seguro invocable desde Claude o ChatGPT; para empezar necesitas condiciones de hosting con TLS y rellenar tú mismo el .env e implementar las herramientas.

Official source · GitHub - fdhhhdjd/MCP-STARTER-KIT: Build a secure, production-ready MCP server for any project

Install

npm install && npm run build

MCP Starter Kit es un scaffolding agnóstico del proyecto para levantar un servidor MCP (Model Context Protocol) seguro y listo para producción en cualquier proyecto: cada herramienta se mapea a un endpoint del backend, la autenticación se hace con API key + scopes, y se conectan agentes de IA (Claude Desktop/Web, ChatGPT o agentes propios) a tu API de backend. Si solo quieres probar herramientas ya hechas, no es para ti: requiere que tengas una API de backend, que puedas alojar el servicio y que aceptes un flujo de construcción y despliegue.

Para quién es

  • Desarrolladores que quieren que su API de backend sea llamada de forma segura por agentes como Claude o ChatGPT.
  • Equipos que necesitan un tool por endpoint y control de permisos con API key + scopes; por defecto es de solo lectura, salvo que añadas explícitamente un scope de escritura.
  • Casos que requieren acceso en línea (Streamable HTTP, multi-cliente) y vía Claude Desktop (stdio), o autenticación OAuth 2.0 sin estado (PKCE S256) frente a API key por header.
  • No es adecuado para: usuarios sin API de backend, sin condiciones de hosting con TLS, o que no quieran hacer ningún cambio de código ni de configuración. La documentación oficial no detalla los costos de hosting ni los requisitos del entorno de ejecución; estas incógnitas deben verificarse por tu cuenta.

Primer intento en 3 minutos

Se recomienda que el primer intento consista en construir el propio scaffolding y verificar la conexión (la llamada a endpoints reales ocurre después de configurar tus herramientas):

  1. Requisitos previos: Node/npm instalados; un dominio con TLS disponible (el servicio debe alojarse detrás de TLS, con la ruta /mcp).
  2. Sigue la ruta de plantillas del README: entra en templates/, renombra gitignore a .gitignore, sustituye __PROJECT__ por el nombre de tu proyecto, rellena el .env y añade tus herramientas en src/server.ts.
  3. Ejecuta el comando de compilación oficial:
npm install && npm run build
  1. Aloja el servicio detrás de TLS (ruta /mcp) y, desde Claude Desktop, conéctate con mcp-remote y valida una vez (la inicialización de la conexión es una acción de bajo riesgo; la key se valida contra el backend durante initialize):
npx -y mcp-remote https://<domain>/mcp --header "Authorization: Bearer <key>"

Señal de éxito: el cliente completa initialize y la validación de la key en el backend es correcta (la documentación oficial indica que esto bloquea las peticiones no autenticadas durante la inicialización). En Claude Web se usa un conector personalizado, con la URL /mcp y el header x-api-key. Nota: <domain> y <key> en los comandos anteriores son valores reales que debes sustituir; rellenar las claves en el .env es una escritura de estado local, no una operación de solo lectura.

Casos de uso

  1. Llamar a tus endpoints de backend de solo lectura desde Claude Desktop: tras completar la compilación y el hosting con TLS según el camino principal anterior, conéctate en Claude Desktop a /mcp vía mcp-remote con una key Bearer. Como el modo por defecto es de solo lectura, salvo que añadas explícitamente un scope de escritura, las llamadas no activarán operaciones de escritura en el backend —esto es lo que declara la documentación oficial, pero no equivale a cero riesgo; la key se sigue validando contra el backend y pasa a través de mcp-remote.
  2. Conectar el mismo servicio desde Claude Web con un conector personalizado: en Claude Web, configura un conector personalizado con la URL /mcp y el header x-api-key. Se puede confirmar hasta el establecimiento de la conexión; el formato de salida de una herramienta concreta depende de cómo la implementes en src/server.ts, y la evidencia oficial no incluye ejemplos de herramientas, por lo que no se puede predecir más.

Límites de uso

  • Naturaleza de lectura/escritura: la plantilla es de solo lectura por defecto; la capacidad de escritura requiere añadir un scope explícitamente. Las escrituras son escrituras remotas; antes de ejecutarlas, confirma los efectos secundarios.
  • Credenciales: la autenticación usa API key (u OAuth 2.0 sin estado con PKCE S256 como opción); el .env debe rellenarse con la configuración, lo que constituye estado sensible local.
  • Logs: los logs de auditoría se envían a stderr, dejando stdout reservado para JSON-RPC; al depurar, ten en cuenta la diferencia entre canales.
  • Límites de los mecanismos de seguridad: la key se valida en initialize para bloquear el uso no autenticado; el modo de solo lectura por defecto y la validación en initialize significan que no se ejecutan escrituras y que la key se verifica, pero no implican que no haya acceso a la red ni otros límites de privacidad.
  • Información sin confirmar: la evidencia oficial no indica el formato detallado de los archivos de configuración de cada cliente, los requisitos de las plataformas de hosting, ni ejemplos concretos de implementación de endpoints/herramientas; antes del primer uso debes consultar el repositorio y verificarlo por tu cuenta.