Skip to main content
Glama

Сервер утилит MCP

Полнофункциональный сервер протокола контекста модели (MCP), предоставляющий вспомогательные инструменты, ресурсы и подсказки. Создан с использованием TypeScript и современного SDK MCP.

📁 Структура проекта

Проект организован для обеспечения масштабируемости и читаемости:

.
├── 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

Related MCP server: MCP Server TypeScript

🚀 Функции

1. Инструменты

  • random_number: Генерирует случайное целое число в заданном диапазоне.

  • calculator: Выполняет базовые арифметические операции (add, subtract, multiply, divide).

  • suggest_arithmetic_task: Демонстрирует выборку LLM, запрашивая у клиента/LLM создание творческой математической задачи.

2. Ресурсы

  • system_status (utility://system/status): Предоставляет обновление состояния работоспособности сервера и количества функций в режиме реального времени.

3. Подсказки

  • math_tutor: Шаблон, который направляет LLM действовать в качестве учителя математики, при необходимости фокусируясь на конкретной теме.


📡 Вызов API (Postman / JSON-RPC)

Протокол контекста модели использует JSON-RPC 2.0. Хотя этот сервер в настоящее время работает через stdio (стандартный ввод/вывод), вы можете взаимодействовать с ним, используя эти форматы сообщений, если предоставите к нему доступ через мост HTTP/SSE или используете отладчик.

🛠 Инструменты

Список инструментов

Запрос:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Вызов calculator

Запрос:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "calculator",
    "arguments": {
      "operation": "multiply",
      "a": 5,
      "b": 10
    }
  }
}

📖 Ресурсы

Список ресурсов

Запрос:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "resources/list"
}

Чтение system_status

Запрос:

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "resources/read",
  "params": {
    "uri": "utility://system/status"
  }
}

📝 Подсказки

Список подсказок

Запрос:

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "prompts/list"
}

Получение подсказки math_tutor

Запрос:

{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "prompts/get",
  "params": {
    "name": "math_tutor",
    "arguments": {
      "topic": "algebra"
    }
  }
}

🛠 Разработка

Настройка

npm install

Запуск сервера

npm start

Запуск тестов

npm test

🤖 Использование пользовательского клиента

Мы включили встроенный пример клиента, чтобы вы могли увидеть, как подключиться программно:

npm run client

Этот скрипт:

  1. Запускает сервер как дочерний процесс.

  2. Подключается через Stdio.

  3. Автоматически демонстрирует перечисление инструментов, вызов калькулятора и чтение ресурсов.

🔍 Тестирование с помощью MCP Inspector

Для визуального взаимодействия с сервером:

npx @modelcontextprotocol/inspector npx tsx index.ts

[!IMPORTANT] Этот сервер использует транспорт Stdio. Он взаимодействует через stdin и stdout. Чтобы Postman работал через HTTP, в конфигурацию сервера необходимо добавить транспортный уровень SSE (Server-Sent Events).

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript MCP server implementation using Express.js that provides basic tools like echo, time retrieval, and calculator functionality. Features session management, RESTful API endpoints, and Server-Sent Events for streamable communication.
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A production-ready TypeScript MCP server providing basic tools (add, echo, timestamp), resources (server info, greetings, data access), and prompt templates (analyze, code-review, summarize). Serves as a foundation for building custom MCP servers with extensible architecture.
    284 npm
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A lightweight TypeScript-based MCP server that demonstrates how to build custom MCP tools by implementing a simple addition calculator. Serves as a starting point for building MCP-compatible tools.
    2,859 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A calculator-focused MCP server with TypeScript and Zod validation, providing tools, resources, and prompts for basic arithmetic operations.
    -