Developer Productivity MCP
Allows searching GitHub code and analyzing pull requests for security, database, API-contract, dependency, and test issues, as well as generating risk scores and review recommendations.
Allows retrieving sprint status, including completion percentage, story-point progress, and identifying blocked, high-priority, overdue, unassigned, and at-risk tickets.
Allows querying project metrics from a PostgreSQL database through a predefined set of six metric names behind an allow-list.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Developer Productivity MCPanalyze pull request #142 in my-org/payments-api"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Developer Productivity MCP
A FastMCP server that exposes GitHub, Jira and engineering-metrics capabilities as MCP tools, plus an OpenAI Agents SDK client that drives them as multi-step workflows.
┌──────────────────┐
│ 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 PostgreSQLThe model never talks to GitHub, Jira or PostgreSQL directly. The MCP server owns the credentials, pagination, error handling and response shaping, and returns facts; the agent contributes reasoning and explanation. Prose is therefore not a tool — an explanation tool would push judgement into the server, where it cannot see the other tools' results.
The four tools
Tool | Backend | What it does beyond wrapping the API |
| GitHub REST | Normalizes search hits to |
| Jira Agile | Completion %, story-point progress, blocked / high-priority / overdue / unassigned / at-risk tickets, sprint risk level |
| GitHub REST | Static analysis of the diff: security, database, API-contract, dependency and test detection; deleted-code analysis; scored risk level; breaking-change and review recommendations |
| PostgreSQL | Six metrics behind an allow-list — the model picks a metric name, never 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_metricsSetup
uv sync
cp .env.example .env # then fill in your credentials
psql "$DATABASE_URL" -f sql/schema.sqlRun
Terminal 1 — the MCP server (Streamable HTTP on http://localhost:8000/mcp):
uv run python -m src.serverTerminal 2 — an 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 runs the server over stdio instead, for clients that
launch it as a subprocess.
The agentic workflow
main.py sprint asks one natural-language question, and the agent decides which
tools to call and in what order:
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 explanationStep 2 needs no tool call. get_jira_sprint_status already has every issue in
hand, so blocked/high-priority/overdue classification happens there, and the
agent reasons over the returned blocked_tickets and high_priority_tickets to
choose what to look at next. Splitting that into a second round trip would cost
a request and add nothing.
Design notes
analyze_pull_requestscores risk from filenames, diff patches and pattern matches, not from an LLM reading the code. It is cheap, deterministic and reproducible; an LLM review stage over the highest-risk patches is the planned extension.Jira story-point custom field IDs and board IDs differ per installation, so
JIRA_BOARD_IDandJIRA_STORY_POINTS_FIELDare configuration rather than constants.query_project_metricsreads the tables insql/schema.sql, which expect an ingestion job loading GitHub/Jira/CD history.
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).
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
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