MCP
Bob Shell suporta o Model Context Protocol (MCP), permitindo que você estenda as capacidades do Bob conectando-se a serviços e ferramentas externos. Este guia explica como configurar e usar servidores MCP com Bob Shell.
O que é MCP?
Um servidor MCP (Model Context Protocol) atua como uma ponte entre Bob e serviços externos como bancos de dados, APIs ou scripts personalizados. Com MCP, você pode estender as capacidades do Bob além de seus recursos integrados.
Servidores MCP fornecem ao Bob:
- Descoberta de ferramenta: Acesso a ferramentas disponíveis com suas descrições e parâmetros
- Invocação de ferramenta: A capacidade de chamar ferramentas específicas com argumentos e receber respostas estruturadas
- Acesso a recurso: A capacidade de ler dados de recursos específicos
Por que usar MCP?
- Estender funcionalidade: Adicione capacidades personalizadas ao Bob que não estão disponíveis prontas para uso
- Integrar com serviços: Conecte Bob aos seus bancos de dados, APIs e outros sistemas
- Automatizar fluxos de trabalho: Crie ferramentas especializadas para suas necessidades específicas
- Compartilhar capacidades: Distribua ferramentas úteis em sua equipe
Configurando servidores MCP
Você pode gerenciar configurações de servidor MCP em dois níveis:
- Configuração global: Configurações em
<USER_HOME>/.bob/mcp_settings.jsonaplicam a todos os workspaces - Configuração de nível de projeto: Configurações em
.bob/mcp.jsonaplicam apenas ao projeto atual
Quando um nome de servidor existe em configurações globais e de projeto, a configuração de nível de projeto tem precedência.
Editar arquivos de configurações MCP
Use Bob IDE, ou outro editor de texto, para modificar seus arquivos de configurações MCP.
Consulte o seguinte exemplo:
{
"mcpServers": {
"server1": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"],
"disabled": false
}
}
}Propriedades de configuração
Cada configuração de servidor requer uma destas propriedades:
command: Caminho para o executável para transporte Stdiourl: URL de endpoint SSE para servidores remotoshttpURL: URL de endpoint HTTP para http streamable
Propriedades opcionais incluem:
args: Argumentos de linha de comando para transporte Stdioheaders: Cabeçalhos HTTP personalizados para transporte SSEenv: Variáveis de ambiente para o processo do servidorcwd: Diretório de trabalho para transporte Stdiotimeout: Timeout de requisição em milissegundos (padrão: 600.000ms; 10min)alwaysAllow: Nomes de ferramentas para aprovar automaticamente. O Bob Shell lê estas entradas domcp.jsone aplica-as no início de cada tarefa, para que as ferramentas listadas não solicitem aprovação.disabled: Defina comotruepara desabilitar o servidor
Tipos de transporte
MCP suporta duas formas de se comunicar com servidores:
Transporte STDIO
Transporte STDIO executa servidores localmente na sua máquina:
- Usa fluxos de entrada/saída padrão para comunicação
- Fornece menor latência e melhor segurança
- Executa como um processo filho na sua máquina
Exemplo de configuração:
{
"mcpServers": {
"local-server": {
"command": "node",
"args": ["server.js"],
"cwd": "/path/to/project/Bob",
"env": {
"API_KEY": "your_api_key"
},
"alwaysAllow": ["tool1", "tool2"]
}
}
}Transporte SSE
Transporte SSE conecta a servidores remotos sobre HTTP/HTTPS:
- Usa protocolo Server-Sent Events
- Funciona com servidores hospedados em máquinas diferentes
- Requer acesso à rede
Exemplo de configuração:
{
"mcpServers": {
"remote-server": {
"url": "https://your-server-url.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
},
"alwaysAllow": ["tool3"]
}
}
}Transporte HTTP de streaming
O transporte HTTP de streaming conecta-se a servidores remotos usando HTTP:
- Usa uma conexão HTTP bidirecional
- Suporta mensagens de solicitação/resposta e mensagens enviadas pelo servidor
- Funciona com servidores hospedados em máquinas diferentes
Configuração de exemplo:
{
"mcpServers": {
"remote-server": {
"httpURL": "https://your-server-url.com/mcp"
}
}
}Exemplos específicos de plataforma
Configuração Windows
{
"mcpServers": {
"puppeteer": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}Configuração macOS e Linux
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
}Configuração de gerenciador de versão de runtime
{
"mcpServers": {
"mcp-batchit": {
"command": "mise",
"args": [
"x",
"--",
"node",
"/Users/myself/workspace/mcp-batchit/build/index.js"
],
"alwaysAllow": [
"search",
"batch_execute"
]
}
}
}