配置MCP
MCP
Bob Shell 支持模型上下文协议(MCP),允许您通过连接到外部服务和工具来扩展 Bob 的功能。本指南解释了如何配置和使用 Bob Shell 的 MCP 服务器。
什么是 MCP?
MCP(模型上下文协议)服务器充当 Bob 与外部服务(如数据库、API 或自定义脚本)之间的桥梁。使用 MCP,您可以将 Bob 的功能扩展到其内置功能之外。
MCP 服务器为 Bob 提供:
- 工具发现: 访问可用工具及其描述和参数
- 工具调用: 使用参数调用特定工具并接收结构化响应的能力
- 资源访问: 从特定资源读取数据的能力
为什么使用 MCP?
- 扩展功能: 向 Bob 添加开箱即用不可用的自定义功能
- 与服务集成: 将 Bob 连接到您的数据库、API 和其他系统
- 自动化工作流程: 为您的特定需求创建专门的工具
- 共享功能: 在团队中分发有用的工具
配置 MCP 服务器
您可以在两个级别管理 MCP 服务器配置:
- 全局配置:
<USER_HOME>/.bob/mcp_settings.json中的设置适用于所有工作区 - 项目级配置:
.bob/mcp.json中的设置仅适用于当前项目
当服务器名称同时存在于全局和项目配置中时,项目级配置优先。
编辑 MCP 设置文件
使用 Bob IDE 或其他文本编辑器修改您的 MCP 设置文件。
参考以下示例:
{
"mcpServers": {
"server1": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"],
"disabled": false
}
}
}配置属性
每个服务器配置需要以下属性之一:
command:Stdio 传输的可执行文件路径url:远程服务器的 SSE 端点 URLhttpURL:可流式 http 的 HTTP 端点 URL
可选属性包括:
args:Stdio 传输的命令行参数headers:SSE 传输的自定义 HTTP 标头env:服务器进程的环境变量cwd:Stdio 传输的工作目录timeout:请求超时(毫秒)(默认值:600,000ms; 10min)alwaysAllow:自动批准的工具名称。Bob Shell 从mcp.json读取这些条目并在每个任务开始时应用,因此列出的工具不会提示审批。disabled:设置为true以禁用服务器
传输类型
MCP 支持两种与服务器通信的方式:
STDIO 传输
STDIO 传输在您的机器上本地运行服务器:
- 使用标准输入/输出流进行通信
- 提供更低的延迟和更好的安全性
- 作为子进程在您的机器上运行
示例配置:
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/project/Bob",
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"]
}
}
}SSE 传输
SSE 传输通过 HTTP/HTTPS 连接到远程服务器:
- 使用服务器发送事件协议
- 适用于托管在不同机器上的服务器
- 需要网络访问
示例配置:
{
"mcpServers": {
"remote-server": {
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"]
}
}
}Streamable HTTP 传输
Streamable HTTP 传输使用 HTTP 连接到远程服务器:
- 使用双向 HTTP 连接
- 同时支持请求/响应消息和服务器推送消息
- 适用于托管在不同机器上的服务器
示例配置:
{
"mcpServers": {
"remote-server": {
"httpURL": "https://your-server-url.com/mcp"
}
}
}特定于平台的示例
Windows 配置
{
"mcpServers": {
"puppeteer": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}macOS 和 Linux 配置
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}运行时版本管理器配置
{
"mcpServers": {
"mcp-batchit": {
"command": "mise",
"args": [
"x",
"--",
"node",
"/Users/myself/workspace/mcp-batchit/build/index.js"
],
"alwaysAllow": [
"search",
"batch_execute"
]
}
}
}这个主题怎么样?