Skip to main content
Glama
jiteshzope

Developer Productivity MCP

by jiteshzope

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

search_github_code

GitHub REST

Нормализует результаты поиска до {repository, path, name, url}

get_jira_sprint_status

Jira Agile

Процент завершения, прогресс по стори-пойнтам, заблокированные / высокоприоритетные / просроченные / неназначенные / рискованные задачи, уровень риска спринта

analyze_pull_request

GitHub REST

Статический анализ diff: выявление проблем безопасности, базы данных, API-контракта, зависимостей и тестов; анализ удалённого кода; оценка уровня риска; рекомендации по критическим изменениям и ревью

query_project_metrics

PostgreSQL

Шесть метрик через белый список — модель выбирает имя метрики, а не SQL

Структура

.
├── 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 42

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

-
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