mcp-anything
mcp-anything
세상에 있는 (거의) 모든 MCP 서버를 발견하고 호출할 수 있는 단 하나의 MCP 서버.
mcp-anything은 메타 MCP 서버입니다. 호스트(Claude Desktop, Claude Code, Cursor, ...)에 수십 개의 MCP 서버를 설정하는 대신, 단 하나만 설정하면 됩니다. 이 서버는 공식 MCP 레지스트리를 로컬에 인덱싱하고, 모델이 서버를 검색하고 살펴본 다음 도구를 즉석에서 호출할 수 있게 해주는 다섯 개의 작은 메타 도구를 노출합니다 — 수천 개의 도구 스키마를 컨텍스트 윈도우에 로드할 일은 전혀 없습니다.
Host / LLM
│ (5 meta-tools, constant context cost)
▼
mcp-anything ──── local BM25 index ◄──┬── official MCP registry (moderated, richest metadata)
│ (cross-source dedupe, ├── PulseMCP (~22k servers, stars & downloads)
│ popularity-boosted ├── npm (~67k packages tagged mcp)
│ ranking) └── Glama (~75k indexed servers)
│
│ security policy: SSRF guard · stdio allowlist · secrets injection · timeouts
▼
downstream MCP servers (streamable-http / sse / stdio via npx·uvx)왜?
발견: 수천 개의 MCP 서버가 존재하지만, 호스트는 직접 설정한 서버만 알고 있습니다.
컨텍스트: 많은 서버를 로드하면 컨텍스트 윈도우가 소진됩니다. 메타 도구는 비용을 일정하게 유지합니다 — 모델은 검색 → 검사 → 호출의 두 단계로 기능을 탐색하며, 이는 Anthropic의 Tool Search가 사용하는 것과 같은 패턴입니다.
설정 하나면 충분: MCP 클라이언트 설정에 서버마다 하나씩 추가하는 대신 단일 항목만 추가하면 됩니다.
빠른 시작
# Run directly (Node >= 20):
npx mcp-anything sync # first-time index download (~few seconds)
npx mcp-anything serve # start the meta-MCP server on stdioClaude Code
claude mcp add anything -- npx -y mcp-anything serveClaude Desktop / 기타 호스트
{
"mcpServers": {
"anything": {
"command": "npx",
"args": ["-y", "mcp-anything", "serve"]
}
}
}그런 다음 모델에게 "Postgres를 쿼리할 수 있는 MCP 서버를 찾아서 그 도구 목록을 보여줘" 같은 요청을 하면 됩니다 — 모델이 메타 도구를 스스로 사용할 것입니다.
CLI
mcp-anything sync # refresh the registry index
mcp-anything search "weather" # search the index from your terminal
mcp-anything serve # stdio MCP server (default command)메타 도구
도구 | 기능 |
| 인덱싱된 레지스트리에 대한 키워드 검색(BM25 + 퍼지). 연결 가능성 판정과 함께 후보를 반환합니다. |
| 전체 레지스트리 메타데이터: 트랜스포트, 패키지, 필수 환경 변수/시크릿, 정책 평가. |
| (정책에 따라) 실시간으로 연결해 서버의 실제 도구와 JSON 스키마를 나열합니다. |
| 다운스트림 서버에서 하나의 도구를 실행합니다. 세션은 풀링되어 재사용됩니다. |
| 인덱스 새로고침을 강제합니다(그렇지 않으면 TTL 만료 시 자동 새로고침됨). |
보안 모델
공개 레지스트리의 임의 서버에 LLM을 연결하는 것은 기본적으로 위험합니다. mcp-anything은 보수적인 기본값을 가지며, 모든 완화 설정을 명시적으로 요구합니다:
원격 서버 (streamable-http / sse): 허용되지만, 비공개/루프백/링크-로컬 주소(
169.254.169.254같은 클라우드 메타데이터 엔드포인트 포함) 및 일반http:는 차단됩니다 — 레지스트리 항목이 사용자 네트워크를 가리키는 경우를 대비한 SSRF 가드입니다.remote.allowPrivateNetwork로 해제할 수 있습니다(로컬 개발에만 유용).Stdio 서버 (
npx/uvx프로세스 실행): 기본적으로 비활성화되어 있습니다. 공개 레지스트리의 패키지를 실행하는 것은 사용자 머신에서 임의 코드를 실행하는 것과 같습니다. 명시적인 패키지별 허용 목록으로만 활성화하세요.시크릿: API 키는 절대 인덱싱되거나 모델에 노출되지 않습니다. 구성 파일에서 서버별로 매핑하며, 연결 시점에 주입됩니다(원격은 헤더, stdio는 환경 변수).
신뢰할 수 없는 출력: 다운스트림 서버의 결과와 도구 설명은 제3자 데이터로 표시되므로 모델이 이를 지침이 아닌 데이터로 취급합니다. 이는 프롬프트 인젝션 위험을 줄여주지만 완전히 없애지는 않습니다 — SECURITY.md 참조.
제한: 연결/호출 타임아웃, 응답 크기 절단, 크기가 제한된 세션 풀.
설정
~/.config/mcp-anything/config.json (또는 --config <path>, 또는 MCP_ANYTHING_CONFIG):
{
"registryUrl": "https://registry.modelcontextprotocol.io",
"sources": ["official"],
"qualityFilter": true,
"cacheTtlHours": 24,
"maxServers": 10000,
"policy": {
"remote": {
"enabled": true,
"allowPrivateNetwork": false,
"headers": {
"io.github.example/github": { "Authorization": "Bearer ghp_..." }
}
},
"stdio": {
"enabled": false,
"allowPackages": ["@modelcontextprotocol/server-filesystem"],
"env": {
"io.github.example/postgres": { "DATABASE_URL": "postgres://..." }
}
},
"limits": {
"callTimeoutMs": 60000,
"connectTimeoutMs": 20000,
"maxSessions": 8,
"maxResultChars": 100000
}
}
}모든 필드는 선택 사항이며, 구성이 전혀 없을 때는 위의 기본값(예제 헤더/env 제외)이 적용됩니다. registryUrl은 공식 REST API를 구현하는 모든 레지스트리를 허용합니다 — 비공개/자체 호스팅 레지스트리도 포함됩니다.
인덱스 소스 — 범위 넓히기
sources는 생태계의 얼마나 많은 부분을 인덱싱할지 제어합니다:
소스 | 규모 | 추가되는 항목 |
| 수천 개 | 가장 풍부한 메타데이터(트랜스포트, 환경 변수, 버전)를 갖춘 검증된 항목 |
| ~22k | 광범위한 카탈로그 + GitHub 스타 수 및 다운로드 수(랭킹에 반영) |
| 태그된 패키지 ~67k | 월간 다운로드 수가 포함된 가장 큰 원시 stdio 서버 풀 |
| ~75k | 가장 넓은 인덱스(최선 노력 어댑터) |
{ "sources": ["official", "pulsemcp", "npm"] }여러 카탈로그에 나타나는 항목은 정규화된 저장소 URL과 패키지 식별자를 기준으로 중복 제거됩니다. 가장 신뢰도가 높은 소스가 정체성을 결정하고, 메타데이터는 나머지 소스에서 백필되며, 스타 수와 다운로드 수는 누적됩니다. 랭킹은 BM25 관련성에 로그 스케일의 인기 가중치(공식 레지스트리 항목에는 보너스)를 결합하므로, search_mcp_servers는 수백 번째로 버려진 복제본 대신 유지 관리되는 구현을 표면화합니다. qualityFilter(기본값 켜짐)는 연결 방법이 없거나 사용 가능한 설명이 없는 항목을 제거합니다 — 넓은 소스에서는 정크가 상위 5개에 들지 않을 때에만 더 많은 것이 더 나은 것입니다. 실패한 소스는 우아하게 처리됩니다: 동기화는 다른 소스가 반환한 결과를 유지하고 실패를 보고합니다.
설계 노트
어휘 검색이지 임베딩이 아닙니다. 완전히 로컬에서 동작하고, API 비용이 0이며, 인덱스 빌드 단계도 없습니다. 그리고 도구 검색에서는 퍼지 매칭을 사용하는 키워드 검색이 실제로 비슷한 성능을 보입니다(Anthropic의 Tool Search도 BM25/정규식으로 같은 선택을 했습니다).
상태 없는 호출이 아닌 세션. MCP는 세션 중심입니다(initialize 핸드셰이크, 기능 협상). 다운스트림 연결은 LRU 축출 방식으로 풀링되어 호출 간에 재사용됩니다.
우아한 성능 저하. 레지스트리에 연결할 수 없어도 마지막으로 동기화된 캐시는 계속 작동합니다.
관련 작업 및 포지셔닝
이 공간은 활발히 발전하고 있습니다: MetaMCP와 같은 게이트웨이는 사용자가 구성한 서버를 집계하고, Composio의 Rube는 자체 선별 카탈로그로 라우팅하며, 호스트들은 네이티브 도구 검색을 확장하고 있습니다. mcp-anything의 틈새는 개방형 조합입니다: 카탈로그로서의 공개 레지스트리, 로컬 우선의 단일 바이너리, 명시적인 보안 정책 — 클라우드 계정이 없고, 특정 큐레이션에 종속되지 않으며, 비공개 레지스트리를 대상으로 자체 호스팅할 수 있습니다.
로드맵
랭킹에 실시간 상태 확인 및 결과 품질 신호 추가
인기 서버의
tools/list를 인덱싱하여 서버별이 아닌 도구별 검색이를 요구하는 원격 서버를 위한 OAuth 흐름 패스스루
허용 목록 대안으로 stdio 서버를 위한 컨테이너/Wasm 샌드박싱
페더레이션 및 중복 제거를 지원하는 다중 레지스트리
선택적 streamable-http 서빙 모드(공유/팀 배포용)
개발
npm install
npm test # unit + end-to-end (mock registry + real downstream MCP server)
npm run typecheck
npm run build
node scripts/smoke.mjs # spawns the built CLI as a real stdio MCP serverCONTRIBUTING.md를 참조하세요. MIT 라이선스입니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Find and call the right MCP server for any task - pay per use, no install.
Search and browse every MCP server in the Model Context Protocol registry.
MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Dror-Bengal/mcp-anything'
If you have feedback or need assistance with the MCP directory API, please join our Discord server