agentless-mcp
agentless-mcp
agentless-mcp es maquinaria estructural sin modelo para agentes de codificación: un mapa de repositorio tree-sitter bajo demanda a cualquier nivel de zoom (árbol de directorios, esqueleto, rebanada de líneas), búsqueda de símbolos y referencias para localización de errores, y análisis de parches determinista, verificación de sintaxis y validación de candidatos. Nunca llama a un modelo de lenguaje — el agente que llama aporta todo el razonamiento, y esta herramienta aporta el análisis, la clasificación, la contención y la verificación que de otro modo improvisaría. Se distribuye como una CLI que cualquier agente puede invocar a través de Bash y como un servidor MCP stdio ligero sobre el mismo núcleo.
Instalación
Hoy, desde git:
uv tool install git+https://github.com/dmarlow-personal/agentless-mcp
agentless-mcp warmupAñade el extra mcp para el servidor stdio
(uv tool install "agentless-mcp[mcp] @ git+..."). Pronto habrá una versión en PyPI; hasta entonces, la URL de git es la vía de instalación.
Related MCP server: codeindex
Estado
Las fases 1 a 6 están incluidas. La CLI y el servidor MCP stdio están ambos activos sobre un mismo conjunto de servicios de aplicación: mapa de repositorio, árbol de directorios, esqueleto, rebanada, búsqueda de símbolos, expansión de símbolos, fan-in, resolución de ubicaciones y las vistas de grafo resuelto — explain (fan-in y fan-out por niveles de un símbolo), path (ruta resuelta más corta entre dos símbolos) y cycles (ciclos de importación a nivel de módulo). El lado de escritura — análisis de parches SEARCH/REPLACE, verificación de sintaxis, aplicación aislada en worktree, validación de candidatos y el voto agrupado por equivalencia — es solo CLI y nunca se expone a través de MCP.
La resolución de referencias es determinista y sin modelo: un nombre se vincula a sus definiciones candidatas a través de los imports del propio archivo y sus propias definiciones, y cada arista lleva el nivel de evidencia discreto que la respalda (mismo archivo, resuelto vía import, único, solo-nombre-ambiguo). El grafo se ensambla en memoria en cada llamada a partir del árbol actual — nada de él se almacena, y no hay watcher.
El análisis se realiza bajo demanda por defecto; agentless-mcp index construye una caché SQLite por repositorio en $XDG_CACHE_HOME/agentless-mcp/ (nunca dentro del repositorio analizado) que guarda símbolos, imports y referencias de archivos cuyo sha256 no ha cambiado. El recibo de cada respuesta nombra la generación de la caché y si sigue siendo la del propio repositorio, y --no-cache / no_cache: true fuerza el análisis bajo demanda.
Un repositorio puede declarar sus propios valores predeterminados en un .agentless-mcp.json opcional en su raíz (presupuesto de mapa, máximo de archivos, granularidad, docstrings, adiciones a la lista de exclusión y un test_cmd que solo usará el validate de la CLI, solo cuando la invocación no haya nombrado ninguno propio, y solo después de imprimirlo). El archivo es contenido del repositorio: cada valor está verificado por esquema y acotado, ninguna clave es de tipo ruta, y las claves desconocidas son advertencias en el sobre de respuesta, no errores.
Comienza con docs/agent-guide.md: es la guía de uso escrita para el agente que llamará a esto.
Desarrollo
uv sync --extra mcp
uv run agentless-mcp warmup
uv run pre-commit run --all-files
uv run pytestuv run pre-commit run --all-files es la puerta de entrada — es un superconjunto estricto de ejecutar ruff manualmente (añade ruff-format, mypy strict, codespell, import-linter y deptry).
Soporte para Windows
Linux y macOS son las plataformas compatibles: son en las que se ejecuta la suite de pruebas, y todas las garantías siguientes se verifican allí. Windows es mejor esfuerzo documentado — las llamadas solo-POSIX tienen rutas de Windows, no hay CI de Windows, y nada aquí se ha ejecutado en Windows.
Cubierto:
Toda la superficie de lectura. Mapa, árbol, esqueleto, rebanada, búsqueda de símbolos, fan-in y resolución de ubicaciones son análisis puro y aritmética de rutas, y las rutas pasan por
pathlibcon resultados relativos al repositorio normalizados a barras diagonales.La caché de etiquetas, incluida su disciplina de escritor único. El bloqueo de índice es
fcntl.flocken POSIX ymsvcrt.lockingen Windows, seleccionado enutil/filelock.py; ambos son no bloqueantes, por lo que una segunda ejecución de índice concurrente se rechaza en lugar de ponerse en cola en cualquiera de las plataformas.Análisis de parches, verificación de sintaxis y la clave de equivalencia.
No cubierto, y la diferencia es real:
La garantía de tiempo de espera es más débil. En POSIX, un comando de prueba con tiempo agotado recibe la muerte de todo su grupo de procesos (SIGTERM, luego SIGKILL), por lo que cualquier cosa que haya lanzado muere con él. En Windows, el hijo se crea con
CREATE_NEW_PROCESS_GROUPy luego se envíaterminate()/kill()solo al líder: los nietos pueden sobrevivir a un tiempo de espera. Si tu comando de prueba inicia un servidor, espera tener que limpiarlo tú mismo.Sin CI de Windows. El despacho de plataforma se prueba unitariamente en Linux; las llamadas al sistema de Windows no se ejercitan en ningún lugar.
Cualquier cosa que dependa de
git worktreese comporta como lo hace el git local; no se ha ejercitado en sistemas de archivos de Windows.
Seguridad
La postura de la herramienta hacia un repositorio analizado es de solo lectura y confinada a rutas: la superficie MCP expone solo herramientas de lectura, la aplicación de parches y la ejecución de pruebas están en el lado de la CLI y por defecto usan un worktree git aislado, y no se escribe ningún estado de caché o temporal dentro del repositorio bajo análisis.
Una advertencia sobre la cadena de suministro merece mencionarse de antemano. Las gramáticas provienen de tree-sitter-language-pack, que descarga un paquete de plataforma precompilado en el primer uso. Esos paquetes se verifican con SHA-256 contra un manifiesto de versión, y una discrepancia es un fallo duro — pero el propio manifiesto (parsers.json) se confía por HTTPS en lugar de estar firmado criptográficamente. Aceptamos ese riesgo bajo un fijado exacto de versión: tree-sitter y tree-sitter-language-pack se fijan como una unidad y solo se mueven mediante un bump revisado. La descarga se limita a un paso de calentamiento explícito, y tanto la URL del manifiesto como el directorio de caché son sobreescribibles para instalaciones con espejo o aisladas. Consulta docs/supply-chain-audit.md para la auditoría completa.
Licencia
MIT — ver LICENSE.
Partes de este paquete se derivan de Agentless (MIT, Copyright (c) 2024 OpenAutoCoder): las primitivas de rebanada de líneas, la gramática de ubicaciones, el formato de edición SEARCH/REPLACE y su analizador, y la escalera de filtros de candidatos y la clave de voto. NOTICE nombra cada archivo y reproduce la licencia original.
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Code-map tools for AI agents: see a repo's structure first, then edit only what matters.
11
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceLocal repository intelligence MCP server that builds a reusable graph of code structure for AI coding agents, providing 34 network-free tools for understanding, searching, and analyzing repositories without data leaving the machine.58 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding agents to query code structure efficiently through 16 MCP tools, including symbol lookup, full-text search, dependency analysis, and refactor planning, powered by tree-sitter parsing and index-backed code intelligence.3MIT
- AlicenseCqualityBmaintenanceLocal-first MCP runtime for coding agents with bounded workspace access, content-preconditioned writes, AST search, LSP navigation and diagnostics, and Git status/diff. Designed to give coding agents useful repository access without treating unrestricted shell access as the default integration boundary.2133MIT
- AlicenseBqualityCmaintenanceIndexes a Python/JS/TS repository into a local SQLite knowledge graph so agents can trace callers, callees, imports, subclasses and covering tests, measure impact radius, rank diff risk, and summarize architecture without grepping files. Exposes these queries as MCP tools alongside an equivalent CLI, with no daemon, embeddings, or network access.10MIT