Skip to content
This page has been auto-translated and may contain errors.View in English

Ejecutar Model Context Protocol localmente

Usa esta página para ejecutar el servidor TypeScript MCP extraído y probar su herramienta de clima y recurso en MCP Inspector. El servidor se comunica con su cliente a través de entrada y salida estándar, así que espera a un cliente en lugar de abrir una página de proyecto o un puerto de aplicación.

Lo que necesitas primero

Instala Node 24. MCP Inspector establece una versión mínima de Node (22.19 al momento de escribir esto); Node 24 está por encima de ese mínimo, mientras que una versión LTS más antigua podría no iniciar la interfaz de prueba.

Este proyecto no requiere una clave API ni un archivo .env. Los clientes MCP lanzan el servidor como un proceso hijo, así que la versión de Node y el entorno en el que se ejecuta provienen de lo que lo lance en tu máquina.

JunoLo que necesitas primero Instala Node 24, y esa es toda la lista de requisitos: sin clave API, sin archivo .env. La sorpresa es que este servidor nunca abre una página web; espera en silencio a un cliente, lo que me engañó completamente la primera vez que ejecuté uno.
JunoLo que necesitas primero Node 24 satisface la versión mínima de Node tanto para el servidor TypeScript como para Inspector, así que una instalación cubre ambos. El proyecto se comunica a través de stdio en lugar de un puerto HTTP, así que no esperes una URL que nunca llegará.
JunoLo que necesitas primero El cliente genera este servidor como un proceso hijo, así que la versión de Node y el entorno provienen de lo que lo lance, no de la carpeta del servidor. Por eso la instalación de Node del lado del cliente importa aunque el servidor en sí no necesite clave ni puerto. "El servidor no necesita nada" sigue siendo verdad solo mientras el cliente que lo lanza ejecute una versión de Node compatible.

Instalar y reparar el servidor

Abre una terminal en la carpeta del servidor extraído que contiene package.json:

bash
$ cd path-to-your-downloaded-project
$ npm ci
$ npm install --save-dev tsx

El comando final registra tsx, la herramienta que ejecuta archivos TypeScript, que el script "start": "tsx server.ts" extraído espera.

Puedes iniciar el servidor stdio directamente:

bash
$ npm start

Espera a un cliente MCP en lugar de imprimir una URL del navegador. Detenlo con Ctrl+C antes de iniciar Inspector.

JunoInstalar y reparar el servidor Ejecuta npm ci, agrega la herramienta faltante tsx que ejecuta archivos TypeScript, luego prueba npm start. Cuando la terminal se queda callada, nada está mal: el servidor está esperando a un cliente para hablar con él. ¡Reinicié el mío tres veces antes de que alguien me lo dijera!
JunoInstalar y reparar el servidor El script de inicio del paquete ya espera tsx, así que registrarlo como una dependencia de desarrollo es la reparación más pequeña y repetible. Y un proceso stdio esperando es un inicio exitoso, no una congelación; resiste la tentación de reiniciarlo constantemente.
JunoInstalar y reparar el servidornpm ci instaló solo lo que el lockfile enviado registró, y tsx no estaba en él. Instalar con --save-dev escribe tsx en package.json y el lockfile. Esa dependencia registrada es lo que permite que un cliente lance posteriormente el servidor con npm exec desde cualquier directorio. Las reparaciones registradas en el manifest sobreviven; las que existen solo en el historial de tu shell no.

Pruébalo con MCP Inspector

Desde la misma carpeta del proyecto, ejecuta el MCP Inspector oficial:

bash
$ npx @modelcontextprotocol/inspector npx tsx server.ts

El primer npx descarga e inicia Inspector, y puede pedir permiso para esa instalación única; confirma que el paquete es @modelcontextprotocol/inspector antes de aceptar, y para uso repetible en equipo, fija una versión revisada en lugar de depender indefinidamente de la versión más nueva. Inspector luego lanza tu servidor con npx tsx server.ts como su proceso hijo stdio. Su interfaz web se ejecuta en su propio puerto local, separado de la conexión stdio al servidor. Abre la URL local impresa en la terminal si no se abre automáticamente.

En Inspector, conéctate al servidor, lista sus herramientas y recursos, y llama a la herramienta de clima con una de las entradas usadas en el curso. El capítulo de uso de herramientas explica qué una definición de herramienta como esta le da a un modelo. Deja la terminal abierta mientras pruebas, luego detén Inspector y el servidor hijo con Ctrl+C.

