Utility MCP Server
Servidor MCP de Utilidades
Un servidor del Protocolo de Contexto de Modelo (MCP) completo que proporciona herramientas, recursos y prompts de utilidad. Construido con TypeScript y el SDK de MCP moderno.
📁 Estructura del Proyecto
El proyecto está organizado para facilitar la escalabilidad y la legibilidad:
.
├── index.ts # Entry point: Initializes server and registers modules
├── src/
│ ├── tools.ts # Tool handlers (Arithmetic, Randomness, Sampling)
│ ├── prompts.ts # Prompt templates (Math Tutoring)
│ └── resources.ts # Resource definitions (System Status)
├── tests/
│ └── utility.test.ts # Comprehensive unit tests
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── jest.config.js # Testing configuration🚀 Características
1. Herramientas
random_number: Genera un número entero aleatorio dentro de un rango especificado.calculator: Realiza operaciones aritméticas básicas (add,subtract,multiply,divide).suggest_arithmetic_task: Demuestra el muestreo de LLM solicitando al cliente/LLM que genere un problema matemático creativo.
2. Recursos
system_status(utility://system/status): Proporciona una actualización en tiempo real del estado de salud del servidor y el recuento de funciones.
3. Prompts
math_tutor: Una plantilla que guía al LLM para actuar como profesor de matemáticas, enfocándose opcionalmente en un tema específico.
📡 Llamada a la API (Postman / JSON-RPC)
El Protocolo de Contexto de Modelo utiliza JSON-RPC 2.0. Aunque este servidor actualmente se ejecuta sobre stdio (entrada/salida estándar), puedes interactuar con él utilizando estos formatos de mensaje si lo expones a través de un puente HTTP/SSE o utilizas un depurador.
🛠 Herramientas
Listar herramientas
Solicitud:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Llamar a calculator
Solicitud:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "calculator",
"arguments": {
"operation": "multiply",
"a": 5,
"b": 10
}
}
}📖 Recursos
Listar recursos
Solicitud:
{
"jsonrpc": "2.0",
"id": 3,
"method": "resources/list"
}Leer system_status
Solicitud:
{
"jsonrpc": "2.0",
"id": 4,
"method": "resources/read",
"params": {
"uri": "utility://system/status"
}
}📝 Prompts
Listar prompts
Solicitud:
{
"jsonrpc": "2.0",
"id": 5,
"method": "prompts/list"
}Obtener el prompt math_tutor
Solicitud:
{
"jsonrpc": "2.0",
"id": 6,
"method": "prompts/get",
"params": {
"name": "math_tutor",
"arguments": {
"topic": "algebra"
}
}
}🛠 Desarrollo
Configuración
npm installEjecución del servidor
npm startEjecución de pruebas
npm test🤖 Uso del cliente personalizado
Hemos incluido un ejemplo de cliente integrado para que puedas ver cómo conectarte mediante programación:
npm run clientEste script hará lo siguiente:
Generará el servidor como un proceso hijo.
Se conectará a través de Stdio.
Demostrará automáticamente cómo listar herramientas, llamar a la calculadora y leer recursos.
🔍 Pruebas con el Inspector MCP
Para interactuar con el servidor visualmente:
npx @modelcontextprotocol/inspector npx tsx index.tsEste servidor utiliza eltransporte Stdio. Se comunica a través de stdin y stdout. Para que Postman funcione a través de HTTP, sería necesario añadir una capa de transporte SSE (Server-Sent Events) a la configuración del servidor.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lakshyakumar/typescript-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server