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 인증 및 속도 제한을 활성화하세요.

  • 카탈로그의 최신 상태가 중요하다면 배포 또는 시작 검증 과정의 일부로 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