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! 🚀
관련 서버
Scout Monitoring MCP
스폰서Put performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
스폰서Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MCP Base Server
A base template for creating new MCP servers, designed for easy containerized deployment with Docker.
Google Jules MCP
Automate Google Jules, the AI coding assistant, for tasks like code reviews, repository management, and AI-powered development workflows.
esp-mcp
An MCP server for ESP-IDF workflows, enabling project builds, firmware flashing, and automated issue resolution from build logs.
MCP Low-Level Server Streamable HTTP
A low-level MCP server implementation with streamable HTTP support, configured via environment variables.
AppsAI
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
Docker
Run and manage docker containers, docker compose, and logs
Postman MCP Server
Interact with the Postman API via an MCP server. Requires a Postman API key.
Jupyter Earth MCP Server
Provides tools for geospatial analysis within Jupyter notebooks.
MCP Code Executor
Allows LLMs to execute Python code within a specified and configurable Python environment.
Azure DevOps MCP
Integrates with Azure DevOps, allowing interaction with its services. Requires a Personal Access Token (PAT) for authentication.