Skip to main content
Glama

ThinMCP

ThinMCP — это шлюз MCP, который предоставляет доступ ко многим вышестоящим серверам MCP через стабильный интерфейс из двух инструментов:

  • search()

  • execute()

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

Зачем нужен ThinMCP

Прямое подключение нескольких серверов MCP к модели увеличивает размер контекста по мере роста количества инструментов. ThinMCP сохраняет фиксированную поверхность взаимодействия с моделью, при этом предоставляя доступ к обширной экосистеме инструментов.

Результатом является более простая точка интеграции для клиентов и более предсказуемая форма среды выполнения для производственных развертываний.

Related MCP server: MCP Gateway

Архитектура

flowchart LR
    A["LLM or MCP Client"] --> B["ThinMCP Gateway"]
    B --> C["Local Catalog"]
    B --> D["Execution Layer"]
    D --> E["Schema Validation"]
    E --> F["Upstream MCP Servers"]
    G["Sync Process"] --> F
    G --> C
    G --> H["Snapshots"]

Ключевые возможности

  • Фиксированный интерфейс из двух инструментов для модели

  • Поддержка вышестоящих серверов HTTP и stdio

  • Локальный каталог на базе SQLite для обнаружения

  • Проверка входных данных перед выполнением вышестоящего вызова

  • Изолированное выполнение для вызовов инструментов шлюза

  • Транспорт HTTP с конечными точками состояния и метрик

  • Периодическая синхронизация метаданных вышестоящих инструментов

Быстрый старт

npm install
npm run build
cp config/mcp-sources.example.yaml config/mcp-sources.yaml

Отредактируйте config/mcp-sources.yaml, затем выполните синхронизацию и запуск:

npm run sync
npm start

Режим HTTP:

npm start -- --transport http --port 8787

Проверка настройки:

npm run doctor

Конфигурация

ThinMCP считывает файл config/mcp-sources.yaml. Каждый вышестоящий сервер может использовать транспорт http или stdio.

Минимальный пример:

servers:
  - id: exa
    name: Exa MCP
    transport: http
    url: https://mcp.exa.ai/mcp
    auth:
      type: bearer_env
      env: EXA_API_KEY
    allowTools: ["*"]

  - id: local-fs
    name: Local Filesystem MCP
    transport: stdio
    command: npx
    args:
      - -y
      - "@modelcontextprotocol/server-filesystem"
      - /tmp
    cwd: .
    allowTools:
      - "filesystem.*"

sync:
  intervalSeconds: 300
  onStart: true

runtime:
  codeTimeoutMs: 15000
  maxCodeLength: 20000
  maxResultChars: 60000

catalog:
  dbPath: ../data/thinmcp.db
  snapshotDir: ../snapshots

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

Запуск ThinMCP

Разработка:

npm run dev

Производственная сборка:

npm run build
npm start

Режим HTTP:

npm start -- --transport http --host 127.0.0.1 --port 8787

Доступные конечные точки HTTP:

  • /mcp

  • /healthz

  • /metrics

Операции

Общие команды:

npm run build
npm run sync
npm run doctor
npm test
THINMCP_RUN_E2E=1 npm run test:e2e

Операционное руководство:

  • Храните учетные данные вышестоящих серверов в переменных окружения

  • Ограничивайте allowTools минимально необходимой областью использования

  • Включайте аутентификацию HTTP и ограничение частоты запросов (rate limiting) при предоставлении доступа к шлюзу за пределами локальной разработки

  • Запускайте npm run sync как часть развертывания или проверки при запуске, если важна актуальность каталога

Интеграция с клиентами

Примеры для клиентов задокументированы в docs/CLIENT_INTEGRATIONS.md.

Лицензия

ISC

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A universal gateway that aggregates multiple MCP servers into a single interface while providing advanced token optimization, result filtering, and automated summarization. It enables efficient management of large tool catalogs and reduces context usage by up to 95% for major AI clients.
    13 npm
    15
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Aggregates multiple Model Context Protocol servers into a single gateway to provide unified search, description, and execution of tools. It reduces context limit issues by dynamically fetching specific tool schemas only when needed rather than loading all available tools at once.
    13 npm
    22
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A single MCP endpoint for AI agents to browse, inspect, and call tools from multiple upstream MCP servers without loading all schemas upfront, reducing context overhead.
    11 npm
    ISC
  • A
    license
    Not graded
    quality
    C
    maintenance
    A unified MCP gateway that reduces context token usage by exposing all services through just two tools (search and execute), supporting built-in services like Asana and Sentry as well as proxied external MCP servers.
    8 npm
    1
    MIT