MCP Hub
MCP Hub — 올인원 MCP 서버 및 커넥터 생태계
AI 클라이언트를 위한 단일 엔드포인트로 MCP(Model Context Protocol) 커넥터를 통합하는 자체 호스팅 허브입니다. 앱 스토어 스타일의 웹 UI, 원클릭 설치, 실시간 로그 및 상태 모니터링을 제공합니다.
Claude Desktop / Cursor ──Bearer key──▶ ┌─────────────────────┐
│ MCP Hub (:3000) │──▶ github (npx)
│ /mcp /api Web UI │──▶ postgres (npx)
Web browser ──session cookie──▶ └─────────┬───────────┘──▶ slack (npx) …
▼
PostgreSQL 16빠른 시작
A. 로컬 / 일반 Docker
cp .env.example .env
# edit .env — set POSTGRES_PASSWORD (and optionally MASTER_ENCRYPTION_KEY / SESSION_SECRET)
docker compose up -d --buildB. Portainer(웹 편집기)
Stacks → Add stack → Web editor로 이동하여
portainer-stack.yml을 붙여넣습니다.배포 전에 환경 변수
POSTGRES_PASSWORD를 추가합니다(Environment variables 아래).배포합니다 — 이미지는 Docker Hub(
xeniak10/mcp-hub:latest)에서 가져오므로 빌드가 필요 없습니다.
http://:3000을 엽니다 — 첫 방문 시 관리자 계정을 생성하라는 메시지가 표시됩니다(부트스트랩). 그런 다음:
Marketplace로 이동하여 예: GitHub을 설치하고 토큰을 붙여넣으면 커넥터의 하위 프로세스가 백그라운드에서 시작됩니다.
Settings로 이동하여 API 키를 생성합니다.
AI 클라이언트를 허브에 연결합니다:
{
"mcpServers": {
"hub": {
"url": "http://localhost:3000/mcp",
"headers": { "Authorization": "Bearer mcp_YOUR_KEY" }
}
}
}모든 커넥터 도구는 github__create_issue, postgres__query, …와 같이 네임스페이스로 구분되어 표시됩니다.
Related MCP server: CbetaMCP
제공 기능
Marketplace — 개발자용 내장 커넥터 71개(GitHub, GitLab, Postgres, Kubernetes, Sentry…) 및 비즈니스 팀용 커넥터 — CRM(Salesforce, HubSpot, Pipedrive), ERP/회계(Odoo, QuickBooks, Xero), 헬프데스크(Zendesk, Freshdesk, ServiceNow), 커뮤니케이션(Microsoft 365, Email IMAP/SMTP, Twilio, Slack, Teams files), 생산성(Google Sheets, Notion, Airtable) 및 관찰 가능성(Dynatrace). 원클릭 설치, 스키마 기반 구성 양식, 허브 컨테이너 내부의
npx/uvx를 통한 백그라운드 종속성 시작. 검색, 카테고리 필터 및 정렬(공식 우선 / 가장 많이 설치된 순 / 이름순).커뮤니티 커넥터 저장소 — Marketplace("Community repos" 섹션)에 공개 GitHub 저장소 URL을 붙여넣으면 해당 저장소의 모든 유효한 커넥터 매니페스트가 가져와지고 검증되어 카탈로그에 병합됩니다(
community:owner/repo/<id>네임스페이스, 데이터 볼륨에 오프라인 캐시). 저장소 루트의index.json은 파일을 명시적으로 나열하며, 그렇지 않으면 루트 수준의*.json파일이 탐색됩니다. 새 항목은 허브를 다시 시작한 후 나타납니다.사용자 정의 커넥터 — JSON 매니페스트를
./connectors/(또는connectors볼륨)에 넣으면 다시 시작 후 마켓플레이스에 나타납니다.connectors/example.json.example을 참조하세요.대시보드 — 실시간 상태 배지(실행 중 / 시작 중 / 오류 / 중지됨), 통계 타일, 인스턴스 검색, 확인을 통한 일괄 모두 다시 시작 / 모두 중지.
커넥터 상세 — 인라인 인스턴스 이름 변경, 시각적 구성 편집기, 실행 중인 프로세스를 통한 실시간 도구 미리보기(
tools/list) 및 클릭하여 복사하는 도구 이름, 실시간 로그 뷰어(WebSocket tail)와 레벨/텍스트 필터, 팔로우 모드 및 로그 다운로드.라이트 & 다크 테마 — 사이드바에서 전환, 브라우저별로 유지.
키보드 단축키 —
/검색 포커스 ·g d대시보드 ·g m마켓플레이스 ·g s설정 ·Esc대화상자 닫기/검색 흐림.PWA 지원 — 설치 가능한 매니페스트 + SVG 파비콘.
백업 및 복원 — 설치된 모든 커넥터와 구성을 JSON 파일로 원클릭 내보내기, 가져오기를 통해 새 인스턴스에서 복원(설정 페이지).
계정 관리 — 비밀번호 변경(다른 모든 기기 로그아웃), IP/사용자 에이전트가 포함된 활성 세션 목록, 모든 세션 해지.
오류 알림 —
ERROR_WEBHOOK_URL을 설정하면 커넥터가 오류 상태에 들어갈 때마다 허브가 JSON 알림을 POST합니다(Slack, Discord, Teams, 일반 수신기와 호환, 커넥터당 5분 쿨다운).Watchdog — 충돌한 프로세스는 지수 백오프로 다시 시작되고, 30초마다 상태 핑, 부팅 복구는 재시작 전에 활성화된 모든 것을 복원합니다.
업데이트 — 설정에서 현재 버전을 표시하고 6시간마다(또는 지금 확인 시) GitHub 릴리스 / Docker Hub 태그를 확인합니다. 새 버전이 게시되면 배포 유형에 맞는 정확한 업그레이드 명령을 원클릭으로 복사할 수 있습니다.
선택적 자동 업데이트 —
docker compose --profile autoupdate up -d로 Watchtower 사이드카를 활성화하면 매시간 최신xeniak10/mcp-hub이미지를 가져와 앱 컨테이너만 다시 생성합니다(레이블 범위가 지정되어 데이터베이스에는 절대 영향을 주지 않습니다).모니터링 및 운영 — 가동 시간 프로브를 위한 인증 없는
GET /healthz,GET /api/meta는 버전 + git 커밋을 보고합니다(설정 바닥글에 표시)./mcp의 API 키 트래픽은 키당 분당 120회로 제한됩니다.보안 — 저장 시 AES-256-GCM 암호화 구성, argon2id 비밀번호, 쿠키 세션, 해시된 API 키, 로그인 속도 제한, 감사 로그.
구성
변수 | 필수 | 설명 |
| ✅ | 번들된 PostgreSQL의 비밀번호 |
| – |
|
| – | 비어 있으면 부팅마다 무작위(재시작 시 사용자 로그아웃) |
| – | 호스트 포트(기본값 |
| – | 커넥터당 링 버퍼 크기(기본값 5000) |
| – | 로그 보존 기간(기본값 7) |
| – | 커넥터가 오류 상태에 들어갈 때 JSON 알림을 POST할 URL |
볼륨: pgdata(데이터베이스), app-data(마스터 키 + 상태), npx-cache(커넥터 종속성 캐시 — 재시작 속도 유지).
업데이트
허브는 자체 컨테이너를 교체할 수 없으므로 업데이트는 호스트에서 한 줄로 수행됩니다:
docker compose pull app && docker compose up -d --no-deps --force-recreate app(설정 → 업데이트에서 새 버전이 있을 때 이 명령을 복사해 줍니다. Portainer에서는 Stack → Pull and redeploy를 사용하세요.) 완전히 자동으로 하고 싶으신가요?
docker compose --profile autoupdate up -d그러면 허브 옆에 Watchtower가 시작됩니다. 매시간 Docker Hub를 확인하고 최신 이미지가 있으면 앱 컨테이너를 다시 생성합니다(--cleanup은 이전 이미지를 제거). 데이터는 볼륨에 있으므로 업데이트는 무손실입니다.
개발
npm install
npm run dev # server (watch) + web (vite dev server on :5173, proxied /api + /mcp)
npm run typecheck # all workspaces
npm run build # shared → server → web스택: npm workspaces · Fastify 5 · @modelcontextprotocol/sdk · PostgreSQL 16 · Vite + React 18 + Tailwind CSS v4 + TanStack Query.
레이아웃
packages/
shared/ types shared by server & web (manifests, API DTOs, WS events)
server/ Fastify app: auth, registry (connector manifests), ConnectorManager,
unified /mcp proxy, log pipeline, SQL migrations
web/ React SPA served statically by the server in production커넥터 추가
재빌드 없이(권장): connectors/example.json.example을 connectors/<your-id>.json으로 복사하고 매니페스트를 작성한 후({env.NAME} 자리 표시자 + JSON 스키마 구성 양식이 있는 명령 argv) 허브를 다시 시작합니다. 잘못된 파일은 로그에 경고와 함께 건너뛰어지며, 내장 커넥터와 충돌하는 사용자 정의 ID는 무시됩니다.
GitHub 저장소에서: Marketplace → Community repos → owner/repo(또는 전체 github.com URL)를 붙여넣습니다. 허브는 저장소 루트에서 index.json(파일 경로 배열)을 가져오거나 루트 수준의 *.json 파일로 대체하고, 각각을 볼륨 매니페스트와 동일한 스키마로 검증한 후 community:owner/repo/<id> ID로 캐시합니다. 따라서 내장 커넥터를 가릴 수 없으며 첫 번째 가져오기 후에도 오프라인에서 계속 작동합니다. 같은 섹션에서 저장소를 관리/제거할 수 있으며, 변경 사항은 다음 재시작 시 적용됩니다.
내장: packages/server/src/registry/connectors/<id>.ts를 만들고 ConnectorManifest를 내보낸 다음 src/registry/index.ts에 등록합니다. 재빌드 후 즉시 마켓플레이스에 나타납니다.
REST API 요약
엔드포인트 | 인증 | 설명 |
| – | 활성 프로브(DB 핑만, 세부 정보 없음) |
| –/세션 | 최초 실행 계정, 로그인/로그아웃 |
| 세션 | 실행 중인 빌드의 |
| 세션 | 비밀번호 변경, 다른 모든 세션 해지 |
| 세션 | 활성 세션 목록/해지 |
| 세션 | 설치 횟수가 포함된 카탈로그 항목 |
| 세션 | 커뮤니티 커넥터 저장소 관리 |
| 세션 | 설치 / 이름 변경 / 제거 |
| 세션 | 암호화된 구성 저장 |
| 세션 | 수명 주기 |
| 세션 | 일괄 작업 |
| 세션 | 실행 중인 프로세스의 실시간 도구 목록 |
| 세션 | 로그 테일 |
| 세션 | API 키 관리 |
| 세션 | 구성 내보내기/가져오기 |
| Bearer 키 또는 세션 | 통합 MCP 엔드포인트(키당 분당 120회) |
모든 변경 엔드포인트는 감사 로그에 기록됩니다.
참고 사항
커넥터는 허브 컨테이너 내부의 하위 프로세스로 실행됩니다(
npx -y pkg@version또는uvx). Docker 소켓은 마운트되지 않습니다. Python 기반 커넥터는uvx가 필요하며 런타임 이미지에 설치되어 있습니다.MCP 엔드포인트는 상태 비저장 Streamable HTTP(
/mcp)입니다 — 모든 HTTP MCP 클라이언트가 작동합니다.리소스는
connector://<slug>/<original-uri>로 노출됩니다.
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 Servers
- AlicenseBqualityCmaintenanceThis server facilitates the invocation of AI models from providers like Anthropic, OpenAI, and Groq, enabling users to manage and configure large language model interactions seamlessly.213MIT
- AlicenseNot gradedqualityDmaintenanceA modular, extensible FastAPI-based platform that aggregates multiple AI tools and microservices into a unified interface with standardized I/O formats, perfect for frontend integration or LLM system orchestration.4MIT
- -licenseNot gradedqualityNot gradedmaintenanceIntelligent routing service that selects optimal AI models based on capability requirements and normalizes input/output formats across multiple providers like OpenAI, Anthropic, Google, and others.
- FlicenseNot gradedqualityDmaintenanceA unified local API gateway providing caching, rate limiting, and full Model Context Protocol compatibility for AI agent integration. It enables users to aggregate multiple API endpoints into a single gateway with built-in observability and customizable eviction strategies.
Related MCP Connectors
Universal AI API Orchestrator — 1,554 tools, 96 services. One install.
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Enterprise AI Control Plane: governance, guardrails, spend tracking, compliance & smart routing.
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/xeniak123/mcp-hub'
If you have feedback or need assistance with the MCP directory API, please join our Discord server