MCP 设置配置
本指南说明如何使用mcp_settings.json 文件和相关配置在 MCPHub 中配置 MCP 服务器。
配置文件概述
MCPHub 使用几个配置文件:mcp_settings.json:主要的 MCP 服务器配置servers.json:服务器元数据和分组.env:环境变量和密钥
基本 MCP 设置结构
mcp_settings.json
示例配置
服务器配置选项
必需字段
可选字段
常见 MCP 服务器示例
Web 和 API 服务器
Fetch 服务器
使用 Playwright 进行网页抓取
会话级客户端隔离(有状态服务器)
默认情况下,MCPHub 为每个服务器仅保持一个上游连接,并在所有下游 MCP 会话间共享。 对于有状态服务器来说,这意味着所有客户端共享同一份状态——以 Playwright 为例,每个会话都会 操作同一个浏览器实例及其标签页。 设置perSessionClient: true 可以让 MCPHub 改为为每个下游会话创建独立的上游客户端。
每个会话拥有各自的连接(对于 stdio 服务器,还会拥有各自的子进程),在首次工具调用时惰性创建,
并在会话结束时自动销毁。
perSessionClient 是 MCPHub 侧的设置:它控制 MCPHub 打开多少个上游连接。它与 Playwright
MCP 自身的 --isolated 标志不同,后者控制 Playwright 侧的浏览器配置隔离。二者天然互补——同时
启用即可获得完全隔离的浏览器会话。--isolated 标志的 Playwright MCP:
文件和系统服务器
文件系统服务器
SQLite 服务器
通信服务器
Slack 服务器
邮件服务器
开发和 API 服务器
GitHub 服务器
Google Drive 服务器
地图和位置服务
高德地图服务器
OpenStreetMap 服务器
高级配置
环境变量替换
MCPHub 支持使用${VAR_NAME} 语法进行环境变量替换:
${VAR_NAME:default} 指定默认值:
条件配置
根据环境使用不同配置:自定义服务器脚本
本地 Python 服务器
本地 Node.js 服务器
服务器元数据配置
servers.json
使用服务器元数据补充mcp_settings.json:
组管理
组配置
访问控制
动态配置
热重载
MCPHub 支持配置热重载:配置验证
MCPHub 在启动和重新加载时验证配置:工具结果压缩
MCPHub 可以在工具结果返回 MCP 客户端前,透明压缩较大的文本结果。它适合处理大型日志、diff、搜索输出、JSON 数组或长文本,避免这些内容占用过多模型上下文。 工具结果压缩默认关闭。可以在 设置 → 工具结果压缩 中实时开关,也可以在systemConfig.toolResultCompression 下配置:
压缩只作用于成功的工具响应。带有
isError: true 的响应会原样返回,非文本内容块会被保留,每个文本块会独立判断是否需要压缩。MCPHub 压缩结果时会在文本开头加入类似下面的标记:
最佳实践
安全
-
对敏感数据使用环境变量:
-
限制服务器权限:
性能
-
设置适当的超时:
-
资源限制:
监控
-
启用健康检查:
-
日志配置:
故障排除
常见问题
服务器无法启动:检查命令和参数.env 文件
调试配置
启用调试模式进行详细日志记录:验证错误
常见验证错误和解决方案:- 缺少必需字段:添加
command和args - 无效超时:使用数字,不是字符串
- 找不到环境变量:检查
.env文件 - 找不到命令:验证安装和 PATH