kit-one-tool-mcp

Plantilla de clonar y renombrar para un servidor MCP de una sola herramienta: una herramienta con un esquema de entrada descrito, más 15 pruebas sin conexión que cubren las rutas de fallo (clave faltante, 401, 403, 429, 503, fallo de DNS, cuerpo no JSON, resultado vacío). Se ejecuta sin clave de API y sin red.

Documentación

kit-one-tool-mcp

license MIT tests 15 offline api key not needed listed on glama 8 more servers wired $49

La mayoría de los ejemplos de MCP te muestran el camino feliz y luego fallan en la computadora de alguien con un 401. Este es lo contrario: una herramienta, un esquema descrito y 15 pruebas que son en su mayoría los caminos infelices — clave faltante, 401, 403, 429, 503, fallo de DNS, cuerpo que no es JSON, resultado vacío.

Clónalo, renombra THING, y tienes la forma de un servidor MCP funcional. Es una muestra de cómo se ve una compilación MCP Basic de Kit cuando se entrega.

Si viniste aquí buscando una muestra de MCP con una sola herramienta, un ejemplo de servidor MCP en TypeScript, o una forma de probar una herramienta MCP sin clave de API y sin red, esto es eso.

Es deliberadamente una sola herramienta. Una segunda herramienta, o un Cloudflare Worker, es un Build Packet, no una versión más grande de esto.

¿Quieres tu repositorio configurado para Claude Code primero?

Este repositorio es MIT y está completo — tómalo y ve. Si quieres un CLAUDE.md, una lista de herramientas permitidas y una habilidad conectada para tu repositorio:

Compra Setup Lite — $29 · ~24h, entregado como un PR.

Detalles: kit.sdvsignal.com/#setup-lite · la misma forma que este repositorio construido contra tu API es MCP Basic $199.

Inicio en 60 segundos — sin clave de API, sin red, sin Claude

git clone https://github.com/sdvsignal/kit-one-tool-mcp
cd kit-one-tool-mcp && npm install && npm test

¿Sin git? El mismo árbol rastreado se envía como un archivo en cada lanzamiento: último lanzamiento. Descomprímelo, luego el mismo npm install && npm test.

15 pruebas, todas sin conexión. Tres de ellas levantan un cliente MCP real contra el servidor real a través de un transporte en memoria y llaman a la herramienta, por lo que la conexión se prueba, no solo la función. Si esas pasan, el servidor funciona — no has necesitado una clave todavía.

Añádelo a Claude Code

Hoy, este es el que funciona. Clónalo primero, luego apunta Claude Code al archivo local:

git clone https://github.com/sdvsignal/kit-one-tool-mcp
cd kit-one-tool-mcp && npm install
export THING_API_KEY=...
claude mcp add kit-one-tool -- node "$PWD/src/index.js"

O manualmente en .mcp.json, usando la ruta absoluta a donde lo clonaste:

{
  "mcpServers": {
    "kit-one-tool": {
      "command": "node",
      "args": ["/absolute/path/to/kit-one-tool-mcp/src/index.js"],
      "env": { "THING_API_KEY": "..." }
    }
  }
}

Una vez que esté en npm

@sdvsignal/kit-one-tool-mcp aún no está publicado, por lo que los dos comandos a continuación fallarán con un 404 si los intentas hoy. Están aquí para que sepas en qué se convierte la instalación, no para que la ejecutes ahora:

claude mcp add kit-one-tool-mcp -- npx -y @sdvsignal/kit-one-tool-mcp
{ "mcpServers": { "kit-one-tool-mcp": { "command": "npx", "args": ["-y", "@sdvsignal/kit-one-tool-mcp"] } } }

Nombre del registro: io.github.sdvsignal/kit-one-tool-mcp (ver server.json).

Claude Desktop en su lugar: añade esto al archivo de configuración y reinicia la aplicación.

{
  "mcpServers": {
    "one-tool": {
      "command": "node",
      "args": ["/absolute/path/to/one-tool-mcp/src/index.js"],
      "env": { "THING_API_KEY": "..." }
    }
  }
}

Tu clave vive en tu entorno. No está en este repositorio, y no hay un valor predeterminado que funcione silenciosamente.

Ejecútalo en un contenedor

La misma herramienta, el mismo stdio, nada escuchando en un puerto:

docker build -t one-tool-mcp .
docker run --rm -i -e THING_API_KEY=... one-tool-mcp

-i importa — el servidor habla a través de stdin/stdout, así que sin él no hay nada con qué hablar. Para apuntar Claude Desktop a la imagen en lugar de a node, usa "command": "docker" con "args": ["run", "--rm", "-i", "-e", "THING_API_KEY", "one-tool-mcp"].

Indicación de prueba

Escríbele esto a Claude. Esta es la prueba de que realmente está conectado:

