
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
mcp-codebase-search
Advanced tools
Servidor MCP para consulta semântica de codebase - Especializado em Flutter/Dart
Este projeto implementa um servidor MCP (Model Context Protocol) compatível com o Trae IDE que permite realizar consultas semânticas no seu codebase atual usando embeddings locais. Otimizado especialmente para projetos Flutter/Dart!
cd /caminho/para/seu/projeto
git clone https://github.com/seu-usuario/mcp-codebase-search.git
cd mcp-codebase-search
npm install
npm install -g .
# Indexar o projeto atual (diretório pai)
node index-codebase.cjs
# Ou usando o CLI:
npx mcp-codebase-search index [caminho/opcional]
# Via NPX (recomendado)
npx mcp-codebase-search --stdio
# Ou diretamente
node mcp-server.cjs --stdio
Nota: A primeira execução pode demorar alguns minutos para baixar os modelos de embedding.
Opção 1: Usando NPX (Recomendado)
{
"mcpServers": {
"codebase-search": {
"command": "npx",
"args": ["mcp-codebase-search@latest", "--stdio"]
}
}
}
Opção 2: Caminho direto
{
"mcpServers": {
"codebase-search": {
"command": "node",
"args": ["mcp-codebase-search/mcp-server.cjs", "--stdio"],
"cwd": "${workspaceFolder}"
}
}
}
Requisitos:
mcp-codebase-search deve estar na raiz do seu projetocode_index dentro do projetoConfiguração inicial:
# Navegue até o diretório do seu projeto
cd /caminho/para/seu/projeto
# Clone o MCP no seu projeto
git clone https://github.com/seu-usuario/mcp-codebase-search.git
cd mcp-codebase-search
# Instale as dependências
npm install
# Indexe o projeto (gera a pasta code_index)
npx mcp-codebase-search index
# Ou especifique o caminho do projeto
npx mcp-codebase-search index /caminho/para/seu/projeto
No Trae IDE:
O CLI inclui um comando para monitorar alterações e reindexar automaticamente:
npx mcp-codebase-search watch-index [caminho/opcional]
code_index do projeto.Para re-indexar o projeto manualmente, execute novamente o comando de indexação:
npx mcp-codebase-search index
# Nível de log (padrão: info)
LOG_LEVEL=debug npm start
# Diretório do índice (padrão: ./code_index)
INDEX_PATH=/custom/path npm start
Edite index-codebase.cjs para adicionar extensões:
const SUPPORTED_EXTENSIONS = [
'.dart', '.js', '.ts', '.py', '.java', '.kt',
'.swift', '.go', '.rs', '.cpp', '.c', '.h',
'.json', '.yaml', '.yml', '.md', '.txt'
];
seu-projeto/
├── mcp-codebase-search/ # Diretório do MCP (clonado)
│ ├── index-codebase.js # Script para indexar o codebase
│ ├── mcp-server.js # Servidor MCP
│ ├── test-search.js # Script de teste da API
│ ├── package.json # Dependências Node.js
│ └── README.md # Este arquivo
├── codebase_index/ # Índice gerado (criado automaticamente)
├── lib/ # Seu código Flutter/Dart
│ ├── main.dart
│ ├── models/
│ ├── screens/
│ ├── services/
│ └── utils/
├── pubspec.yaml # Configuração Flutter
└── ... (outros arquivos do projeto)
Certifique-se de que seu projeto Flutter está em um diretório acessível. O indexador suporta:
Arquivos Flutter/Dart:
.dart - Código Dart/Flutterpubspec.yaml - Configuração de dependênciaspubspec.lock - Lock de dependências (ignorado)Configurações Mobile:
build.gradle - Configuração AndroidInfo.plist - Configuração iOSAndroidManifest.xmlOutras linguagens suportadas:
# Indexar o projeto atual (do diretório raiz do projeto)
node mcp-codebase-search/index-codebase.js
Exemplo de saída para projeto Flutter:
2024-01-15 10:30:15 - INFO - Iniciando indexação do codebase...
2024-01-15 10:30:16 - INFO - Encontrados 67 arquivos para indexar
2024-01-15 10:30:20 - INFO - Processando: lib/main.dart
2024-01-15 10:30:21 - INFO - Processando: lib/models/user.dart
2024-01-15 10:30:22 - INFO - Processando: lib/screens/home_screen.dart
2024-01-15 10:30:23 - INFO - Processando: pubspec.yaml
...
2024-01-15 10:32:15 - INFO - Indexação concluída! 67 arquivos indexados.
2024-01-15 10:32:16 - INFO - Índice salvo em: ./codebase_index
# Para uso com Trae IDE (modo stdio)
node mcp-codebase-search/mcp-server.js --stdio
# Para teste via HTTP (opcional)
node mcp-codebase-search/mcp-server.js
Saída esperada:
2024-01-15 10:35:00 - INFO - Carregando índice de: ./codebase_index
2024-01-15 10:35:02 - INFO - Índice carregado: 67 documentos
2024-01-15 10:35:02 - INFO - Servidor rodando em http://localhost:8000
2024-01-15 10:35:02 - INFO - Documentação disponível em: http://localhost:8000/docs
O servidor MCP estará pronto para receber consultas via stdio do Trae IDE.
.dart - Código Dart/Flutter (widgets, modelos, serviços)pubspec.yaml - Configuração de dependências Flutter.gradle - Configuração Android.plist - Configuração iOSAndroidManifest.xml - Manifest Android.js, .ts, .html, .css, .scss.swift, .kt, .java, .m.py, .go, .rs, .cpp.json, .yaml, .xml, .toml.md, .txtO indexador automaticamente ignora:
.dart_tool/ - Ferramentas do Dartbuild/ - Arquivos de build.fvm/ - Flutter Version Managementpubspec.lock - Lock de dependênciasandroid/app/build/ - Build Androidios/build/ - Build iOS.flutter-plugins* - Cache de pluginscoverage/ - Relatórios de cobertura# Caminho do índice (padrão: ./codebase_index)
export INDEX_PATH=/caminho/personalizado/indice
# Número máximo de resultados (padrão: 10)
export MAX_RESULTS=20
# Nível de log (padrão: info)
export LOG_LEVEL=debug
Edite o arquivo index-codebase.js para adicionar novas extensões:
const SUPPORTED_EXTENSIONS = [
// Flutter/Dart (prioridade)
'.dart', '.pubspec',
// Suas extensões personalizadas
'.custom', '.config'
];
# Indexar o projeto atual
node mcp-codebase-search/index-codebase.js
# Iniciar servidor MCP (modo stdio para Trae IDE)
node mcp-codebase-search/mcp-server.js --stdio
# Iniciar servidor HTTP (para testes)
node mcp-codebase-search/mcp-server.js
# Testar a API
node mcp-codebase-search/test-search.js
# Testar servidor MCP
node mcp-codebase-search/mcp-server.js --stdio
O servidor MCP fornece logs detalhados sobre:
Para logs detalhados:
LOG_LEVEL=debug node mcp-codebase-search/mcp-server.js --stdio
Busca por funcionalidade:
Busca por padrões:
Busca por componentes:
Este erro indica que o Trae IDE não conseguiu se conectar ao servidor MCP. Soluções:
Certifique-se de usar a configuração correta:
{
"mcpServers": {
"codebase-search": {
"command": "node",
"args": ["mcp-codebase-search/mcp-server.js", "--stdio"],
"cwd": "${workspaceFolder}"
}
}
}
Verifique se o índice foi criado:
node mcp-codebase-search/index-codebase.js
Teste o comando manualmente:
node mcp-codebase-search/mcp-server.js --stdio
Deve mostrar "✅ Servidor MCP pronto para receber consultas via stdio!"
# Testar o servidor manualmente
node mcp-codebase-search/mcp-server.js --stdio
# Verificar se o índice existe
ls -la codebase_index/
# Verificar se o índice existe
ls -la .trae_index/
# Re-indexar o projeto atual
node index-codebase.js
# Limpar cache e tentar novamente
rm -rf ~/.cache/huggingface/
npm start
Projetos Grandes: Para projetos com +10k arquivos, considere filtrar diretórios:
// Em index-codebase.js, adicione ao IGNORE_PATTERNS
'build/', 'dist/', '.git/', 'coverage/'
Consultas Eficientes: Use termos específicos:
Threshold Otimizado:
0.2-0.3: Resultados mais amplos0.4-0.6: Resultados mais precisos0.7+: Apenas matches muito similares# Logs detalhados do servidor MCP
LOG_LEVEL=debug node mcp-codebase-search/mcp-server.js --stdio
# Logs de indexação
node mcp-codebase-search/index-codebase.js
# Re-indexe o projeto atual
node mcp-codebase-search/index-codebase.js
# Limpe o cache e reinstale
rm -rf node_modules/.cache
npm install
pubspec.yaml no diretório.dart estão em lib/Para usar com seu projeto Flutter, certifique-se de que possui a estrutura típica:
lib/main.dart - App principal com navegaçãolib/models/ - Modelos de dadoslib/screens/ - Telas da aplicaçãolib/services/ - Serviços HTTP e APIslib/utils/ - Utilitários e validaçõespubspec.yaml - Configuração do projetoPara usar o MCP Codebase Search com um projeto Flutter existente:
# 1. Navegue até o diretório do seu projeto Flutter
cd /caminho/para/seu/projeto/flutter
# 2. Clone e configure o MCP
git clone https://github.com/seu-usuario/mcp-codebase-search.git
cd mcp-codebase-search
npm install
# 3. Volte para o diretório do projeto e indexe
cd ..
node mcp-codebase-search/index-codebase.js
# 4. Configure no Trae IDE e use via MCP
# O servidor será iniciado automaticamente pelo Trae IDE
O MCP indexará automaticamente:
lib/ - Código Dart principaltest/ - Testesintegration_test/ - Testes de integraçãoContribuições são bem-vindas! Especialmente para:
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.
Desenvolvido com ❤️ para a comunidade Flutter/Dart
FAQs
MCP server for semantic codebase search using embeddings
The npm package mcp-codebase-search receives a total of 95 weekly downloads. As such, mcp-codebase-search popularity was classified as not popular.
We found that mcp-codebase-search demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.