From 886ca446817f729f4c29241c19aee5d628aa62cf Mon Sep 17 00:00:00 2001 From: samanhappy Date: Mon, 5 May 2025 20:54:11 +0800 Subject: [PATCH] Implement code changes to enhance functionality and improve performance (#52) --- README.zh.md | 18 ++++++++++++++++++ assets/reward.png | Bin 0 -> 46852 bytes 2 files changed, 18 insertions(+) create mode 100644 assets/reward.png diff --git a/README.zh.md b/README.zh.md index 07443d5..a5cf9cc 100644 --- a/README.zh.md +++ b/README.zh.md @@ -68,11 +68,13 @@ MCPHub 是一个统一的 MCP(Model Context Protocol,模型上下文协议 ### Docker 部署 **推荐**:挂载自定义配置: + ```bash docker run -p 3000:3000 -v $(pwd)/mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub ``` 或使用默认配置运行: + ```bash docker run -p 3000:3000 samanhappy/mcphub ``` @@ -80,22 +82,28 @@ docker run -p 3000:3000 samanhappy/mcphub ### 访问控制台 打开 `http://localhost:3000`,使用您的账号登录。 + > **提示**:默认用户名/密码为 `admin` / `admin123`。 **控制台功能**: + - 实时监控所有 MCP 服务器状态 - 启用/禁用或重新配置服务器 - 分组管理,组织服务器访问 - 用户管理,设定权限 ### 支持流式的 HTTP 端点 + > 截至目前,各家 AI 客户端对流式的 HTTP 端点支持不一,如果遇到问题,可以使用 SSE 端点或者等待更新。 通过以下地址连接 AI 客户端(如 Claude Desktop、Cursor、DeepChat 等): + ``` http://localhost:3000/mcp ``` + 这个端点为所有 MCP 服务器提供统一的流式 HTTP 接口。它允许您: + - 向任何配置的 MCP 服务器发送请求 - 实时接收响应 - 轻松与各种 AI 客户端和工具集成 @@ -104,10 +112,13 @@ http://localhost:3000/mcp **基于分组的 HTTP 端点(推荐)**: ![分组](assets/group.zh.png) 要针对特定服务器分组进行访问,请使用基于分组的 HTTP 端点: + ``` http://localhost:3000/mcp/{group} ``` + 其中 `{group}` 是您在控制面板中创建的分组 ID 或名称。这样做可以: + - 连接到按用例组织的特定 MCP 服务器子集 - 隔离不同的 AI 工具,使其只能访问相关服务器 - 为不同环境或团队实现更精细的访问控制 @@ -117,11 +128,13 @@ http://localhost:3000/mcp/{group} ### SSE 端点集成 (即将废弃) 通过以下地址连接 AI 客户端(如 Claude Desktop、Cursor、DeepChat 等): + ``` http://localhost:3000/sse ``` 要针对特定服务器分组进行访问,请使用基于分组的 SSE 端点: + ``` http://localhost:3000/sse/{group} ``` @@ -142,6 +155,7 @@ pnpm dev ## 🛠️ 常见问题 ### 使用 nginx 反向代理 + 如果您在使用 nginx 反向代理 MCPHub,请确保在 nginx 配置中添加以下内容: ```nginx @@ -168,6 +182,10 @@ proxy_buffering off +如果觉得项目有帮助,不妨请我喝杯咖啡 ☕️ + + + ## 📄 许可证 本项目采用 [Apache 2.0 许可证](LICENSE)。 diff --git a/assets/reward.png b/assets/reward.png new file mode 100644 index 0000000000000000000000000000000000000000..dafae0267b16b00758af018ae68f13e92dcfcac2 GIT binary patch literal 46852 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 OKNST{1dz6Q=>G%q3a@Jb literal 0 HcmV?d00001