Developer Productivity MCP
Developer Productivity MCP
Сервер FastMCP, который предоставляет возможности GitHub, Jira и инженерных метрик в виде инструментов MCP, а также клиент OpenAI Agents SDK, который управляет ими как многошаговыми рабочими процессами.
┌──────────────────┐
│ 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Модель никогда не обращается к GitHub, Jira или PostgreSQL напрямую. Сервер MCP отвечает за учётные данные, пагинацию, обработку ошибок и формирование ответов и возвращает факты; агент вносит рассуждения и объяснения. Поэтому текст — не инструмент: инструмент объяснений передавал бы принятие решений на сервер, где сервер не видит результаты других инструментов.
Четыре инструмента
Инструмент | Бэкенд | Что делает помимо обёртки над API |
| GitHub REST | Нормализует результаты поиска до |
| Jira Agile | Процент завершения, прогресс по стори-пойнтам, заблокированные / высокоприоритетные / просроченные / неназначенные / рискованные задачи, уровень риска спринта |
| GitHub REST | Статический анализ diff: выявление проблем безопасности, базы данных, API-контракта, зависимостей и тестов; анализ удалённого кода; оценка уровня риска; рекомендации по критическим изменениям и ревью |
| PostgreSQL | Шесть метрик через белый список — модель выбирает имя метрики, а не SQL |
Related MCP server: GitHub Dev Copilot
Структура
.
├── 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Настройка
uv sync
cp .env.example .env # then fill in your credentials
psql "$DATABASE_URL" -f sql/schema.sqlЗапуск
Терминал 1 — сервер MCP (Streamable HTTP на http://localhost:8000/mcp):
uv run python -m src.serverТерминал 2 — рабочий процесс агента:
# 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 запускает сервер через stdio вместо HTTP, для клиентов, которые запускают его как подпроцесс.
Агентный рабочий процесс
main.py sprint задаёт один вопрос на естественном языке, а агент решает, какие инструменты вызывать и в каком порядке:
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Шаг 2 не требует вызова инструмента. get_jira_sprint_status уже имеет все задачи, поэтому классификация заблокированных / высокоприоритетных / просроченных выполняется там, а агент рассуждает над возвращёнными blocked_tickets и high_priority_tickets, чтобы выбрать, что смотреть дальше. Разделение этого на второй раунд обмена обошлось бы в дополнительный запрос и не дало бы ничего.
Заметки по дизайну
analyze_pull_requestоценивает риск по именам файлов, патчам diff и совпадениям с паттернами, а не по чтению кода LLM. Это дёшево, детерминированно и воспроизводимо; этап ревью LLM для патчей с самым высоким риском — запланированное расширение.Идентификаторы настраиваемых полей стори-пойнтов Jira и идентификаторы досок различаются в зависимости от установки, поэтому
JIRA_BOARD_IDиJIRA_STORY_POINTS_FIELDявляются конфигурацией, а не константами.query_project_metricsчитает таблицы вsql/schema.sql, которые ожидают задачу приёма данных, загружающую историю GitHub/Jira/CD.
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