Busca THING para "onboarding" y muéstrame los 3 principales.

Deberías obtener hasta 3 resultados con nombres e ids. Si nada coincide, obtienes No THINGs matched "onboarding", lo cual es correcto y no es un fallo. Decirle al modelo que un resultado vacío está vacío es la mayor parte de por qué deja de reintentar.

Qué hay aquí

ArchivoQué es
src/search-things.jsLa única herramienta. Toma sus dependencias como argumento, por eso es comprobable sin una clave.
src/server.jsConexión del servidor. Registra exactamente una herramienta.
src/index.jsEl punto de entrada. Conecta stdio y nada más.
test/Las 15 pruebas anteriores.
DockerfileConstruye la imagen anterior. Copia el archivo de bloqueo y src/, ejecuta npm ci --omit=dev.

Errores que puedes ver

MensajeSignifica
THING_API_KEY is not setvariable de entorno faltante, o Claude no se reinició después de configurarla
THING rejected the key (401/403)clave incorrecta o revocada
THING rate limit hit (429)espera, luego reintenta
THING returned 503problema de su lado, no tuyo
Could not reach https://...red, o THING_BASE_URL es incorrecto
THING returned something that was not JSONusualmente una página de error HTML de un proxy

Ninguno de ellos devuelve un rastreo de pila. Una herramienta que lanza errores crudos al modelo hace que adivine.

Elimínalo

claude mcp remove one-tool

Claude Desktop: elimina el bloque one-tool y reinicia. El servidor no guarda estado, así que no queda nada atrás.

Hazlo tuyo

  1. Renombra search_things por lo que realmente hace, desde el punto de vista de quien llama.
  2. Escribe el esquema de entrada antes de la implementación. Cada campo descrito, obligatorio vs opcional explícito.
  3. Mantén la descripción dirigida al modelo: di cuándo usar la herramienta, no solo qué es.
  4. Apunta THING_BASE_URL y el encabezado de autenticación a la API real.
  5. Ejecuta npm test, luego ejecuta la indicación de prueba en Claude. Una prueba que pasa no es prueba de que la herramienta funcione contra la API real.

No querías construir uno, querías ocho conectados

La mitad de las personas que llegan aquí desde un directorio de MCP no están construyendo un servidor — quieren los comunes conectados, y chocan con la misma pared cada vez, que es el JSON en lugar del servidor.

MCP Config Pack — $49 son ocho configuraciones listas (filesystem, GitHub, Postgres, context7 y cuatro más), cada una con la indicación de prueba y la condición de aprobación que te dice que está realmente conectado en lugar de solo listado. Sin conexión, sin telemetría, descarga instantánea. Dos de las ocho no necesitan ningún token, así que puedes probar la conexión antes de acercarte a una credencial.

Detalles y la lista completa: kit.sdvsignal.com/#mcp-config-pack. Si prefieres tenerlos conectados en tu repositorio junto con hooks y habilidades, eso es Setup Sprint $99, no esto.

Gratis aquí vs. de pago

Este repositorio es MIT y está completo — la herramienta, las pruebas, la tabla de errores, la ruta de eliminación. Nada se retiene. Si estás construyendo tu propio servidor MCP, tómalo y ve.

De pago es la misma forma construida contra tu API y probada contra ella antes de la entrega, que es la parte que las pruebas sin conexión anteriores deliberadamente no pueden hacer: MCP Basic $199 — una herramienta, el esquema, notas de entrega, una indicación de prueba y la ruta de habilitar/deshabilitar. ¿Necesitas más de una herramienta, o un Worker? Build Packet $399. ¿Solo quieres el repositorio configurado para Claude Code primero? Setup Lite $29 (de vuelta como un PR en 24h) o Setup Sprint $99 (48h). ¿Solo quieres los servidores de otros conectados? MCP Config Pack $49, arriba.

¿Enviando una aplicación iOS encima? Preview Pack $149 es un video de vista previa de App Store según la especificación de Apple, 5 imágenes fijas y 2 rondas de revisión, en 72 horas.

→ Alcance y pedido: kit.sdvsignal.com

Usamos herramientas de IA incluyendo Claude; una persona revisa cada entrega antes de que se envíe. Proyecto independiente, no afiliado con Anthropic.

Preguntas

¿Escribiendo tu primera descripción de herramienta, o quieres una segunda lectura de una? Pégala en Discussions. Respuestas reales, sin registro.

Relacionados

  • kit-claude-code-starter — la configuración completa de Claude Code (CLAUDE.md, lista de permitidos, 3 habilidades), gratis
  • kit-plugins — las mismas habilidades como plugins instalables de Claude Code
  • kit-ios-worker-template — verificación de StoreKit 2 en un Cloudflare Worker, con registro de fallos

Licencia

Licencia MIT. Úsalo para tu propio trabajo, no se necesita atribución.