Developer Productivity MCP
Developer Productivity MCP
Un servidor FastMCP que expone las capacidades de GitHub, Jira y métricas de ingeniería como herramientas MCP, además de un cliente del OpenAI Agents SDK que las impulsa como flujos de trabajo de múltiples pasos.
┌──────────────────┐
│ User │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ OpenAI Agent │
│ Agents SDK │
└────────┬─────────┘
│
MCP Protocol
│
▼
┌─────────────────────────┐
│ FastMCP Server │
│ │
│ search_github_code │
│ get_jira_sprint_status │
│ analyze_pull_request │
│ query_project_metrics │
└──────┬──────┬──────┬────┘
│ │ │
GitHub API Jira PostgreSQLEl modelo nunca habla directamente con GitHub, Jira o PostgreSQL. El servidor MCP posee las credenciales, la paginación, el manejo de errores y la configuración de las respuestas, y devuelve hechos; el agente contribuye con razonamiento y explicación. La prosa no es, por tanto, una herramienta — una herramienta de explicación transferiría el juicio al servidor, donde no puede ver los resultados de las otras herramientas.
Las cuatro herramientas
Herramienta | Backend | Qué hace más allá de envolver la API |
| GitHub REST | Normaliza los resultados de búsqueda a |
| Jira Agile | % de finalización, progreso de puntos de historia, tickets bloqueados / de alta prioridad / atrasados / sin asignar / en riesgo, nivel de riesgo del sprint |
| GitHub REST | Análisis estático del diff: seguridad, base de datos, contrato de API, detección de dependencias y pruebas; análisis de código eliminado; nivel de riesgo puntuado; cambios incompatibles y recomendaciones de revisión |
| PostgreSQL | Seis métricas detrás de una lista de permitidos — el modelo elige un nombre de métrica, nunca SQL |
Diseño
.
├── main.py # agent-side CLI entry point
├── .env.example
├── agent/
│ ├── developer_agent.py # agent definitions + instructions
│ └── workflows.py # multi-step agentic workflows
├── src/
│ ├── config.py # MCP server environment
│ ├── pr_analysis.py # PR static-analysis helpers
│ └── server.py # FastMCP server + the four tools
└── sql/
└── schema.sql # tables backing query_project_metricsConfiguración
uv sync
cp .env.example .env # then fill in your credentials
psql "$DATABASE_URL" -f sql/schema.sqlEjecutar
Terminal 1 — el servidor MCP (Streamable HTTP en http://localhost:8000/mcp):
uv run python -m src.serverTerminal 2 — un flujo de trabajo de agente:
# GitHub code search
uv run python main.py search --repository my-org/payments-api --query retry
# pull-request risk analysis
uv run python main.py pr --repository my-org/payments-api --number 142
# the full multi-tool sprint investigation
uv run python main.py sprint --project PAY --sprint 42MCP_TRANSPORT=stdio ejecuta el servidor a través de stdio en su lugar, para clientes que lo lanzan como subproceso.
El flujo de trabajo del agente
main.py sprint plantea una pregunta en lenguaje natural, y el agente decide qué herramientas llamar y en qué orden:
1. get_jira_sprint_status()
↓
2. Agent selects the tickets worth investigating
↓
3. search_github_code()
↓
4. analyze_pull_request()
↓
5. query_project_metrics()
↓
6. Agent generates explanationEl paso 2 no necesita ninguna llamada a herramienta. get_jira_sprint_status ya tiene todas las incidencias a mano, por lo que la clasificación de bloqueadas / de alta prioridad / atrasadas se realiza allí, y el agente razona sobre las blocked_tickets y high_priority_tickets devueltas para elegir qué ver a continuación. Dividir eso en un segundo viaje de ida y vuelta costaría una solicitud y no añadiría nada.
Notas de diseño
analyze_pull_requestpuntúa el riesgo a partir de nombres de archivo, parches del diff y coincidencias de patrones, no a partir de un LLM que lee el código. Es barato, determinista y reproducible; una etapa de revisión con LLM sobre los parches de mayor riesgo es la extensión planificada.Los IDs de los campos personalizados de puntos de historia y los IDs de tablero de Jira difieren según la instalación, por lo que
JIRA_BOARD_IDyJIRA_STORY_POINTS_FIELDson configuración en lugar de constantes.query_project_metricslee las tablas ensql/schema.sql, que esperan un trabajo de ingesta que cargue el historial de GitHub/Jira/CD.
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
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.
Repo intel for AI coding agents: overview, PRs, contributors, hot files, CI, deps. Remote MCP.
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/jiteshzope/Custom-MCP-server-Agentic-workflow-for-developer-productivity'
If you have feedback or need assistance with the MCP directory API, please join our Discord server