在 Bob 中使用 MCP
模型上下文协议(MCP)通过连接到外部工具和服务来扩展 Bob 的功能。本指南向您展示如何使用 Bob 配置、管理和使用 MCP 服务器。
有关概念信息,请参阅理解 MCP。
配置级别
您可以在两个级别配置 MCP 服务器:
- 全局:存储在
~/.bob/mcp.json中,适用于所有工作区 - 项目:存储在项目根目录的
.bob/mcp.json中,允许通过版本控制进行团队共享
当服务器名称冲突时,项目级配置优先于全局设置。
编辑配置文件
您可以从设置菜单编辑 MCP 配置文件:
- 单击 Bob 面板中的 图标。
- 选择 MCP 选项卡。
- 单击适当的按钮:
- 编辑全局 MCP:打开全局
~/.bob/mcp.json文件 - 编辑项目 MCP:打开项目特定的
.bob/mcp.json文件(如果不存在,Bob 会创建它)
- 编辑全局 MCP:打开全局
两个文件都使用 JSON 格式,其中包含一个包含命名服务器配置的 mcpServers 对象。
查找和安装服务器
IBM Bob 不包含预安装的 MCP 服务器。要查找服务器:
- 构建您自己的:使用 MCP SDK 创建自定义服务器(请参阅 MCP GitHub 存储库)
- 社区服务器:探索 MCP 生态系统中社区贡献的 MCP 服务器
启用或禁用 MCP 服务器
当您禁用 MCP 服务器时,Bob 会从系统提示中删除所有与 MCP 相关的逻辑和定义,从而减少 token 使用。Bob 无法连接到任何 MCP 服务器,并且 use_mcp_tool 和 access_mcp_resource 工具不可用。此设置默认启用。
要启用或禁用 MCP 服务器:
- 单击 Bob 面板中的 图标。
- 选择 MCP 选项卡。
- 选中或取消选中使用 MCP 服务器。
启用或禁用 MCP 服务器创建
当您禁用 MCP 服务器创建时,Bob 会从系统提示中删除 Bob 用于编写 MCP 服务器的指令。Bob 保留操作现有 MCP 服务器的上下文,从而减少 token 使用。此设置默认启用。
要启用或禁用 MCP 服务器创建:
- 单击 Bob 面板中的 图标。
- 选择 MCP 选项卡。
- 选中或取消选中启用 MCP 服务器创建。
启用或禁用单个 MCP 工具
您可以启用或禁用 MCP 服务器中的特定工具,以控制 Bob 可以访问哪些功能。这提供了对 MCP 功能的细粒度控制,并通过排除未使用的工具定义来帮助减少上下文窗口使用。
要管理单个工具:
- 单击 Bob 面板中的 图标。
- 选择 MCP 选项卡。
- 在列表中找到 MCP 服务器。
- 展开服务器以查看其可用工具。
- 根据需要切换单个工具的开关。
禁用未使用的工具可减少工具定义消耗的上下文量,为您的代码和对话历史记录留出更多空间。
传输类型
MCP 支持不同的传输类型用于服务器通信。根据服务器运行的位置以及您希望如何部署它来选择传输。有关所有传输类型的详细信息,请参阅 MCP 服务器传输。
对于需要 OAuth 2.1 用户身份验证而不是静态令牌的服务器,请参阅 MCP OAuth 身份验证。
对于需要 OAuth 2.1 用户身份验证而非静态令牌的服务器,请参阅 MCP OAuth 身份验证。
STDIO 传输
对在您的机器上本地运行的服务器使用 STDIO 传输。
优势:
- 更低的延迟(无网络开销)
- 更好的安全性(无网络暴露)
- 更简单的设置(不需要 HTTP 服务器)
配置参数:
| 参数 | 必需 | 描述 |
|---|---|---|
command | 是 | 要运行的可执行文件(例如,node、python、npx) |
args | 否 | 要传递给命令的参数数组 |
cwd | 否 | 服务器进程的工作目录 |
env | 否 | 服务器进程的环境变量 |
alwaysAllow | 否 | 要自动批准的工具名称数组 |
disabled | 否 | 设置为 true 以禁用此服务器 |
示例:
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/project/root",
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"],
"disabled": false
}
}
}有关更多详细信息,请参阅 STDIO 传输。
Streamable HTTP 传输
使用 Streamable HTTP 传输访问通过 HTTP/HTTPS 访问的远程服务器。这是新远程服务器实现的现代标准。
优势:
- 可以托管在不同的机器上
- 支持多个客户端连接
- 允许集中部署
- 支持简单的请求-响应和流式传输
配置参数:
| 参数 | 必需 | 描述 |
|---|---|---|
url | 是 | MCP 端点的完整 URL |
headers | 否 | 自定义 HTTP 标头(例如身份验证令牌) |
alwaysAllow | 否 | 自动批准的工具名称数组 |
disabled | 否 | 设置为 true 可禁用此服务器 |
示例:
{
"mcpServers": {
"remote-server": {
"type": "streamable-http",
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"],
"disabled": false
}
}
}有关更多详细信息,请参阅 Streamable HTTP 传输。
SSE 传输(旧版)
对通过 HTTP/HTTPS 访问的远程服务器使用 SSE 传输。对于新的远程服务器,请改用 Streamable HTTP 传输。
优势:
- 可以托管在不同的机器上
- 支持多个客户端连接
- 允许集中部署
配置参数:
| 参数 | 必需 | 描述 |
|---|---|---|
url | 是 | 远程 MCP 服务器的完整 URL 端点 |
headers | 否 | 自定义 HTTP 标头(例如,身份验证令牌) |
alwaysAllow | 否 | 要自动批准的工具名称数组 |
disabled | 否 | 设置为 true 以禁用此服务器 |
示例:
{
"mcpServers": {
"remote-server": {
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"],
"disabled": false
}
}
}使用 Bob 创建 MCP 服务器
您可以要求 Bob 为您需要的特定功能构建自定义 MCP 服务器。
先决条件: 启用启用 MCP 服务器创建设置。
要创建服务器:
-
向 Bob 请求工具或功能。例如:
- "创建一个获取当前比特币价格的 MCP 工具"
- "构建一个与 GitHub Gist API 交互的 MCP 服务器"
-
Bob 将:
- 在默认 MCP 目录中搭建服务器项目(通常是 TypeScript)
- 使用必要的 API 调用实现请求的工具
- 如果需要,提示您输入 API 密钥或凭据
- 将服务器配置添加到您的设置文件
- 自动连接到新服务器
有关工具机制的更多信息,请参阅理解 Bob 的工具。
管理单个服务器
要访问服务器设置:
- 单击 Bob 面板中的 图标。
- 选择 MCP 选项卡。
- 在列表中找到服务器。
可用操作:
- 删除:单击 并确认删除
- 重启:单击 以重启服务器
- 启用/禁用:使用电源开关打开或关闭服务器
- 网络超时:设置响应超时(30 秒到 5 分钟,默认 1 分钟)
- 管理工具:展开服务器以启用或禁用单个工具
自动批准工具
MCP 工具自动批准默认禁用,并按工具工作:
- 在自动批准操作中启用全局"使用 MCP 服务器"选项。
- 在 MCP 服务器设置中,找到工具。
- 选中工具名称旁边的始终允许。
全局设置优先——如果禁用,则不会自动批准任何 MCP 工具。
有效使用 MCP 工具
配置 MCP 服务器后,Bob 会自动检测可用工具。有效使用取决于清晰的工具定义。
工作流程
- 在 Bob 聊天界面中输入您的请求
- Bob 分析您的请求和可用的 MCP 工具
- Bob 建议使用工具;您批准(除非自动批准)
编写有效的工具描述
Bob 正确选择和使用工具的能力取决于描述质量。在定义 MCP 工具时遵循以下指南:
工具名称
使用描述性、明确的名称来指示主要功能。
工具描述
提供包括以下内容的全面摘要:
- 工具的作用
- 其目的和用例
- 先决条件或重要上下文
- 预期结果
参数描述
对于每个参数,指定:
- 目的和预期数据类型
- 格式要求或约束
- 有效值示例
- 是可选还是必需
示例
差的描述:
获取数据好的描述:
使用用户 ID 从 API 检索用户配置文件数据。
返回包含用户名、电子邮件和帐户创建日期的 JSON。
需要环境中的有效身份验证令牌。其他指导
使用自定义规则为您的团队定义首选方法、复杂工作流程或工具优先级。
MCP 安全注意事项
使用 MCP 服务器会引入安全注意事项,您应在部署前仔细评估。
数据隐私风险
外部 MCP 服务器:
- 可能会将您的数据发送到外部提供商或第三方服务
- 可能会暴露敏感代码、凭据或专有信息
- 可能以您无法控制的方式存储或记录数据
建议:
- 使用前查看 MCP 服务器的数据处理政策
- 避免将外部 MCP 服务器用于敏感或专有代码
- 对于机密项目,首选本地 MCP 服务器
本地安全风险
本地 MCP 服务器:
- 以与 Bob 相同的权限运行
- 可以访问您的文件系统、环境变量和系统资源
- 可以在您的机器上执行任意代码
- 可能会修改或删除文件
建议:
- 仅安装来自可信来源的 MCP 服务器
- 如果可能,在安装前查看 MCP 服务器的源代码
- 了解每个服务器需要哪些权限和功能
- 对请求广泛文件系统访问的服务器要谨慎
组织合规性
业务和企业注意事项:
- 确保 MCP 服务器使用符合您组织的安全政策
- 验证数据处理是否符合监管要求(GDPR、HIPAA 等)
- 检查 MCP 服务器是否被批准在受限网络中使用
- 记录您环境中授权使用的 MCP 服务器
最佳实践:
- 维护已批准 MCP 服务器的清单
- 为新 MCP 服务器建立审查流程
- 定期审核 MCP 服务器使用和权限
- 为使用 MCP 的团队成员提供安全培训
审查 MCP 服务器
在安装任何 MCP 服务器之前:
- 研究来源:验证发布者的声誉和记录
- 查看文档:了解服务器的功能和访问内容
- 检查权限:评估服务器需要哪些系统资源
- 阅读代码:如果是开源的,检查实现是否存在安全问题
- 隔离测试:首先在非生产环境中试用服务器
- 监控行为:观察意外的网络活动或文件访问
如有疑问,请在安装 MCP 服务器之前咨询您的安全团队或 IT 部门,特别是在企业或受监管的环境中。