devflow-mcp
Un servidor del Protocolo de Contexto de Modelo (MCP) listo para producción que proporciona a los asistentes de IA herramientas profundas para desarrolladores de GitHub: análisis de PR, revisión de código, generación de registros de cambios, auditoría de dependencias, resumen de commits y sugerencias de refactorización.
Características
6 herramientas MCP que cubren el flujo de trabajo completo del desarrollador
Análisis heurístico: sin llamadas externas a LLM, rápido y determinista
Integración con OSV.dev para datos reales de vulnerabilidades (npm y PyPI)
Caché LRU con TTL para minimizar las llamadas a la API de GitHub
Limitador de tasa de cubo de tokens para mantenerse dentro de los límites de GitHub
Cero
any: TypeScript estricto en todo el proyecto≥80% de cobertura de pruebas con HTTP simulado mediante MSW
Requisitos
Node.js 18+
Un token de acceso personal de GitHub con alcance
repo
Instalación
npm install -g devflow-mcpO ejecútalo directamente con npx:
npx devflow-mcpO clona y compila:
git clone https://github.com/yourorg/devflow-mcp
cd devflow-mcp
npm install
npm run buildConfiguración de Claude Desktop
Añádelo a tu claude_desktop_config.json:
{
"mcpServers": {
"devflow": {
"command": "npx",
"args": ["devflow-mcp"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Ubicaciones del archivo de configuración:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Herramientas
analyze_pr
Analiza una solicitud de extracción (pull request) de GitHub en busca de riesgos, hallazgos de seguridad y preparación para la fusión.
Parámetros:
Nombre | Tipo | Requerido | Descripción |
| string | sí | Propietario del repositorio |
| string | sí | Nombre del repositorio |
| number | sí | Número de la solicitud de extracción |
| string[] | no | Limitar análisis a: |
Retorna: risk_score (0-100), risk_level, findings[], change_summary, merge_recommendation
review_code
Revisa un fragmento de código en busca de calidad, problemas de seguridad y oportunidades de mejora.
Parámetros:
Nombre | Tipo | Requerido | Descripción |
| string | sí | Código fuente a revisar |
| string | sí | Lenguaje de programación |
| string | no | Contexto opcional sobre lo que hace el código |
Retorna: overall_score (1-10), issues[] con severidad + sugerencias de corrección, positive_observations[], refactor_priority
generate_changelog
Genera un registro de cambios entre dos referencias de Git a partir del historial de commits.
Parámetros:
Nombre | Tipo | Requerido | Descripción |
| string | sí | Propietario del repositorio |
| string | sí | Nombre del repositorio |
| string | sí | Referencia base (etiqueta, SHA, rama) |
| string | sí | Referencia de destino |
| string | no |
|
| string | no |
|
| boolean | no | Incluir nombres de autores (predeterminado: true) |
Retorna: changelog string, commit_count, stats por categoría, breaking_changes[]
audit_dependencies
Audita las dependencias del proyecto frente a la base de datos de vulnerabilidades OSV.
Parámetros:
Nombre | Tipo | Requerido | Descripción |
| string | sí | Propietario del repositorio |
| string | sí | Nombre del repositorio |
| string | sí |
|
| string | no | Severidad mínima a reportar: |
Retorna: vulnerabilities[] con IDs de CVE, versiones de corrección y comandos de corrección; audit_passed, stats por nivel de severidad, osv_query_timestamp
summarize_commits
Resume los commits recientes en una rama en un resumen legible por humanos.
Parámetros:
Nombre | Tipo | Requerido | Descripción |
| string | sí | Propietario del repositorio |
| string | sí | Nombre del repositorio |
| string | no | Nombre de la rama (predeterminado: rama principal del repo) |
| string | no | Fecha ISO o relativa ( |
| number | no | Máximo de commits (predeterminado: 50) |
| string | no |
|
Retorna: summary string, categories (features/fixes/docs/refactors/chores/other), authors[], commit_count
suggest_refactor
Analiza el código en busca de oportunidades de refactorización clasificadas por relación impacto-esfuerzo.
Parámetros:
Nombre | Tipo | Requerido | Descripción |
| string | sí | Código fuente a analizar |
| string | sí | Lenguaje de programación |
| string[] | no | Áreas de enfoque: |
Retorna: suggestions[] con justificación y estimaciones de esfuerzo, priority_order[], original_complexity_score
Desarrollo
# Install dependencies
npm install
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Type-check and build
npm run build
# Lint
npm run lint
# Format
npm run format
# Start the server (after build)
npm startEstructura del proyecto
src/
index.ts # Entry point
server.ts # MCP server registration
tools/ # Tool handlers (one per tool)
github/ # GitHub API clients
lib/ # Shared utilities
cache.ts # LRU cache with TTL
rate-limiter.ts # Token-bucket rate limiter
commit-parser.ts # Conventional commit parser
diff-parser.ts # Git diff parser
risk-scorer.ts # PR risk scoring heuristics
errors.ts # Typed MCP errors
providers/
osv.ts # OSV.dev vulnerability API
tests/
integration/ # Full MCP server tests via InMemoryTransport
tools/ # Unit tests per tool handler
lib/ # Unit tests for utilitiesEstrategia de pruebas
Pruebas unitarias: cada manejador de herramientas y biblioteca simulado con
vi.mockPruebas de integración: viaje completo cliente↔servidor MCP a través de
InMemoryTransport, HTTP interceptado con MSWSimulación HTTP: MSW v2 (
msw/node) — sin llamadas de red reales en las pruebasCobertura: ≥80% de ramas requeridas (
npm run test:coverage)
Contribución
Haz un fork del repositorio
Crea una rama de características
Añade pruebas para el nuevo comportamiento
Asegúrate de que
npm run build && npm run test:coverage && npm run lintpasen correctamenteAbre una solicitud de extracción
Licencia
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/boranesn/devflow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
