Bifrost VSCode Dev Tools

Expõe recursos das ferramentas de desenvolvimento do VSCode para clientes MCP, com suporte para configurações específicas de projeto.

Documentação

Bifrost - Servidor MCP de Ferramentas de Desenvolvimento para VSCode

Downloads da Extensão VSCode

Esta extensão do VS Code fornece um servidor MCP (Model Context Protocol) que expõe as poderosas ferramentas de desenvolvimento e recursos de linguagem do VSCode para ferramentas de IA. Ela permite navegação avançada de código, análise e manipulação ao usar assistentes de codificação com IA que suportam o protocolo MCP.

image

Sumário

Recursos

  • Integração com Servidor de Linguagem: Acesse os recursos do servidor de linguagem do VSCode para qualquer linguagem suportada
  • Navegação de Código: Encontre referências, definições, implementações e mais
  • Busca de Símbolos: Pesquise símbolos em todo o seu espaço de trabalho
  • Análise de Código: Obtenha tokens semânticos, símbolos de documento e informações de tipo
  • Seleção Inteligente: Use intervalos de seleção semântica para seleção inteligente de código
  • Ações de Código: Acesse sugestões de refatoração e correções rápidas
  • Servidor HTTP/SSE: Expõe recursos de linguagem por meio de um servidor HTTP compatível com MCP
  • Integração com Assistentes de IA: Pronto para trabalhar com assistentes de IA que suportam o protocolo MCP

Uso

Instalação

  1. Instale a extensão no marketplace do VS Code
  2. Instale as extensões específicas de linguagem que você precisar para o seu desenvolvimento
  3. Abra seu projeto no VS Code

Configuração

A extensão iniciará automaticamente um servidor MCP quando ativada. Para configurar um assistente de IA para usar este servidor:

  1. O servidor roda na porta 8008 por padrão (configurável com bifrost.config.json)
  2. Configure seu assistente de IA compatível com MCP para conectar-se a:
    • Endpoint SSE: http://localhost:8008/sse
    • Endpoint de mensagens: http://localhost:8008/message

Regras para LLM

Também forneci regras de exemplo que podem ser usadas em arquivos .cursorrules para melhores resultados.

Exemplo de Regras Cursor

Exemplo de Regras MDC

Instalação no Cline

  • Passo 1. Instale o Supergateway
  • Passo 2. Adicione a configuração ao cline
  • Passo 3. Ele aparecerá em vermelho, mas parece funcionar bem

Configuração para Windows

