MCP Hub
使用说明内容(Markdown格式)
-
项目简介
- MCP Hub 是一个自托管的后端平台,提供一个统一的 MCP 网关,用于向各种 LLM 客户端提供资源管理、工具注册与执行、以及提示模板渲染等功能。它通过 JSON-RPC 方式对外提供服务,并内置语义路由、向量记忆、ReAct 调度和多智能体协作等能力,便于在本地部署后为 LLM 应用提供安全、可扩展的上下文服务。
-
主要功能点
- 资源与数据访问:集中管理可供 LLM 调用的资源和数据信息。
- 工具注册与执行:注册跨平台的工具,LLM 客户端可通过工具调用外部功能。
- Prompt 模板与渲染:定义和渲染可定制的提示模板,以适配不同的交互模式。
- 语义化工具路由:本地嵌入模型对工具进行语义检索,只将最相关的工具暴露给 LLM。
- 永久向量记忆:跨对话、跨任务的记忆能力,支持向量化搜索和全文检索。
- ReAct 派生编排:内置的 ReAct 风格循环,结合搜索、调用工具与合成回答。
- 自动化与调度:任务调度、触发器、定时任务等自动化能力。
- 多代理与图形化流:将任务拆分成多代理,形成图状协作流。
- 安全与审计:对工具调用、凭证、访问进行日志记录与审计。
-
安装步骤(简要)
- 下载代码并在本地或服务器环境中部署。
- 按 README 配置环境变量和依赖,使用 Docker 运行或本地启动。
- 启动后访问管理页面并按照需要配置 integrations、记忆、工具等。
- 将 MCP 客户端指向网关端点,进行初始对接与测试。
-
服务器配置(给 MCP 客户端用的配置示例,包含 server name、command、args 等)
- 配置目的:MCP 客户端需要知道如何启动并与 MCP Hub 建立连接。以下为“服务器启动信息”的配置要点,非代码示例,请以 JSON 形式理解。
- server name: mcp-hub
- command: uvicorn
- args: ["app.main:app", "--host=0.0.0.0", "--port=8000"]
- 说明:上述命令用于在通用 Python FastAPI 环境中启动网关服务;如使用 Docker,请参考项目中的 Docker 相关部署。
- 须知:实际生产环境请使用域名、HTTPS、适当的证书、以及合适的令牌认证策略。配置中不包含客户端凭证,也不需要 MCP 客户端直接暴露实现细节。
示例(以理解为目的的 JSON 结构,不是代码块): { "serverName": "mcp-hub", "description": "MCP Gateway 提供资源、工具和提示模板的上下文服务", "command": "uvicorn", "args": ["app.main:app", "--host=0.0.0.0", "--port=8000"], "notes": "生产环境请结合 Docker 或系统服务管理,启用 TLS 及凭证保护。" }
-
基本使用方法
- 启动后,通过 MCP 网关端点(如 http(s)://<你的域名>/mcp)与客户端建立连接。
- 客户端通过 JSON-RPC 2.0 上下文向网关请求资源、调用工具、获取 Prompts 等。
- 管理员可以在 Admin 界面配置 OAuth、工具授权、审计日志以及内置的集成。
- 可以通过内置的自动化、向量记忆和 ReAct 流来实现复杂的任务编排与多轮对话上下文管理。
-
运行与维护要点
- 本地或云端部署后,确保数据库(SQLite)的迁移与初始化完成,必要的依赖和环境变量配置完备。
- 为生产环境配置适当的高可用与备份策略,确保日志审计与凭证安全。
- 在部署阶段参考 README 的 Docker 版或本地开发版的运行方式,确保端口开放、域名解析和证书配置正确。
-
MCP 客户端配置小贴士
- 由于 MCP Hub 提供的是网关服务,客户端需要向网关端点发送带有 Authorization Bearer TOKEN 的请求来进行 API 调用和工具触发。
- 客户端配置通常包含服务器名称、网关 URL,以及需要的认证头信息(示例中不直接列出具体密钥,实际使用时请替换为你的 PAT/Token)。