ThinMCP
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.yamlconfig/mcp-sources.yaml을 편집한 후 동기화하고 시작하세요:
npm run sync
npm startHTTP 모드:
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: ../snapshotsallowTools를 사용하여 각 업스트림 서버가 게이트웨이를 통해 노출하려는 도구로만 범위가 제한되도록 하세요.
ThinMCP 실행
개발:
npm run dev프로덕션 빌드:
npm run build
npm startHTTP 모드:
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
This server cannot be installed
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