Skip to main content
Glama
jiteshzope

Developer Productivity MCP

by jiteshzope

Developer Productivity MCP

GitHub、Jira、およびエンジニアリングメトリクスの機能をMCPツールとして公開するFastMCPサーバーに加え、それらをマルチステップワークフローとして駆動する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サーバーが認証情報、ページネーション、エラーハンドリング、レスポンス整形を担当し、事実を返します。エージェントは推論と説明を担当します。したがって、散文はツールではありません。説明ツールを追加すると、判断がサーバー側に押し込まれることになりますが、サーバーは他のツールの結果を見ることができないからです。

4つのツール

ツール

バックエンド

APIラッパーとしての機能

search_github_code

GitHub REST

検索結果を {repository, path, name, url} に正規化します

get_jira_sprint_status

Jira Agile

完了率、ストーリーポイント進捗、ブロック/高優先度/期限超過/未割り当て/リスクのあるチケット、スプリントのリスクレベル

analyze_pull_request

GitHub REST

差分の静的解析: セキュリティ、データベース、API契約、依存関係、テスト検出、削除コード解析、リスクレベルのスコアリング、破壊的変更とレビュー推奨事項

query_project_metrics

PostgreSQL

許可リストに基づく6つのメトリクス — モデルはメトリクス名を選択し、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サーバー(http://localhost:8000/mcp 上のStreamable HTTP):

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経由でサーバーを実行します。

エージェントワークフロー

main.py sprint は1つの自然言語の質問を投げかけ、エージェントがどのツールをどの順序で呼び出すかを決定します:

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 を基に推論して、次に何を調べるかを選択します。これを2回目のラウンドトリップに分割すると、1回のリクエストを消費するだけで、何も得られません。

設計メモ

  • analyze_pull_request は、コードを読むLLMではなく、ファイル名、差分パッチ、パターンマッチからリスクをスコアリングします。これは低コストで決定的で再現可能です。最高リスクのパッチに対するLLMレビューステージが計画中の拡張です。

  • JiraのストーリーポイントのカスタムフィールドIDとボードIDはインストール環境ごとに異なるため、JIRA_BOARD_ID と JIRA_STORY_POINTS_FIELD は定数ではなく設定値です。

  • query_project_metrics は sql/schema.sql 内のテーブルを読み取ります。これらのテーブルは、GitHub/Jira/CD履歴を読み込む取り込みジョブを想定しています。

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    -