MCP di Bob Shell
Konfigurasi dan gunakan Model Context Protocol (MCP) server dengan Bob Shell.
What is MCP?
An MCP (Model Context Protocol) server acts as a bridge between Bob and external services like databases, APIs, or custom scripts. With MCP, you can extend Bob's capabilities beyond its built-in features.
MCP servers provide Bob with:
- Tool discovery: Access to available tools with their descriptions and parameters
- Tool invocation: The ability to call specific tools with arguments and receive structured responses
- Resource access: The capability to read data from specific resources
Why use MCP?
- Extend functionality: Add custom capabilities to Bob that aren't available out-of-the-box
- Integrate with services: Connect Bob to your databases, APIs, and other systems
- Automate workflows: Create specialized tools for your specific needs
- Share capabilities: Distribute useful tools across your team
Configuring MCP servers
You can manage MCP server configurations at two levels:
- Global configuration: Settings in
~/.bob/settings/mcp.jsonapply to all workspaces - Project-level configuration: Settings in
.bob/mcp.jsonapply only to the current project
When a server name exists in both global and project configurations, the project-level configuration takes precedence.
Edit MCP settings files
Use Bob IDE, or another text editor, to modify your MCP settings files.
Refer to the following example:
{
"mcpServers": {
"server1": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"],
"disabled": false
}
}
}Configuration properties
Each server configuration requires one of these properties:
command: Path to the executable for Stdio transporthttpURL: HTTP endpoint URL for Streamable HTTP transport
Optional properties include:
args: Command-line arguments for Stdio transportheaders: Custom HTTP headers for Streamable HTTP transportenv: Environment variables for the server processcwd: Working directory for Stdio transporttimeout: Request timeout in milliseconds (default: 600,000ms; 10min)alwaysAllow: Tool names to approve automaticallydisabled: Set totrueto disable the server
Transport types
MCP supports two ways to communicate with servers:
STDIO transport
STDIO transport runs servers locally on your machine:
- Uses standard input/output streams for communication
- Provides lower latency and better security
- Runs as a child process on your machine
Example configuration:
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/project/Bob",
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"]
}
}
}SSE transport (removed)
MCP client Bob tidak lagi mendukung transport HTTP+SSE mandiri. Properti url tidak dikenali. Gunakan transport Streamable HTTP atau STDIO sebagai gantinya. Untuk panduan migrasi, lihat Transport MCP server.
Platform-specific examples
Windows configuration
{
"mcpServers": {
"puppeteer": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}macOS and Linux configuration
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}Runtime version manager configuration
When using version managers like asdf or mise:
{
"mcpServers": {
"mcp-batchit": {
"command": "mise",
"args": [
"x",
"--",
"node",
"/Users/myself/workspace/mcp-batchit/build/index.js"
],
"alwaysAllow": [
"search",
"batch_execute"
]
}
}
}Versi protokol MCP yang didukung
Bob Shell mendukung versi spesifikasi MCP berikut:
| Versi protokol | Status |
|---|---|
2025-11-25 | Didukung |
2025-06-18 | Didukung |
2025-03-26 | Didukung |
2024-11-05 | Didukung |
2024-10-07 | Didukung |
Bob Shell menegosiasikan versi tertinggi yang didukung bersama saat terhubung ke server. Versi spesifikasi 2026-07-28 belum didukung.