ConfiguraçãoMCP

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:

  1. Configuração global: Configurações em <USER_HOME>/.bob/mcp_settings.json aplicam a todos os workspaces
  2. Configuração de nível de projeto: Configurações em .bob/mcp.json aplicam 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 Stdio
  • url: URL de endpoint SSE para servidores remotos
  • httpURL: URL de endpoint HTTP para http streamable

Propriedades opcionais incluem:

  • args: Argumentos de linha de comando para transporte Stdio
  • headers: Cabeçalhos HTTP personalizados para transporte SSE
  • env: Variáveis de ambiente para o processo do servidor
  • cwd: Diretório de trabalho para transporte Stdio
  • timeout: Timeout de requisição em milissegundos (padrão: 600.000ms; 10min)
  • alwaysAllow: Nomes de ferramentas para aprovar automaticamente. O Bob Shell lê estas entradas do mcp.json e aplica-as no início de cada tarefa, para que as ferramentas listadas não solicitem aprovação.
  • disabled: Defina como true para 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

Ao usar gerenciadores de versão como asdf ou mise:

{
  "mcpServers": {
    "mcp-batchit": {
      "command": "mise",
      "args": [
        "x",
        "--",
        "node",
        "/Users/myself/workspace/mcp-batchit/build/index.js"
      ],
      "alwaysAllow": [
        "search",
        "batch_execute"
      ]
    }
  }
}
Como está este tópico?