Skip to main content
Glama

ThinMCP

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

  • search()

  • execute()

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

Зачем нужен ThinMCP

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

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

Архитектура

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

-
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/VenkatGGG/ThinMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server