From e6982a335be655b067facafece1d2e63f0614bd9 Mon Sep 17 00:00:00 2001 From: arch3rPro Date: Sun, 24 May 2026 17:35:31 +0800 Subject: [PATCH] feat(mcphub): add MCPHub application package add full MCPHub application files including 1.0.5 and latest versions, configs, logo and documentation --- apps/mcphub/1.0.5/data.yml | 58 +++++++++++++++++++++++ apps/mcphub/1.0.5/data/.gitkeep | 0 apps/mcphub/1.0.5/docker-compose.yml | 49 ++++++++++++++++++++ apps/mcphub/README.md | 64 ++++++++++++++++++++++++++ apps/mcphub/data.yml | 28 +++++++++++ apps/mcphub/latest/data.yml | 58 +++++++++++++++++++++++ apps/mcphub/latest/data/.gitkeep | 0 apps/mcphub/latest/docker-compose.yml | 49 ++++++++++++++++++++ apps/mcphub/latest/mcp_settings.json | 3 ++ apps/mcphub/logo.png | Bin 0 -> 36214 bytes 10 files changed, 309 insertions(+) create mode 100644 apps/mcphub/1.0.5/data.yml create mode 100644 apps/mcphub/1.0.5/data/.gitkeep create mode 100644 apps/mcphub/1.0.5/docker-compose.yml create mode 100644 apps/mcphub/README.md create mode 100644 apps/mcphub/data.yml create mode 100644 apps/mcphub/latest/data.yml create mode 100644 apps/mcphub/latest/data/.gitkeep create mode 100644 apps/mcphub/latest/docker-compose.yml create mode 100644 apps/mcphub/latest/mcp_settings.json create mode 100644 apps/mcphub/logo.png diff --git a/apps/mcphub/1.0.5/data.yml b/apps/mcphub/1.0.5/data.yml new file mode 100644 index 0000000..f6f66bc --- /dev/null +++ b/apps/mcphub/1.0.5/data.yml @@ -0,0 +1,58 @@ +additionalProperties: + formFields: + - default: 3000 + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: Web 端口 + required: true + rule: paramPort + type: number + edit: true + label: + en: Web Port + zh: Web 端口 + - default: "" + envKey: ADMIN_PASSWORD + labelEn: Admin Password + labelZh: 管理员密码 + required: false + rule: paramComplexity + type: password + edit: true + label: + en: Admin Password + zh: 管理员密码 + - default: mcphub_db + envKey: POSTGRES_DB + labelEn: Database + labelZh: 数据库名 + required: true + rule: paramCommon + type: text + edit: true + label: + en: Database + zh: 数据库名 + - default: mcphub_user + envKey: POSTGRES_USER + labelEn: Database User + labelZh: 数据库用户 + required: true + rule: paramCommon + type: text + edit: true + label: + en: Database User + zh: 数据库用户 + - default: "" + envKey: POSTGRES_PASSWORD + labelEn: Database Password + labelZh: 数据库密码 + random: true + required: true + rule: paramComplexity + type: password + edit: true + label: + en: Database Password + zh: 数据库密码 diff --git a/apps/mcphub/1.0.5/data/.gitkeep b/apps/mcphub/1.0.5/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/mcphub/1.0.5/docker-compose.yml b/apps/mcphub/1.0.5/docker-compose.yml new file mode 100644 index 0000000..35ba59a --- /dev/null +++ b/apps/mcphub/1.0.5/docker-compose.yml @@ -0,0 +1,49 @@ +services: + mcphub: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + volumes: + - ./data:/app/data + environment: + - TZ=Asia/Shanghai + - PORT=3000 + - NODE_ENV=production + - TRUST_PROXY=1 + - ADMIN_PASSWORD=${ADMIN_PASSWORD} + - DB_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} + depends_on: + postgres: + condition: service_healthy + image: samanhappy/mcphub:1.0.5 + labels: + createdBy: "Apps" + + postgres: + image: pgvector/pgvector:pg17 + container_name: ${CONTAINER_NAME}-pg + restart: always + networks: + - 1panel-network + environment: + - POSTGRES_DB=${POSTGRES_DB} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - TZ=Asia/Shanghai + volumes: + - ./data/postgres:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mcphub/README.md b/apps/mcphub/README.md new file mode 100644 index 0000000..4983c5f --- /dev/null +++ b/apps/mcphub/README.md @@ -0,0 +1,64 @@ +# MCPHub + +MCPHub 通过将多个 MCP(Model Context Protocol)服务器组织为灵活的流式 HTTP(SSE)端点,简化了管理与扩展工作。系统支持按需访问全部服务器、单个服务器或按场景分组的服务器集合。 + +## 功能特点 + +- **集中式管理** - 在统一控制台中监控和管理所有 MCP 服务器 +- **灵活路由** - 通过 HTTP/SSE 访问所有服务器、特定分组或单个服务器 +- **细粒度分组可见性** - 在分组中可独立控制每个服务器的 Tool、Prompt 与 Resource 是否对外暴露 +- **智能路由** - 基于向量语义搜索的 AI 工具发现 +- **热插拔配置** - 无需停机即可添加、移除或更新服务器 +- **OAuth 2.0 支持** - 客户端和服务端模式,实现安全认证 +- **社交一键登录** - 通过 Better Auth 集成支持 GitHub 和 Google 快捷登录(需启用数据库模式) +- **数据库模式** - 将配置存储在 PostgreSQL 中,适用于生产环境 + +## 使用说明 + +### 默认端口 + +- Web界面: 3000 + +### 默认账号密码 + +- 用户名: admin +- 密码: 首次启动时自动生成,可在日志中查看,或通过环境变量 `ADMIN_PASSWORD` 预设 + +### 数据目录 + +应用数据存储在 `./data` 目录。 + +### MCP 配置 + +将 MCP 服务器配置文件 `mcp_settings.json` 放置在数据目录中,或通过 1Panel 文件管理器编辑。 + +示例配置: +```json +{ + "mcpServers": { + "time": { + "command": "npx", + "args": ["-y", "time-mcp"] + }, + "fetch": { + "command": "uvx", + "args": ["mcp-server-fetch"] + } + } +} +``` + +### 连接 AI 客户端 + +通过以下地址连接 AI 客户端(Claude Desktop、Cursor 等): + +- `http://localhost:3000/mcp` - 所有服务器 +- `http://localhost:3000/mcp/{group}` - 特定分组 +- `http://localhost:3000/mcp/{server}` - 特定服务器 +- `http://localhost:3000/mcp/$smart` - 智能路由 + +## 相关链接 + +- 官方网站: https://docs.mcphub.app +- GitHub: https://github.com/samanhappy/mcphub +- 文档: https://docs.mcphub.app diff --git a/apps/mcphub/data.yml b/apps/mcphub/data.yml new file mode 100644 index 0000000..0f93209 --- /dev/null +++ b/apps/mcphub/data.yml @@ -0,0 +1,28 @@ +name: MCPHub +tags: + - 开发工具 + - AI工具 +title: MCP 服务器统一管理中心 +description: MCP 服务器统一管理中心,支持集中管理、灵活路由和智能发现 +additionalProperties: + key: mcphub + name: MCPHub + tags: + - DevTool + - AI + shortDescZh: MCP 服务器统一管理中心 + shortDescEn: Unified Hub for Model Context Protocol (MCP) Servers + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://docs.mcphub.app + github: https://github.com/samanhappy/mcphub + document: https://docs.mcphub.app + architectures: + - amd64 + - arm64 + description: + en: MCPHub makes it easy to manage and scale multiple MCP servers by organizing them into flexible Streamable HTTP endpoints + zh: MCP 服务器统一管理中心,支持集中管理、灵活路由和智能发现 + memoryRequired: 1024 diff --git a/apps/mcphub/latest/data.yml b/apps/mcphub/latest/data.yml new file mode 100644 index 0000000..f6f66bc --- /dev/null +++ b/apps/mcphub/latest/data.yml @@ -0,0 +1,58 @@ +additionalProperties: + formFields: + - default: 3000 + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: Web 端口 + required: true + rule: paramPort + type: number + edit: true + label: + en: Web Port + zh: Web 端口 + - default: "" + envKey: ADMIN_PASSWORD + labelEn: Admin Password + labelZh: 管理员密码 + required: false + rule: paramComplexity + type: password + edit: true + label: + en: Admin Password + zh: 管理员密码 + - default: mcphub_db + envKey: POSTGRES_DB + labelEn: Database + labelZh: 数据库名 + required: true + rule: paramCommon + type: text + edit: true + label: + en: Database + zh: 数据库名 + - default: mcphub_user + envKey: POSTGRES_USER + labelEn: Database User + labelZh: 数据库用户 + required: true + rule: paramCommon + type: text + edit: true + label: + en: Database User + zh: 数据库用户 + - default: "" + envKey: POSTGRES_PASSWORD + labelEn: Database Password + labelZh: 数据库密码 + random: true + required: true + rule: paramComplexity + type: password + edit: true + label: + en: Database Password + zh: 数据库密码 diff --git a/apps/mcphub/latest/data/.gitkeep b/apps/mcphub/latest/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/mcphub/latest/docker-compose.yml b/apps/mcphub/latest/docker-compose.yml new file mode 100644 index 0000000..ecce4c4 --- /dev/null +++ b/apps/mcphub/latest/docker-compose.yml @@ -0,0 +1,49 @@ +services: + mcphub: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + volumes: + - ./data:/app/data + environment: + - TZ=Asia/Shanghai + - PORT=3000 + - NODE_ENV=production + - TRUST_PROXY=1 + - ADMIN_PASSWORD=${ADMIN_PASSWORD} + - DB_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} + depends_on: + postgres: + condition: service_healthy + image: samanhappy/mcphub:latest + labels: + createdBy: "Apps" + + postgres: + image: pgvector/pgvector:pg17 + container_name: ${CONTAINER_NAME}-pg + restart: always + networks: + - 1panel-network + environment: + - POSTGRES_DB=${POSTGRES_DB} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - TZ=Asia/Shanghai + volumes: + - ./data/postgres:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mcphub/latest/mcp_settings.json b/apps/mcphub/latest/mcp_settings.json new file mode 100644 index 0000000..da39e4f --- /dev/null +++ b/apps/mcphub/latest/mcp_settings.json @@ -0,0 +1,3 @@ +{ + "mcpServers": {} +} diff --git a/apps/mcphub/logo.png b/apps/mcphub/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..20d892bc1ba694acec47e0b0c7d70669eb1e7fad GIT binary patch literal 36214 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
m@;Rr~eMgJ1;QEC5oQu)Ma28O_52 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 M07*qoM6N<$g7<;L82|tP literal 0 HcmV?d00001