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

🚀 Функции

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

-
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