👋 ¡Hola devs!
Hoy les traigo algo que me voló la cabeza: Model Context Protocol (MCP).
Armé un servidor MCP en Node.js, lo conecté con Claude como cliente, y lo uní a una API real. ¿El resultado? 🤯
Claude puede ejecutar herramientas en tiempo real, como consultar frases, crearlas, modificarlas o borrarlas.
🧠 ¿Qué es MCP?
Model Context Protocol (MCP) es un nuevo estándar que permite a los modelos de lenguaje (como Claude o GPT) descubrir y ejecutar herramientas reales de forma estructurada.
En lugar de "hacer fetch" con instrucciones ambiguas, un LLM ahora puede preguntar:
“¿Qué herramientas tengo disponibles?”
“Quiero ejecutargetPhraseById
con el parámetroid: 1
.”
Y el servidor responde con datos reales.
Esto cambia todo en términos de cómo conectamos IA con nuestros sistemas.
⚒️ ¿Qué construí?
Para esta demo, monté todo el flujo completo entre Claude, un servidor MCP y una API real.
📊 Diagrama del flujo general
Así se ve el flujo básico que armé:
Claude Desktop funciona como cliente MCP.
Cuando le haces una pregunta, ejecuta herramientas desde un servidor MCP en Node.js,
que a su vez consulta una API (en este caso, simulada con MockAPI.io, pero puede ser cualquier fuente real).
Usé MockAPI.io para simular una API de frases:
{
"id": "1",
"author": "Ronnie",
"text": "hola a todos"
}
Luego creé un servidor MCP en Node.js con TypeScript que expone varias herramientas:
-
getAllPhrases
📚 -
getPhrase
🔍 -
getPhraseById
🆔 -
createPhrase
✍️ -
updatePhrase
🔁 -
deletePhrase
🗑️
Cada tool es una función que el modelo puede descubrir y ejecutar a través del protocolo.
🤖 Claude ejecutando herramientas reales
Cuando conectas Claude como cliente MCP, puede hacer cosas como:
"¿Cuál es la frase de Ronnie hoy?"
🧠 Claude llama agetPhrase
.
Luego puedes actualizarla con algo como:
"Actualiza la frase de Ronnie a '¡Vamos con todo!'"
🛠️ Claude ejecutaupdatePhrase
con los nuevos datos.
Y todo esto sucede sin que el modelo conozca los detalles de tu API.
Solo utiliza el protocolo MCP para descubrir, ejecutar y recibir respuestas.
🖼️ Ejemplo real de Claude ejecutando herramientas
Cuando Claude necesita ejecutar una herramienta, te pedirá permiso:
Claude preguntando por frases disponibles y detectando tools MCP:
Y una vez autorizado, puede crear contenido dinámicamente:
🧰 Tecnologías usadas
- Node.js + ES Modules
- TypeScript
- @modelcontextprotocol/sdk
- MockAPI.io
- Claude (modo local con config.json)
🗂️ Repo completo
📦 Código público y listo para clonar:
👉 https://github.com/ronniemh/phrases-MCP-server
git clone https://github.com/ronniemh/phrases-MCP-server
cd phrases-MCP-server
npm install
npm run build
🧪 ¿Cómo probar tu servidor MCP con Claude Desktop?
Este proyecto está diseñado para funcionar con Claude Desktop, que soporta el protocolo MCP de forma local.
👉 Guía oficial: https://modelcontextprotocol.io/quickstart/user
⚙️ Vista técnica: herramientas + datos reales
Claude no solo te responde: está consultando y modificando datos reales.
Este es un ejemplo de las frases generadas, vistas desde una herramienta como Apidog:
Incluso puedes enriquecer los datos con detalles adicionales:
🛠️ 1. Instala Claude Desktop
Descárgalo desde:
➡️ https://claude.ai/desktop
🛠️ Asegúrate de tener Node.js instalado
Verifícalo corriendo:node --version
en la terminal.
🛠️ 2. Configura tu archivo claude_desktop_config.json
Abre Claude Desktop, ve a:
Esto abrirá el archivo de configuración:
-
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
-
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Reemplaza su contenido con algo como esto:
{
"mcpServers": {
"phrases": {
"command": "node",
"args": [
"/ruta/a/tu/proyecto/build/index.js"
]
}
}
}
🔄 3. Reinicia Claude Desktop
Después de guardar el archivo, cierra y vuelve a abrir Claude Desktop.
Si todo está bien, verás un ícono de herramientas (🔨) en la esquina inferior derecha.
Desde ahí, Claude detectará tus tools MCP como getPhrase
, updatePhrase
, etc.
💬 4. Prueba desde la conversación
Ya puedes escribir directamente en Claude:
"¿Cuál es la frase de Ronnie hoy?"
Claude ejecutará getPhrase
y consultará tu API.
Luego prueba con otra frase:
"Actualiza la frase de Ronnie a '¡Aquí probando Claude con MCP!'"
Claude ejecutará updatePhrase
con el nuevo texto y verás la frase actualizada en tiempo real.
📎 Más detalles, soluciones y ejemplos están en la
🔗 guía oficial de Claude Desktop para MCP
🗣️ Chat real con Claude
¿Quieres ver cómo fue la conversación completa?
👉 Ver el chat completo con Claude
🚀 ¿Y ahora qué?
Model Context Protocol ya no es una promesa futura... está ocurriendo ahora.
🌱 El ecosistema no para de crecer
Cada vez más clientes MCP están apareciendo:
Claude Desktop, Continue, Cline, Cursor, entre otros, ya lo están integrando.
🔗 Lista completa: https://modelcontextprotocol.io/clients
🧠 Por qué es importante
MCP transforma cómo los modelos de lenguaje interactúan con sistemas reales.
Ya no solo responden. Ahora pueden:
- Ejecutar funciones
- Accionar herramientas
- Modificar datos reales
Todo con:
- 📦 Estructura: el modelo sabe qué tools existen
- 🧭 Contexto: sabe cómo usarlas
- 🔐 Seguridad: no ejecuta sin permiso
☁️ Más allá de lo local
Ahora puedes desplegar servidores MCP en la nube (por ejemplo, con Cloudflare Workers), lo que permite:
- Conectar desde cualquier cliente, ya sea de escritorio o navegador
- Compartir herramientas con otros usuarios
- Controlar el acceso con OAuth y permisos
⚙️ ¿Qué cambia con esto?
Los modelos pueden actuar sobre sistemas reales, sin importar dónde estén corriendo.
💡 Desde tu app de escritorio o navegador, un modelo ahora puede ejecutar código o modificar datos,
de forma segura, estructurada y escalable.
👉 ¿Qué ideas se te ocurren para integrar MCP con tus sistemas?
¿Y si le das al modelo acceso a tu CRM, ERP o base de datos?
🔥 El futuro ya arrancó.
🙋♂️ ¿Y tú?
¿Estás pensando en conectar tus herramientas o proyectos con MCP?
💬 Déjame un comentario, cuéntame qué estás construyendo o si te gustaría que arme una demo más avanzada (por ejemplo: con bases de datos, agentes, permisos, etc).
👉 Si te gustó este experimento, compártelo con alguien que esté armando agentes o LLM apps.
Y si quieres que pruebe conectar esto con una base de datos real, auth o procesos más complejos, ¡avísame!