codepilot
CodePilot-Agent
Introduce una URL de repositorio de GitHub y obtén tres cosas: un informe de análisis de arquitectura trazable a archivos concretos, un Q&A de código en un solo turno para ese repositorio y una revisión de código con comprobaciones de tres categorías: estructura, manejo de errores y seguridad. La capacidad de análisis de repositorios también se expone como servidor MCP, de modo que clientes como Claude Code o Cursor puedan invocarla directamente.
Qué la diferencia de herramientas similares
Cada resultado del informe debe aterrizar en una ruta de archivo, y eso lo comprueba el propio programa, no restricciones del prompt: las rutas citadas deben existir de verdad y los números de línea deben estar dentro de las líneas reales del archivo. Las conclusiones que no superan la validación se descartan y se anotan en la sección de carencias del informe. Así nunca aparecen frases del estilo «este proyecto usa una arquitectura en capas y el código es claro», que valen para cualquier repositorio.
Related MCP server: github-repo-intel-mcp
Arquitectura
仓库地址 → clone 与语言识别 → 静态解析层(tree-sitter)
↓
结构骨架:符号表 · 依赖图 · 模块聚类 · 入口点
↓
┌─────────────────────┼─────────────────────┐
↓ ↓ ↓
Planner 定深挖范围 Reviewer 三类检查 切块与向量索引
↓ ↓ ↓
模块子 Agent 并行分析 评审发现 单轮代码问答
↓
汇总 + 引用校验 → 架构报告Lo determinante se hace con métodos deterministas: el árbol de archivos, el grafo de dependencias de import, la agrupación de módulos, los puntos de entrada y la identificación del stack tecnológico salen todos del análisis estático, sin LLM. Solo lo que hay que decidir crenos al agente: el Planner elige qué módulos excavar en profundidad, los subagentes de módulo leen código con herramientas, y a los candidatos del Reviewer los localiza el AST y después los decide la modelo.
El RAG solo sirve para el pipeline de pregunta y respuesta. Las preguntas de arquitectura (cuántas capas hay, quién depende de quién, dónde está la entrada) son preguntas de grafos; la similitud por embeddings no te las responde.
Inicio rápido
Con Docker (recomendado)
cp .env.example .env
# 编辑 .env,至少填 DEEPSEEK_API_KEY
docker compose up --buildAbre http://localhost.
Los dos puertos están unidos solo a 127.0.0.1: el backend no tiene capa de deducción (una decisión deliberada para un solo usuario local), y puede clonar repositorios arbitrarios y consumir presupuesto de LLM. Para acceder puedes cambiaré máquina, tendrás que añadir autenticación tú mismo; no te limites a cambiar a 0.0.0.0.
La caché del índice está en el volumen con nombre codepilot-data, que permanece al reiniciar el contenedor. Un segundo análisis del mismo repositorio encontrará la caché y se saltará la vectorización.
Desarrollo local
# 后端
pip install -e ".[dev]"
python -m uvicorn backend.main:get_app --factory --port 8000
# 前端(另开一个终端)
cd frontend && npm install && npm run devEl frontend está en http://localhost:5173 y el proxy de Vite envía /api al puerto 8000.
Configuración
Copia .env.example como .env. Solo hay una clave obligatoria:
Variable | Descripción |
| La clave API del LLM. El nombre de la variable sigue DeepSeek, pero basta con que el endpoint sea compatible con el protocolo de OpenAI. |
Los ajustes más habituales:
Variable | Valor por defecto | Descripción |
|
| Dowlet compatible con OpenAI |
| — | Perfil de ramificación (alta frecuencia, menos criterio): análisis de módulos. |
| — | Perfil de agregación (baja frecuencia, más criterio): Planner, juicios de revisión y redacción del informe. |
|
| En |
|
| Peticiones LLM simultáneamente. Pasa al pasar por un gateway intermedio, una concurrencia alta no dispara timeouts aguas arriba. |
|
| Límite de admisión. Los projetos TS tienen por cambio naturalillimientos más archivos que un proyecto Python del mismo tamaño; quizá haya que subirlo. |
.env no está en el repositorio ni en la imagen: .dockerignore lo descarta y compose lo inyecta en tiempo de ejecución con env_file.
docker compose configimprime las claves en texto plano. Al resolver la configuración,e composeexpande los valores deenv_file, así que si la salida de ese comando contiene claves reales: no lo pegues en issues, logs ni chats cuando revises. de un problema. Si quieres ver la estructura sin exponer los valores, quita esa variable sección de entorno antes de mirarla.
MCP server
No está en el contenedor (usa transporte stdio y el cliente lo lanza como subproceso). La configuración y la lista de herramientas están en backend/mcp_server/README.md.
Configuración mínima (el .mcp.json de Claude Code):
{
"mcpServers": {
"codepilot": {
"command": "python",
"args": ["-m", "backend.mcp_server.server"],
"cwd": "/绝对路径/CodePilot-Agent"
}
}
}La herramienta solo lee datos locales de repositorios ya alizados, así que envía un análisis primero desde la interfaz o desde la API.
Desarrollo
python -m pytest # 后端测试
python -m mypy backend # 类型检查
cd frontend && npm test # 前端测试
cd frontend && npm run build # 前端构建(含类型检查)Límites conocidos
Son decisiones deliberadas, no tareas pendientes.
El análisis simbólico solo soporta Python y TypeScript. En el resto de lenguajes cuentan en el árbol de archivos y las estadísticas de tamaño, pero no entran en la tabla de símbolos, no generan grafo de dependencias y no se trocen. La sección de carencias del informe los lista.
find_references es una búsqueda diterelens cercada por el grafo de dependencias, no resolución de referencias. La capa de parseo no establece los sitios de llamada; primero localiza el archivo de definición con la tabla de símbolos y después busca el texto en los archivos que la importan. Es mucho más preciso que un grep en todo el repositorio, pero también coinciden variables locales con el mismo nombre within. La tool devuelve esa nota con la respuesta.
El «código muerto» no se no se no se hace no publica como hallazgo. El criterio a nivel de archivo (grado cero de entrada y sin ser punto de entrada) da una tasa de falsos positivos casi del 100 % en repositorios baseline: los demandas de pruebas, configuración y las entrada de herramientas están fuera. Para hacerlo de verdadeta falta un análisis de referencias simbólico. Las revisiones de la categoría estructura ofrecen un recuento, pero no una lista itemizada.
El Q&A es de una sola turno. No conserva contexto ni reescribe consultas.
No hay capa de autenticación. Tanto la API del backend como el MCP server son para un solo usuario en local.
El estado de las tareas de análisis está en la memoria del proceso. Al reiniciar el servicio se pierden los incompletos; la caché de los indexados terminados sigue, y al reenviar el mismo repositorio se obtiene una respuesta en segundos. Es también la razón por la que el backend fija un solo worker.
Licencia
Sin suvisoniar.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Ask any GitHub repository a question. Get source-backed answers.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables semantic search and AI-powered Q&A over ingested GitHub documentation repositories via MCP tools.
- AlicenseNot gradedqualityCmaintenanceProvides AI coding agents with structured intelligence about any GitHub repository including overview, PRs, contributors, hot files, CI status, and dependencies via a hosted MCP endpoint.34MIT
- FlicenseNot gradedqualityCmaintenanceEnables natural-language analysis of GitHub repositories by exposing repository metadata, source code retrieval, search, and file reading as MCP tools, with answers grounded in the actual repository content.
- AlicenseNot gradedqualityCmaintenanceEnables self-hosted, read-only remote interaction with GitHub repositories, allowing listing repositories, searching code, and inspecting commits, pull requests, issues, and diffs via authenticated MCP clients.118MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ronronner02/codepilot-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server