Skip to main content
Glama

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 install

Ejecución del servidor

npm start

Ejecució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 client

Este script hará lo siguiente:

  1. Generará el servidor como un proceso hijo.

  2. Se conectará a través de Stdio.

  3. 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.ts
IMPORTANT

Este 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.

-
security - not tested
F
license - not found
-
quality - not tested

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