O que é Project RAG?
O Project RAG indexa uma base de código na sua máquina e a serve a um agente via MCP. O código é dividido em funções, classes e métodos com Tree-sitter para 12 linguagens (trechos de 50 linhas para todo o resto), recebe embeddings localmente com fastembed-rs e o modelo all-MiniLM-L6-v2 e é armazenado em um banco LanceDB embutido, ao lado de um índice BM25 do Tantivy. As consultas combinam os dois rankings com reciprocal rank fusion. O Qdrant é um backend opcional na compilação.
O servidor expõe nove ferramentas via stdio: index_codebase, query_codebase, search_by_filters, search_git_history, get_statistics, clear_index, find_definition, find_references e get_call_graph, além de nove prompts correspondentes como comandos de barra. Nenhuma chave de API é necessária; a primeira execução baixa o modelo de embeddings de cerca de 50 MB.
O repositório, criado em novembro de 2025, tem licença MIT e cerca de 33 estrelas, e todos os commits vêm de um único contribuidor. A versão 0.1.0 foi para o crates.io em 24 de janeiro de 2026 e tem 77 downloads no total; não há releases no GitHub, o último commit é de 2 de fevereiro de 2026, e três pull requests externos esperam desde maio e julho sem resposta do mantenedor. Ele não está listado no registro oficial do MCP.
Como instalar Project RAG
cargo install project-ragProject RAG vale a pena?
O Project RAG tem os ingredientes certos e uma cozinha inacabada. A busca híbrida é a escolha correta para código, em que um identificador exato importa tanto quanto o significado, e combinar um índice LanceDB embutido com BM25 significa não ter nada para rodar ao lado. Mas o desenvolvimento parou em fevereiro de 2026, e os pull requests abertos descrevem bugs que um usuário vai encontrar no primeiro dia.
O primeiro é o log. O servidor inicializa a saída de tracing do Rust no stdout, que via stdio é reservado às mensagens MCP. O pull request #20, aberto desde maio, explica que as linhas de log então corrompem o fluxo e as chamadas de ferramenta voltam vazias; os próprios exemplos do README para Claude Desktop e Claude Code definem RUST_LOG=info, o que liga essas linhas. O segundo, no pull request #21, é que os padrões de inclusão e exclusão são comparados como substrings simples. O código-fonte confirma: um glob como **/vendor/** nunca é substring de um caminho real, então não corresponde a nada, e o próprio exemplo de exclusão do README não tem efeito além do que o .gitignore já ignora.
As ferramentas de navegação de código prometem mais do que entregam. O README descreve um resolvedor stack-graphs com cerca de 95% de precisão para Python, TypeScript, Java e Ruby; o Cargo.toml diz que esse recurso está preparado, mas não totalmente implementado, e o código-fonte não tem esse módulo. O que roda é a alternativa baseada em AST, que o próprio README situa em cerca de 70% de precisão. CodeGraph e GitNexus constroem um grafo de chamadas real sem embeddings; aqui, definições e referências vêm de correspondência de identificadores.
Os números de desempenho são do próprio autor, listados sob hardware típico e sem metodologia: cerca de 1.000 arquivos por minuto, 20 a 30 ms por busca, cerca de 100 MB de memória base mais 50 MB para o modelo. Um usuário na issue #11 relatou que um projeto de brinquedo levou cerca de 30 minutos para indexar e um monorepo grande levou horas em CPU. O README não faz nenhuma afirmação sobre economia de tokens. Sua documentação também se contradiz em alguns pontos, citando o Qdrant como motor e listando um banco embutido como trabalho futuro quando o LanceDB já é o padrão.
Onde ele se destaca
Um desenvolvedor em um repositório poliglota de 5.000 arquivos com anos de histórico
Perguntar ao agente de onde veio um comportamento e qual commit o mudou
search_git_history indexa os últimos 10 commits por padrão e vai mais fundo sob demanda, com filtros de autor, caminho e data. O README estima menos de 500 MB de memória para um projeto de 5.000 arquivos; conte com uma primeira indexação medida em minutos ou horas em CPU, segundo o relato de um usuário.
Uma equipe de plataforma em Rust construindo um agente interno de busca de código
Embutir a recuperação no próprio serviço em vez de rodar um servidor MCP
O crate expõe uma API de biblioteca RagClient, além do servidor, sob MIT. Reserve tempo para corrigir a correspondência de padrões por substring e o log no stdout, já que o upstream não incorporou nenhuma das duas correções.
Um gerente de engenharia comparando servidores locais de contexto de código para uma equipe
Escolher um em que a equipe possa confiar por um ano
Um contribuidor, 77 downloads no crates.io e nenhuma release desde janeiro fazem dele um projeto para fork, não para adoção. O CodeGraph é MIT, tem releases ativas e não precisa de modelo de embeddings.
Antes de decidir
- Configuração
- Exige Rust 1.88+ e protobuf-compiler; cargo install project-rag (0.1.0) ou cargo build --release a partir do repositório, depois claude mcp add com o caminho do binário. O README documenta Claude Code e Claude Desktop. A primeira execução baixa o modelo de embeddings antes que index_codebase possa terminar.
- Integrações
- Nove ferramentas via stdio. index_codebase e clear_index escrevem no índice local; as outras sete leem. Nove prompts MCP aparecem como comandos de barra /project: no Claude Code. Uma API de biblioteca em Rust oferece as mesmas funções.
- Dados e privacidade
- Código, embeddings e o índice BM25 ficam locais, por padrão em um diretório de dados da plataforma sob project-rag. index_codebase indexa qualquer caminho de diretório que o agente passar, então pode ler tudo o que o processo do servidor consegue. O download do modelo vem do Hugging Face. Não há alertas de segurança publicados.
- Custo em escala
- Gratuito; o custo é tempo de CPU e disco. O README estima cerca de 40 MB de memória a cada 10.000 trechos e cerca de 75 MB de armazenamento para um projeto de 1.000 arquivos, e não oferece caminho de embeddings por GPU.
- Limites
- Sem configuração da URL do Qdrant além de um padrão localhost fixo no código, filtros de caminho aplicados depois da consulta e divisão por AST para apenas 12 linguagens. Indexar projetos com mais de 100.000 arquivos leva um tempo considerável, segundo o próprio README.
O que é bom
- Busca híbrida vetorial e BM25 serve tanto para identificadores quanto para texto
- LanceDB embutido e embeddings locais; sem chave nem serviço externo
- Busca no histórico do git em mensagens de commit e diffs
- Um lock entre processos impede que duas sessões indexem o mesmo repositório ao mesmo tempo
O que não é
- Sem commits desde fevereiro de 2026; correções externas não incorporadas
- Logs no stdout podem corromper o fluxo MCP (PR #20 aberto)
- Padrões glob de inclusão e exclusão não funcionam (PR #21 aberto)
- A navegação de alta precisão anunciada não está implementada
Ideal para
Desenvolvedores Rust dispostos a compilar a partir do código-fonte e aplicar eles mesmos as correções abertas para ter busca híbrida de código local.
Alternativas ao Project RAG
Project RAG: perguntas frequentes
- Project RAG vale a pena?
- Um design sólido de busca híbrida para código, travado por correções não incorporadas para bugs que quebram seu próprio log e seus padrões de exclusão. Damos nota 2.8 de 5.
- Quanto custa Project RAG?
- Gratuito e com licença MIT.
- Quais são as desvantagens de Project RAG?
- Sem commits desde fevereiro de 2026; correções externas não incorporadas; logs no stdout podem corromper o fluxo MCP (PR #20 aberto); padrões glob de inclusão e exclusão não funcionam (PR #21 aberto); a navegação de alta precisão anunciada não está implementada.
- Para quem Project RAG é indicado?
- Desenvolvedores Rust dispostos a compilar a partir do código-fonte e aplicar eles mesmos as correções abertas para ter busca híbrida de código local.
- Quanto custa Project RAG para uma equipe ou em produção?
- Gratuito; o custo é tempo de CPU e disco. O README estima cerca de 40 MB de memória a cada 10.000 trechos e cerca de 75 MB de armazenamento para um projeto de 1.000 arquivos, e não oferece caminho de embeddings por GPU.
- Project RAG é seguro para dados da empresa?
- Código, embeddings e o índice BM25 ficam locais, por padrão em um diretório de dados da plataforma sob project-rag. index_codebase indexa qualquer caminho de diretório que o agente passar, então pode ler tudo o que o processo do servidor consegue. O download do modelo vem do Hugging Face. Não há alertas de segurança publicados.
- Quais são as melhores alternativas ao Project RAG?
- As alternativas mais próximas que analisamos são CodeGraph, GitNexus, Serena e Semble.
Respostas verificadas em 26 de out. de 2026.