JunoProbar con MCP Inspector Ejecuta el comando de Inspector, abre su URL local, conéctate, luego lista y llama a la herramienta y recurso del curso. Verifica el nombre del paquete antes de aceptar la descarga, del mismo modo que verificarías una dirección web antes de abrirla.
JunoProbar con MCP Inspector Inspector es el cliente aquí y lanza server.ts como su hijo stdio. Verifica el descubrimiento antes de la invocación: si la lista de herramientas está vacía, llamar a cualquier cosa es inútil. Mantén la terminal abierta y detén ambos procesos con Ctrl+C.
JunoProbar con MCP Inspector El comando interno es el mismo contrato de proceso que la siguiente sección da a los clientes de escritorio, así que hacer que funcione aquí significa que la configuración del cliente más adelante es copiar valores en lugar de depurar. Y el puerto de la interfaz web de Inspector está separado del transporte stdio: un puerto ocupado bloquea la interfaz web mientras el servidor en sí sigue ejecutándose.

Conectar otro cliente MCP

Un cliente de escritorio necesita un comando ejecutable y argumentos para lanzar el mismo servidor stdio. Primero, copia las rutas absolutas a la carpeta del proyecto extraído y su archivo server.ts. Configura el cliente con este contrato de proceso, reemplazando ambas rutas de ejemplo:

text
command: npm
arguments:
  - --prefix
  - /absolute/path/to/project
  - exec
  - --
  - tsx
  - /absolute/path/to/project/server.ts

El valor --prefix hace que npm use la dependencia tsx instalada en ese proyecto incluso cuando el cliente de escritorio comienza desde otro directorio de trabajo. Un cliente configurado para ejecutar tsx por su cuenta, sin npm --prefix al frente, depende en cambio de una instalación global y del PATH del cliente, que a menudo difiere del de tu terminal. Mantén cada argumento como un elemento separado para que las rutas que contengan espacios sigan siendo un valor. No agregues una URL o puerto: este servidor se comunica a través de stdio.

Conectar servidores como este es cómo los clientes de escritorio dan a sus modelos herramientas; el capítulo de agentes cubre el ciclo que usa esas herramientas.

Los formatos de configuración del cliente difieren, así que asigna ese comando y esos argumentos a los campos en las instrucciones de configuración MCP actual del cliente. Reinicia el cliente después de cambiar su configuración. No necesitas otra descarga de proyecto: conéctalo al servidor extraído que ya probaste.

JunoConectar otro cliente MCP Establece el comando en npm, agrega los argumentos documentados con ambas rutas absolutas rellenadas, luego reinicia el cliente. Estás reutilizando el mismo servidor extraído que Inspector probó, así que si funcionó allí, el lado del servidor ya está probado.
JunoConectar otro cliente MCP La sintaxis de configuración del cliente varía, pero el contrato de proceso se mantiene igual: npm --prefix selecciona el proyecto, y exec -- tsx lanza su servidor TypeScript a través de stdio. Asigna esas piezas a los nombres de campo que use el cliente.
JunoConectar otro cliente MCP Un cliente configurado para ejecutar tsx por su cuenta funciona solo en máquinas que ya tienen una instalación global, y los clientes de escritorio rara vez heredan el PATH de tu terminal. El comando npm --prefix y exec fija el lanzamiento a la dependencia registrada del proyecto en lugar de eso. Las configuraciones que dependen del entorno de lanzamiento son las que fallan en la segunda máquina.

Solución de problemas

tsx: command not found: Ejecuta npm install --save-dev tsx en la carpeta del proyecto. Para un cliente de escritorio, también confirma que su comando es npm y sus argumentos comienzan con --prefix seguido de la ruta del proyecto absoluta.

Inspector rechaza la versión de Node: Instala Node 24, verifica con node --version, y reabre la terminal.

npm start parece congelarse: Eso es lo esperado para un servidor stdio esperando a un cliente. Usa Inspector para interactuar con él.

Inspector no muestra herramientas: Verifica la terminal en busca de errores de TypeScript o conexión y confirma que el comando final termina con npx tsx server.ts.

JunoSolución de problemas Instala tsx si falta, cambia a Node 24 si Inspector se niega a iniciar, y recuerda que un servidor callado es un servidor esperando, no uno roto. Casi todos los problemas en esta página son uno de esos tres.
JunoSolución de problemas Separa las tres capas de falla: la instalación de tsx, la versión mínima de Node de Inspector, y la conexión stdio en sí. Verifica la salida de la terminal antes de asumir que el registro de herramientas falló; el error real generalmente ya está impreso allí.
JunoSolución de problemas Rastrea la cadena en orden: proceso Inspector externo, comando de lanzamiento hijo, ejecución de TypeScript, inicialización de MCP. Cualquier paso en esa cadena puede dejar la lista de herramientas vacía, y la terminal te dice cuál se rompió si la lees antes de reiniciar las cosas. Reiniciar primero es el instinto común, y rara vez te dice algo.