什么是 MCP 服务器?
MCP 服务器是 MetaMCP 的构建块。每个服务器配置定义:- 如何启动服务器(命令、参数、环境)
- 服务器类型(STDIO、SSE、可流式 HTTP)
- 身份验证要求(如果有)
- 资源依赖(Python 包、Node 模块等)
配置示例
服务器类型
MetaMCP 支持三种类型的 MCP 服务器:STDIO 服务器
STDIO 服务器
最常见类型 - 通过标准输入/输出流通信使用场景:
- 通过
uvx
安装的 Python 包 - 通过
npx
的 Node.js 包 - 自定义可执行脚本
SSE 服务器
SSE 服务器
服务器发送事件 - 通过 SSE(服务器发送事件)通信
如果服务器使用 OAuth,您可以将 bearerToken 留空。
可流式 HTTP 服务器
可流式 HTTP 服务器
基于 HTTP 的流式传输 - 可流式 HTTP 现在是远程 MCP 的标准
如果服务器使用 OAuth,您可以将 bearerToken 留空。
配置选项
基本配置
环境变量
向 STDIO 服务器传递环境变量:环境变量插值
使用${ENV_VAR}
语法在运行时引用环境变量:
- 安全:API 密钥和密钥不会硬编码在配置中
- 灵活:值从容器环境中解析
- 向后兼容:原始值仍然像以前一样工作
${VAR_NAME}
在运行时被process.env.VAR_NAME
替换- 缺失的变量会记录警告但不会使服务器崩溃
- 密钥在日志中自动被隐藏
身份验证
对于需要身份验证的服务器:管理 MCP 服务器
添加服务器
- 导航到 MetaMCP 仪表板中的 MCP 服务器
- 点击”添加服务器”
- 配置服务器详细信息
- 测试配置
- 保存使其可用于命名空间
批量导入/导出
MetaMCP 支持批量导入和导出 MCP 服务器配置,便于迁移和备份。导出服务器
将所有配置的 MCP 服务器导出到 JSON 文件:- 导航到仪表板中的 MCP 服务器
- 点击”导出 JSON”按钮
- 选择下载文件或复制到剪贴板
导出格式
导入服务器
从 JSON 配置导入多个 MCP 服务器:- 导航到仪表板中的 MCP 服务器
- 点击”导入 JSON”按钮
- 粘贴或输入您的 JSON 配置
- 点击”导入”添加服务器
类型值(不区分大小写):
"stdio"
,"STDIO"
,"std"
→ STDIO"sse"
,"SSE"
→ SSE"streamable_http"
,"STREAMABLE_HTTP"
,"streamablehttp"
,"http"
→ STREAMABLE_HTTP
导入行为:
- 具有现有名称的服务器将使用新配置更新
- 新服务器将被创建
- 无效配置将被跳过并显示错误消息
- 导入过程显示成功/失败计数
使用批量导入/导出用于:
- 环境迁移(开发 → 测试 → 生产)
- 团队协作(共享服务器配置)
- 备份和恢复(配置备份)
- 快速设置(一次部署多个服务器)
空闲会话管理
MetaMCP 预分配空闲会话以获得更好的性能:冷启动优化
- 默认:每个服务器 1 个空闲会话
- 可配置:根据使用模式调整
- 自动扩展:按需创建会话
- 清理:超时后回收空闲会话
依赖项的自定义 Dockerfile
如果您的 MCP 服务器需要uvx
或 npx
之外的额外依赖项,您可以自定义 MetaMCP Dockerfile:
自定义依赖项会增加 Docker 镜像大小和启动时间。尽可能考虑使用轻量级替代方案。
故障排除
服务器无法启动
服务器无法启动
常见原因:
- 缺少依赖项(通过自定义 Dockerfile 安装)
- 命令或参数不正确
- 环境变量未设置
- 网络连接问题(对于 SSE/可流式 HTTP)
- 在 MetaMCP 仪表板中检查服务器日志
- 在终端中手动测试命令
- 验证环境变量
- 检查网络连接
性能缓慢
性能缓慢
优化策略:
- 为频繁使用的服务器增加空闲会话计数
- 尽可能使用本地服务器而不是远程服务器
- 在自定义 Docker 镜像中预安装依赖项
- 配置适当的超时值
身份验证问题
身份验证问题
常见问题:
- API 密钥或 bearer token 过期
- 环境变量名称不正确
- 缺少必需的标头
- 外部 API 的速率限制
- 刷新 API 密钥/token
- 检查服务器文档了解必需的身份验证
- 实现适当的错误处理
- 添加带有退避的重试逻辑