{
  "mcpServers": {
    "Bifrost": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}

Configuração para Mac/Linux

{
  "mcpServers": {
    "Bifrost": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}

Instalação no Roo Code

  • Passo 1: Adicione a configuração SSE à sua configuração MCP global ou baseada em projeto
{
  "mcpServers": {
    "Bifrost": {
      "url": "http://localhost:8008/sse"
    }
  }
}

Screenshot_78

Siga este vídeo para instalar e usar com o cursor

PARA VERSÕES NOVAS DO CURSOR, USE ESTE CÓDIGO

{
  "mcpServers": {
    "Bifrost": {
      "url": "http://localhost:8008/sse"
    }
  }
}

Suporte a Múltiplos Projetos

Ao trabalhar com vários projetos, cada projeto pode ter seu próprio endpoint e porta de servidor MCP dedicados. Isso é útil quando você tem várias janelas do VS Code abertas ou está trabalhando com vários projetos que precisam de recursos de servidor de linguagem.

Configuração do Projeto

Crie um arquivo bifrost.config.json na raiz do seu projeto:

{
    "projectName": "MyProject",
    "description": "Description of your project",
    "path": "/my-project",
    "port": 5642
}

O servidor usará esta configuração para:

  • Criar endpoints específicos do projeto (por exemplo, http://localhost:5642/my-project/sse)
  • Fornecer informações do projeto aos assistentes de IA
  • Usar uma porta dedicada para cada projeto
  • Isolar os serviços do projeto de outras instâncias em execução

Exemplos de Configuração

  1. Projeto de API Backend:
{
    "projectName": "BackendAPI",
    "description": "Node.js REST API with TypeScript",
    "path": "/backend-api",
    "port": 5643
}
  1. Aplicativo Web Frontend:
{
    "projectName": "FrontendApp",
    "description": "React frontend application",
    "path": "/frontend-app",
    "port": 5644
}

Configuração de Porta

Cada projeto deve especificar sua própria porta exclusiva para evitar conflitos quando várias instâncias do VS Code estiverem em execução:

  • O campo port em bifrost.config.json determina qual porta o servidor usará
  • Se nenhuma porta for especificada, o padrão será 8008 para compatibilidade com versões anteriores
  • Escolha portas diferentes para projetos diferentes para garantir que possam ser executados simultaneamente
  • O servidor falhará ao iniciar se a porta configurada já estiver em uso, exigindo que você:
    • Libere a porta
    • Altere a porta na configuração
    • Feche a outra instância do VS Code que está usando essa porta

Conectando-se a Endpoints Específicos do Projeto

Atualize a configuração do seu assistente de IA para usar o endpoint e a porta específicos do projeto:

{
  "mcpServers": {
    "BackendAPI": {
      "url": "http://localhost:5643/backend-api/sse"
    },
    "FrontendApp": {
      "url": "http://localhost:5644/frontend-app/sse"
    }
  }
}

Compatibilidade com Versões Anteriores

Se nenhum bifrost.config.json estiver presente, o servidor usará a configuração padrão:

  • Porta: 8008
  • Endpoint SSE: http://localhost:8008/sse
  • Endpoint de mensagens: http://localhost:8008/message

Isso mantém a compatibilidade com configurações e ferramentas existentes.

Ferramentas Disponíveis

A extensão fornece acesso a muitos recursos de linguagem do VSCode, incluindo:

  • find_usages: Localize todas as referências de símbolos.
  • go_to_definition: Vá para definições de símbolos instantaneamente.
  • find_implementations: Descubra implementações de interfaces/métodos abstratos.
  • get_hover_info: Obtenha documentação rica de símbolos ao passar o mouse.
  • get_document_symbols: Liste todos os símbolos em um arquivo.
  • get_completions: Autocompletações conscientes do contexto.
  • get_signature_help: Dicas de parâmetros de função e sobrecargas.
  • get_rename_locations: Obtenha com segurança os locais para realizar uma renomeação em todo o projeto.
  • rename: Realize a renomeação de um símbolo.
  • get_code_actions: Correções rápidas, refatorações e melhorias.
  • get_semantic_tokens: Dados aprimorados de realce.
  • get_call_hierarchy: Veja relações de chamadas recebidas/enviadas.
  • get_type_hierarchy: Visualize a herança de classes e interfaces.
  • get_code_lens: Insights inline (referências, testes, etc.).
  • get_selection_range: Expansão inteligente de seleção para blocos de código.
  • get_type_definition: Vá para as definições de tipo subjacentes.
  • get_declaration: Navegue até as declarações de símbolos.
  • get_document_highlights: Realce todas as ocorrências de um símbolo.
  • get_workspace_symbols: Pesquise símbolos em todo o seu espaço de trabalho.

Requisitos

  • Visual Studio Code versão 1.93.0 ou superior
  • Extensões de linguagem apropriadas para as linguagens com as quais você deseja trabalhar (por exemplo, extensão C# para arquivos C#)

Comandos Disponíveis

  • Bifrost MCP: Start Server - Inicie manualmente o servidor MCP na porta 8008
  • Bifrost MCP: Start Server on port - Inicie manualmente o servidor MCP em uma porta especificada
  • Bifrost MCP: Stop Server - Pare o servidor MCP em execução
  • Bifrost MCP: Open Debug Panel - Abra o painel de depuração para testar as ferramentas disponíveis

image

Histórico de Estrelas

Star History Chart

Exemplo de Uso de Ferramentas

Encontrar Referências

{
  "name": "find_usages",
  "arguments": {
    "textDocument": {
      "uri": "file:///path/to/your/file"
    },
    "position": {
      "line": 10,
      "character": 15
    },
    "context": {
      "includeDeclaration": true
    }
  }
}

Pesquisa de Símbolos no Espaço de Trabalho

{
  "name": "get_workspace_symbols",
  "arguments": {
    "query": "MyClass"
  }
}

Solução de Problemas

Se você encontrar problemas:

  1. Certifique-se de ter as extensões de linguagem apropriadas instaladas para o seu projeto
  2. Verifique se o seu projeto foi carregado corretamente no VSCode
  3. Verifique se a porta 8008 está disponível no seu sistema
  4. Verifique o painel de saída do VSCode para ver se há mensagens de erro

Contribuição

Aqui estão os comandos do Vscode se você quiser adicionar funcionalidades adicionais, fique à vontade. Acho que ainda precisamos de renomeação e alguns outros. Sinta-se à vontade para enviar problemas ou solicitações de pull para o repositório do GitHub.

vsce package

Depuração

Use o comando MCP: Open Debug Panel image

Licença

Esta extensão é licenciada sob a Licença APGL-3.0.