MCP POC
A proof-of-concept MCP server built with Node.js and TypeScript, compatible with Claude Desktop.
MCP POC - Model Context Protocol Server
Un servidor MCP (Model Context Protocol) desarrollado en Node.js/TypeScript con arquitectura modular que es compatible con Claude Desktop.
¿Qué es MCP?
El Model Context Protocol (MCP) es un protocolo abierto desarrollado por Anthropic que permite a los modelos de IA interactuar de forma segura con herramientas y fuentes de datos externas. Piensa en MCP como el "USB-C" de las integraciones de IA: un estándar único que conecta muchos servicios.
Componentes de MCP:
- Servidores MCP: Actúan como puentes hacia APIs, bases de datos o código
- Clientes MCP: Utilizan el protocolo para interactuar con los servidores
- Hosts MCP: Sistemas que gestionan la comunicación (como Claude Desktop)
Características
Este servidor MCP incluye tres herramientas de ejemplo:
- greeting - Genera saludos personalizados en español (formal/informal)
- calculator - Realiza operaciones matemáticas básicas (suma, resta, multiplicación, división)
- get_current_datetime - Obtiene la fecha y hora actual en diferentes formatos
Instalación
🚀 Opción 1: Desde NPM (Recomendado)
# Instalar globalmente
npm install -g @sokardys/mcp-poc
# O usar npx (sin instalación)
npx sokardys-mcp-poc
💻 Opción 2: Desarrollo local
git clone <tu-repositorio>
cd mcp-poc
npm install
npm run build
3. Configurar Claude Desktop
Edita el archivo de configuración de Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Añade la configuración del servidor:
Para instalación NPM:
{
"mcpServers": {
"mcp-poc": {
"command": "npx",
"args": ["@sokardys/mcp-poc@latest"],
"env": {
}
}
}
}
Para desarrollo local:
{
"mcpServers": {
"mcp-poc": {
"command": "node",
"args": [
"/ruta/completa/a/tu/proyecto/mcp-poc/build/index.js"
]
}
}
}
Importante: Para desarrollo local, cambia /ruta/completa/a/tu/proyecto/mcp-poc/
por la ruta real donde clonaste el proyecto.
4. Reiniciar Claude Desktop
Cierra y vuelve a abrir Claude Desktop para cargar la nueva configuración.
Uso
Una vez configurado, puedes usar las herramientas en Claude Desktop:
Ejemplos de uso:
- Saludo: "Saluda a María de forma formal" → Usa
greeting
- Cálculo: "Calcula 15 × 8" → Usa
calculator
- Fecha: "¿Qué hora es?" → Usa
get_current_datetime
Herramientas disponibles:
Herramienta | Descripción | Parámetros |
---|---|---|
greeting | Saludos personalizados | name (string), formal (boolean) |
calculator | Operaciones matemáticas | operation (add/subtract/multiply/divide), a (number), b (number) |
get_current_datetime | Fecha y hora actual | format (short/long/iso) |
Scripts disponibles
# Compilar el proyecto
npm run build
# Modo desarrollo (recompilación automática)
npm run dev
# Ejecutar directamente (después de compilar)
npm start
# Inspeccionar el servidor MCP
npm run inspector
# Testing
npm test # Ejecutar todos los tests
npm run test:watch # Tests en modo watch
npm run test:ui # Interfaz visual de tests
npm run test:coverage # Tests con cobertura de código
Testing
Este proyecto incluye un suite completo de tests usando Vitest y mcpgod:
Ejecutar tests
# Tests básicos
npm test
# Tests en modo watch (reejecutar al cambiar código)
npm run test:watch
# Interfaz visual para tests
npm run test:ui
# Tests con reporte de cobertura
npm run test:coverage
Qué se testea
Los tests validan:
✅ Lista de herramientas - Verifica que todas las herramientas están disponibles ✅ Herramienta greeting - Formatos formal e informal, nombres personalizados ✅ Calculadora - Suma, resta, multiplicación, división con validación Zod ✅ Manejo de errores - División por cero, parámetros faltantes, McpError apropiados ✅ Fecha y hora - Diferentes formatos (corto, largo, ISO), zonas horarias ✅ Validación de entrada - Schemas Zod, tipos incorrectos, parámetros requeridos ✅ Arquitectura modular - Separación resolver/usecase, orquestador central
Pruebas manuales con mcpgod
# Listar herramientas disponibles
npx mcpgod tools build/index.js
# Probar herramientas específicas
npx mcpgod tool build/index.js greeting name="Ana" formal=true
npx mcpgod tool build/index.js calculator operation="add" a=15 b=25
npx mcpgod tool build/index.js get_current_datetime format="long"
Recursos adicionales
- Documentación oficial de MCP
- Servidor de referencia de Anthropic
- SDK de TypeScript
- Vitest - Framework de testing
- mcpgod - CLI para MCP
Licencia
MIT - consulta el archivo LICENSE para más detalles.
¡Disfruta construyendo herramientas increíbles con MCP! 🚀
Related Servers
DDEV MCP Server
Manage DDEV projects, enabling LLM applications to interact with local development environments through the MCP protocol.
Dieter Rams
Evaluates product designs against Dieter Rams' 10 principles of good design.
Starwind UI
A server providing tools for developers working with Starwind UI components.
Storyblok MCP Server
Manage your Storyblok CMS using natural language through AI tools.
Image Tools MCP
Retrieve image dimensions and compress images from URLs or local files using Tinify and Figma APIs.
iOS Development Bridge (idb)
Interact with iOS simulators and devices using Facebook's iOS Development Bridge (idb).
Pickapicon
Quickly retrieve SVGs using the Iconify API, with no external data files required.
AntBot MCP Server
A TypeScript MCP server for integrating with the AntBot AI-based RPA platform, handling tool listing and execution.
UUID MCP Provider
Generates timestamp-based unique identifiers using UUID v7.
MCP Project Initializer
Automates the setup of new AI-powered MCP server development projects.