Skip to main content
Glama
jiteshzope

Developer Productivity MCP

by jiteshzope

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   PostgreSQL

Das 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

search_github_code

GitHub REST

Normalisiert Suchtreffer auf {repository, path, name, url}

get_jira_sprint_status

Jira Agile

Abschluss in %, Story-Point-Fortschritt, blockierte / hochpriorisierte / überfällige / nicht zugewiesene / gefährdete Tickets, Sprint-Risikostufe

analyze_pull_request

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

query_project_metrics

PostgreSQL

Sechs Metriken hinter einer Zulassungsliste – das Modell wählt einen Metriknamen, niemals SQL

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_metrics

Einrichtung

uv sync
cp .env.example .env      # then fill in your credentials
psql "$DATABASE_URL" -f sql/schema.sql

Ausführen

Terminal 1 – der MCP-Server (Streamable HTTP auf http://localhost:8000/mcp):

uv run python -m src.server

Terminal 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 42

MCP_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 explanation

Schritt 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_request bewertet 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_ID und JIRA_STORY_POINTS_FIELD Konfiguration und keine Konstanten.

  • query_project_metrics liest die Tabellen in sql/schema.sql, die einen Ingestion-Job erwarten, der den GitHub-/Jira-/CD-Verlauf lädt.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all MCP Connectors

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/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