Skip to main content
Glama
caa1211

GenPDM MCP Server

by caa1211

GenPDM MCP Server

Скелет MCP-сервера на TypeScript/Express для предоставления фиксированного бизнес-GraphQL API в виде безопасных типизированных MCP-инструментов.

Возможности

  • Эндпоинт MCP SDK v2 Streamable HTTP на ALL /mcp

  • Валидация HS256 Bearer JWT и проверка областей доступа

  • Ограничения частоты запросов в памяти по IP и по субъекту

  • GraphQL-клиент на базе ограниченного пула keep-alive соединений Undici

  • Повторные попытки только для query-запросов, идемпотентность мутаций, ограничения параллелизма и размера ответов

  • Воспроизводимый mock вышестоящего GraphQL API

  • Эндпоинты liveness/readiness и корректное завершение работы

Текущее хранилище ограничений частоты запросов намеренно локально для процесса. В src/rate-limit.ts находится граница адаптера для будущего хранилища на базе Redis. Не рассматривайте текущие счетчики как глобальные при запуске нескольких реплик.

Related MCP server: gqai

Документация

Автоматизация репозитория:

  • AGENTS.md определяет постоянно действующие правила архитектуры и именования.

  • genpdm-mcp-development помогает Codex вносить изменения в операции GraphQL и инструменты MCP.

Запускаемый пример:

Локальный запуск

Требуется Node.js 20 или новее.

Copy-Item .env.example .env
npm install
npm run dev:mock

Во втором терминале:

npm run dev
$token = npm.cmd run --silent token

Настройте MCP-клиент с эндпоинтом http://127.0.0.1:3000/mcp и заголовком Authorization: Bearer <token>.

Доступные инструменты:

  • get_customer: { "id": "cust-001" }, требует customers:read

  • create_order: { "customerId": "cust-001", "items": [{ "sku": "SKU-1", "quantity": 2 }] }, требует orders:write

Эндпоинты health не требуют аутентификации:

  • GET /health/live

  • GET /health/ready

Проверка

npm run typecheck
npm run build
npm test

Примечания для продакшена

  • Замените проверку HS256 на верификатор JWKS IdP компании.

  • Замените хранилище ограничений частоты запросов в памяти на Redis, прежде чем горизонтальное масштабирование потребует строгих глобальных ограничений.

  • Внедряйте учетные данные JWT и GraphQL из менеджера секретов.

  • Ограничьте ALLOWED_HOSTS, CORS_ORIGINS и настройки доверенных прокси в соответствии с топологией развертывания.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Turn any GraphQL endpoint into a set of MCP tools
    23
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP that can proxy any GraphQL API and expose graphql operations as mcp tools.
    10 npm
    18
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Automatically generates MCP tools from any GraphQL API by introspecting its schema, supporting queries, mutations, and authentication.
    5
    GPL 3.0