Los asistentes de programación basados en inteligencia artificial son cada vez más capaces, pero siguen arrastrando un problema importante: consumen miles de tokens leyendo una y otra vez el mismo código para responder preguntas relativamente sencillas. OKF-RS, un nuevo proyecto de código abierto desarrollado en Rust, propone una alternativa distinta: transformar cualquier repositorio en una base de conocimiento estructurada que los agentes puedan consultar directamente mediante el Model Context Protocol (MCP), evitando volver a recorrer el código fuente en cada consulta.
Las claves de OKF-RS en 20 segundos
- Convierte proyectos de software en una base de conocimiento basada en Markdown y YAML.
- Funciona con 11 lenguajes, entre ellos Rust, Python, JavaScript, Go, Java y C++.
- Integra un servidor MCP para que asistentes como Claude Code consulten relaciones entre funciones sin releer el código.
- Sus desarrolladores afirman que determinadas consultas pueden reducir el consumo de contexto hasta unas 400 veces.
A diferencia de otras herramientas de análisis de código que almacenan la información en bases de datos propietarias o generan índices pensados únicamente para un modelo concreto, OKF-RS apuesta por un formato completamente abierto denominado Open Knowledge Format (OKF). El resultado son archivos Markdown convencionales, con metadatos YAML y enlaces entre conceptos, que pueden visualizarse en GitHub, versionarse con Git o consultarse desde cualquier herramienta compatible.
Del código fuente a un grafo de conocimiento
El funcionamiento es relativamente sencillo. Tras ejecutar el comando generate, la herramienta analiza el proyecto mediante Tree-sitter y crea un directorio knowledge/ con un archivo independiente para cada módulo, función, método, estructura o enumeración detectada.
Cada documento incorpora información como la firma de la función, su ubicación dentro del proyecto y las relaciones con otros elementos, formando un grafo navegable tanto para desarrolladores como para asistentes de IA.
Uno de sus objetivos es eliminar una de las tareas más repetitivas de los asistentes actuales: abrir numerosos archivos para averiguar, por ejemplo, qué funciones llaman a otra determinada o qué módulos dependen entre sí.
Compatible con once lenguajes y resolución mediante LSP
Aunque nació alrededor del ecosistema Rust, el proyecto ya soporta once lenguajes de programación:
- Rust
- Python
- TypeScript
- JavaScript
- Go
- Java
- C#
- PHP
- Kotlin
- C/C++
- Swift
Además del análisis sintáctico mediante Tree-sitter, puede utilizar servidores Language Server Protocol (LSP) como rust-analyzer o pyright para resolver llamadas ambiguas entre funciones cuando existen varios símbolos con el mismo nombre. Esta opción es completamente opcional y se activa mediante el parámetro --lsp.
MCP evita volver a leer el código
El componente más interesante para quienes utilizan asistentes de programación es probablemente okf-mcp.
Se trata de un servidor compatible con el Model Context Protocol, el estándar impulsado por Anthropic que permite a modelos como Claude acceder a herramientas externas.
En lugar de abrir decenas de archivos para responder preguntas sobre un proyecto, el asistente puede consultar directamente el grafo generado mediante llamadas como:
graph_callersgraph_calleesgraph_apigraph_cyclesgraph_modulesgraph_pathexplore
Según el desarrollador, una consulta que normalmente obligaría a leer un archivo de unas 6.000 tokens puede resolverse devolviendo apenas una decena de tokens mediante una consulta estructurada al grafo de conocimiento. En el ejemplo utilizado durante el desarrollo del propio proyecto, responder a la pregunta «¿quién llama a cmd_generate?» pasa de requerir aproximadamente 6.000 tokens a unos 15, lo que supone una reducción cercana a 400 veces en el contexto consumido para esa operación concreta. Se trata de una estimación proporcionada por el autor basada en ese caso de uso específico.
Mucho más que un índice de llamadas
Las últimas versiones del proyecto han ampliado notablemente sus capacidades.
Entre ellas destacan:
- Indexación incremental basada en hashes.
- Modo de vigilancia (
watch) para mantener actualizado el conocimiento mientras se desarrolla. - Validación para integración continua (CI).
- Búsquedas semánticas mediante embeddings compatibles con APIs tipo OpenAI.
- Generación de documentación HTML, PDF, GraphML y Obsidian.
- Análisis del impacto de cambios entre distintas versiones del código.
- Automatización de revisiones de pull requests mediante GitHub Actions.
- Exportación e importación de documentación DITA.
También incorpora herramientas para identificar comunidades dentro del código, detectar ciclos de dependencias, localizar componentes aislados y extraer patrones arquitectónicos como Builder, Factory, Singleton o Visitor utilizando análisis estructural en lugar de inteligencia artificial.
Un enfoque abierto para los asistentes de programación
Uno de los aspectos más diferenciadores de OKF-RS es que la inteligencia artificial no participa en la generación del conocimiento.
La herramienta crea toda la estructura mediante análisis estático del código. Posteriormente, de forma opcional, puede enriquecer descripciones utilizando modelos compatibles con la API de OpenAI, Ollama, LocalAI o LM Studio, aunque esta funcionalidad no resulta necesaria para generar el grafo principal.
El proyecto se distribuye bajo licencia dual MIT/Apache 2.0 y su hoja de ruta contempla nuevas funciones como un servidor REST y GraphQL para servir múltiples repositorios, integración como servidor LSP y un visualizador gráfico interactivo para explorar bases de conocimiento de mayor tamaño.
Preguntas frecuentes
¿Qué es OKF-RS?
Es una herramienta de código abierto escrita en Rust que transforma un repositorio de software en una base de conocimiento estructurada utilizando el formato Open Knowledge Format (OKF).
¿Qué lenguajes soporta?
Actualmente analiza proyectos escritos en Rust, Python, TypeScript, JavaScript, Go, Java, C#, PHP, Kotlin, C/C++ y Swift.
¿Para qué sirve el servidor MCP?
Permite que asistentes compatibles con Model Context Protocol consulten directamente el grafo de conocimiento sin tener que releer continuamente el código fuente.
¿Utiliza inteligencia artificial para analizar el código?
No de forma obligatoria. El análisis principal se realiza mediante Tree-sitter y otras técnicas de análisis estático. La IA únicamente puede utilizarse de manera opcional para enriquecer las descripciones de los conceptos.
Fuentes:







