Developer Productivity MCP
Developer Productivity MCP
Ein FastMCP-Server, der Funktionen für GitHub, Jira und Engineering-Metriken als MCP-Tools bereitstellt, plus einen Client für das OpenAI Agents SDK, der sie als mehrstufige Workflows steuert.
┌──────────────────┐
│ 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 PostgreSQLDas Modell kommuniziert nie direkt mit GitHub, Jira oder PostgreSQL. Der MCP-Server verwaltet die Anmeldedaten, Pagination, Fehlerbehandlung und Antwortformatierung und liefert Fakten; der Agent trägt Begründung und Erklärung bei. Prosa ist daher kein Tool – ein Erklärungstool würde die Bewertung in den Server verlagern, wo er die Ergebnisse der anderen Tools nicht sehen kann.
Die vier Tools
Tool | Backend | Was es über das Kapseln der API hinaus tut |
| GitHub REST | Normalisiert Suchtreffer auf |
| Jira Agile | Abschluss in %, Story-Point-Fortschritt, blockierte / hochpriorisierte / überfällige / nicht zugewiesene / gefährdete Tickets, Sprint-Risikostufe |
| GitHub REST | Statische Analyse des Diffs: Sicherheits-, Datenbank-, API-Vertrags-, Abhängigkeits- und Testerkennung; Analyse des gelöschten Codes; bewertete Risikostufe; Empfehlungen zu Breaking Changes und Review |
| PostgreSQL | Sechs Metriken hinter einer Zulassungsliste – das Modell wählt einen Metriknamen, niemals SQL |
Related MCP server: GitHub Dev Copilot
Layout
.
├── 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_metricsEinrichtung
uv sync
cp .env.example .env # then fill in your credentials
psql "$DATABASE_URL" -f sql/schema.sqlAusführen
Terminal 1 – der MCP-Server (Streamable HTTP auf http://localhost:8000/mcp):
uv run python -m src.serverTerminal 2 – ein Agent-Workflow:
# 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 führt den Server stattdessen über stdio aus, für Clients, die ihn als Unterprozess starten.
Der agentenbasierte Workflow
main.py sprint stellt eine Frage in natürlicher Sprache, und der Agent entscheidet, welche Tools er in welcher Reihenfolge aufruft:
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 explanationSchritt 2 benötigt keinen Tool-Aufruf. get_jira_sprint_status hat bereits alle Tickets zur Hand, sodass die Klassifizierung in blockiert, hohe Priorität und überfällig dort erfolgt, und der Agent denkt über die zurückgegebenen blocked_tickets und high_priority_tickets nach, um zu entscheiden, was er sich als Nächstes ansieht. Dies in eine zweite Runde aufzuteilen würde eine Anfrage kosten und nichts hinzufügen.
Designhinweise
analyze_pull_requestbewertet Risiken anhand von Dateinamen, Diff-Patches und Musterübereinstimmungen, nicht durch ein LLM, das den Code liest. Es ist kostengünstig, deterministisch und reproduzierbar; eine LLM-Review-Stufe für die Patches mit dem höchsten Risiko ist die geplante Erweiterung.Die benutzerdefinierten Feld-IDs für Story-Points und die Board-IDs unterscheiden sich in Jira je nach Installation, daher sind
JIRA_BOARD_IDundJIRA_STORY_POINTS_FIELDKonfiguration und keine Konstanten.query_project_metricsliest die Tabellen insql/schema.sql, die einen Ingestion-Job erwarten, der den GitHub-/Jira-/CD-Verlauf lädt.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseBqualityCmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.12MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with GitHub via MCP, managing repositories, issues, PRs, and analyzing repository health through tools like list_repositories, read_issues, create_issue, comment_on_pr, and analyze_repo_health.-
- 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 gradedqualityCmaintenanceProvides MCP tools for fetching GitHub PR diffs, searching codebases, running unit tests, and linting code, enabling automated code review and CI/CD workflows.MIT