¿Qué es Project RAG?
Project RAG indexa una base de código en tu máquina y la sirve a un agente mediante MCP. El código se divide en funciones, clases y métodos con Tree-sitter para 12 lenguajes (fragmentos de 50 líneas para todo lo demás), se convierte en embeddings en local con fastembed-rs y el modelo all-MiniLM-L6-v2, y se guarda en una base de datos LanceDB integrada junto a un índice BM25 de Tantivy. Las consultas combinan las dos clasificaciones con reciprocal rank fusion. Qdrant es un backend opcional en tiempo de compilación.
El servidor expone nueve herramientas por stdio: index_codebase, query_codebase, search_by_filters, search_git_history, get_statistics, clear_index, find_definition, find_references y get_call_graph, además de nueve prompts equivalentes como comandos de barra. No necesita clave de API; la primera ejecución descarga el modelo de embeddings, de unos 50 MB.
El repositorio, creado en noviembre de 2025, tiene licencia MIT y unas 33 estrellas, y todos los commits vienen de un solo colaborador. La versión 0.1.0 llegó a crates.io el 24 de enero de 2026 y suma 77 descargas en total; no hay versiones en GitHub, el último commit es del 2 de febrero de 2026 y tres pull requests externas llevan esperando desde mayo y julio sin respuesta del mantenedor. No figura en el registro oficial de MCP.
Cómo instalar Project RAG
cargo install project-rag¿Merece la pena Project RAG?
Project RAG tiene los ingredientes adecuados y una cocina a medio terminar. La búsqueda híbrida es la decisión correcta para el código, donde un identificador exacto importa tanto como el significado, y combinar un índice LanceDB integrado con BM25 significa que no hay que ejecutar nada a su lado. Pero el desarrollo se detuvo en febrero de 2026, y las pull requests abiertas describen fallos con los que un usuario se topará el primer día.
El primero es el registro. El servidor inicializa la salida de tracing de Rust en stdout, que en stdio está reservada a los mensajes MCP. La pull request #20, abierta desde mayo, explica que las líneas de registro corrompen entonces el flujo y las llamadas a herramientas vuelven vacías; los propios ejemplos del README para Claude Desktop y Claude Code definen RUST_LOG=info, que activa esas líneas. El segundo, en la pull request #21, es que los patrones de inclusión y exclusión se comparan como simples subcadenas. El código lo confirma: un glob como **/vendor/** nunca es una subcadena de una ruta real, así que no coincide con nada, y el propio ejemplo de exclusión del README no tiene más efecto que lo que .gitignore ya omite.
Las herramientas de navegación por el código prometen más de lo que se entrega. El README describe un resolvedor con stack-graphs con una precisión de alrededor del 95 % para Python, TypeScript, Java y Ruby; Cargo.toml dice que esa función está preparada pero no implementada del todo, y el código no tiene ese módulo. Lo que funciona es la alternativa basada en el AST, a la que el propio README atribuye una precisión de alrededor del 70 %. CodeGraph y GitNexus construyen un grafo de llamadas real sin embeddings; aquí, las definiciones y referencias salen de la coincidencia de identificadores.
Las cifras de rendimiento son del propio autor, presentadas para hardware típico y sin método: unos 1.000 archivos por minuto, de 20 a 30 ms por búsqueda, unos 100 MB de memoria base más 50 MB para el modelo. Un usuario contó en la incidencia #11 que un proyecto de juguete tardó unos 30 minutos en indexarse y un monorepo grande, horas en CPU. El README no afirma nada sobre ahorro de tokens. Su documentación también se contradice en algunos puntos, ya que nombra Qdrant como motor y presenta una base de datos integrada como trabajo futuro cuando LanceDB ya es la opción predeterminada.
Dónde se gana su sitio
Un desarrollador en un repositorio políglota de 5.000 archivos con años de historial
Preguntar al agente de dónde viene un comportamiento y qué commit lo cambió
search_git_history indexa por defecto los últimos 10 commits y profundiza bajo demanda, con filtros por autor, ruta y fecha. El README sitúa un proyecto de 5.000 archivos por debajo de 500 MB de memoria; según un usuario, cuenta con que el primer indexado lleve de minutos a horas en CPU.
Un equipo de plataforma en Rust que construye un agente interno de búsqueda de código
Integrar la recuperación en su propio servicio en lugar de ejecutar un servidor MCP
El crate expone una API de biblioteca RagClient además del servidor, con licencia MIT. Reserva tiempo para corregir la comparación de patrones por subcadenas y el registro en stdout, ya que el proyecto original no ha fusionado ninguna de las dos correcciones.
Una responsable de ingeniería que compara servidores locales de contexto de código para un equipo
Elegir uno del que el equipo pueda depender durante un año
Un solo colaborador, 77 descargas en crates.io y ninguna versión desde enero lo convierten en un proyecto para hacer un fork, no para adoptar. CodeGraph tiene licencia MIT, publica versiones activamente y no necesita modelo de embeddings.
Antes de decidirte
- Puesta en marcha
- Necesita Rust 1.88+ y protobuf-compiler; cargo install project-rag (0.1.0) o cargo build --release desde el repositorio, y después claude mcp add con la ruta del binario. El README documenta Claude Code y Claude Desktop. La primera ejecución descarga el modelo de embeddings antes de que index_codebase pueda terminar.
- Integraciones
- Nueve herramientas por stdio. index_codebase y clear_index escriben en el índice local; las otras siete leen. Nueve prompts MCP aparecen como comandos de barra /project: en Claude Code. Una API de biblioteca en Rust ofrece las mismas funciones.
- Datos y privacidad
- El código, los embeddings y el índice BM25 se quedan en local, por defecto en un directorio de datos de la plataforma bajo project-rag. index_codebase indexa cualquier ruta de directorio que le pase el agente, así que puede leer todo lo que pueda el proceso del servidor. El modelo se descarga de Hugging Face. No hay avisos de seguridad publicados.
- Coste a escala
- Gratis; el coste es tiempo de CPU y disco. El README estima unos 40 MB de memoria por cada 10.000 fragmentos y unos 75 MB de almacenamiento para un proyecto de 1.000 archivos, y no ofrece una vía de embeddings por GPU.
- Límites
- Sin configuración para la URL de Qdrant más allá de un localhost predeterminado fijado en el código, filtros de ruta aplicados después de la consulta y fragmentación por AST solo para 12 lenguajes. Indexar proyectos de más de 100.000 archivos lleva un tiempo considerable, según el propio README.
Lo bueno
- La búsqueda híbrida vectorial y BM25 sirve tanto para identificadores como para texto
- LanceDB integrado y embeddings locales; sin clave ni servicio externo
- Búsqueda en el historial de Git sobre mensajes de commit y diffs
- Un bloqueo entre procesos impide que dos sesiones indexen el mismo repositorio a la vez
Lo malo
- Sin commits desde febrero de 2026; correcciones externas sin fusionar
- Los registros en stdout pueden corromper el flujo MCP (PR #20 abierta)
- Los patrones glob de inclusión y exclusión no coinciden (PR #21 abierta)
- La navegación de alta precisión anunciada no está implementada
Ideal para
Desarrolladores de Rust dispuestos a compilar desde el código fuente y aplicar ellos mismos las correcciones abiertas para tener búsqueda híbrida de código en local.
Alternativas a Project RAG
Project RAG: preguntas frecuentes
- ¿Merece la pena Project RAG?
- Un diseño de búsqueda híbrida sólido para código, lastrado por correcciones sin fusionar para fallos que rompen su propio registro y sus patrones de exclusión. Le damos un 2.8 sobre 5.
- ¿Cuánto cuesta Project RAG?
- Gratis y con licencia MIT.
- ¿Qué inconvenientes tiene Project RAG?
- Sin commits desde febrero de 2026; correcciones externas sin fusionar; los registros en stdout pueden corromper el flujo MCP (PR #20 abierta); los patrones glob de inclusión y exclusión no coinciden (PR #21 abierta); la navegación de alta precisión anunciada no está implementada.
- ¿Para quién es Project RAG?
- Desarrolladores de Rust dispuestos a compilar desde el código fuente y aplicar ellos mismos las correcciones abiertas para tener búsqueda híbrida de código en local.
- ¿Cuánto cuesta Project RAG para un equipo o en producción?
- Gratis; el coste es tiempo de CPU y disco. El README estima unos 40 MB de memoria por cada 10.000 fragmentos y unos 75 MB de almacenamiento para un proyecto de 1.000 archivos, y no ofrece una vía de embeddings por GPU.
- ¿Es Project RAG seguro para los datos de la empresa?
- El código, los embeddings y el índice BM25 se quedan en local, por defecto en un directorio de datos de la plataforma bajo project-rag. index_codebase indexa cualquier ruta de directorio que le pase el agente, así que puede leer todo lo que pueda el proceso del servidor. El modelo se descarga de Hugging Face. No hay avisos de seguridad publicados.
- ¿Cuáles son las mejores alternativas a Project RAG?
- Las alternativas más cercanas que hemos analizado son CodeGraph, GitNexus, Serena y Semble.
Respuestas comprobadas el 26 oct 2026.