Skip to main content
Glama
Abdessamad-Y

mcp-github-agent

by Abdessamad-Y

mcp-agent

マルチサービスMCP(Model Context Protocol)サーバー。AIエージェントに、GitHub、Jira、Azure DevOps、Slack、PagerDuty、Linear、Notion、HuggingFace、OpenWeatherの9つのプラットフォームにわたる34のツールへのアクセスを提供します。

タブやダッシュボードを切り替える代わりに、AIアシスタントに平易な英語で話しかけるだけで、これらのシステムに対して直接クエリを実行したり、操作したりできます。

Claude、GPT-4o、Azure OpenAI、およびMCP互換の任意のクライアントで動作します。


MCPとは?

Model Context Protocol は、Anthropicが策定したオープン標準で、AIモデルが外部ツールやAPIと構造化された安全な方法で通信できるようにします。AIは会話の中に留まりながら、実際のシステムにアクセスしてデータを取得したりアクションを実行したりできます。どのツールをどの順序で呼び出すかを自律的に決定します。

→ 仕組みの詳細


Related MCP server: GitHub MCP Server

サービスとツール

GitHub

ツール

タイプ

機能

get_user_profile

読み取り

自己紹介、所在地、フォロワー数、公開リポジトリ数

get_user_repos

読み取り

アクティビティ、スター数、日付で並べ替えた公開リポジトリ

get_repo_info

読み取り

スター数、フォーク数、オープンなIssue、トピック、ライセンス、最終プッシュ

get_repo_issues

読み取り

オープンまたはクローズ済みのIssue

get_pull_requests

読み取り

オープンまたはマージ済みのプルリクエスト

get_file_content

読み取り

リポジトリ内の任意のファイルの内容

get_repo_contributors

読み取り

コミット数でランク付けされた上位コントリビューター

get_repo_releases

読み取り

最新のリリースと変更ログ

get_trending

読み取り

言語と期間(日次/週次/月次)によるトレンドリポジトリ

search_repos

読み取り

キーワード、トピック、言語による検索

create_issue

書き込み

新しいIssueを作成(repoトークンスコープが必要)

Jira

ツール

タイプ

機能

jira_search_issues

読み取り

JQLを使用したIssue検索

jira_get_issue

読み取り

キーによるIssueの完全な詳細

jira_get_project_issues

読み取り

ステータスでフィルタリングされたプロジェクトのIssue

jira_create_issue

書き込み

タスク、バグ、ストーリー、エピックを作成

Azure DevOps

ツール

タイプ

機能

ado_list_pipelines

読み取り

プロジェクト内のCI/CDパイプラインを一覧表示

ado_get_pipeline_runs

読み取り

パイプラインの最近の実行

ado_search_work_items

読み取り

キーワードによる作業項目の検索

ado_create_work_item

書き込み

タスク、バグ、ユーザーストーリー、エピックを作成

Slack

ツール

タイプ

機能

slack_get_channels

読み取り

ワークスペース内の公開チャンネルを一覧表示

slack_get_messages

読み取り

チャンネルから最近のメッセージを読む

slack_send_message

書き込み

チャンネルまたはユーザーにメッセージを送信

PagerDuty

ツール

タイプ

機能

pagerduty_get_incidents

読み取り

ステータス別のインシデント一覧

pagerduty_get_services

読み取り

設定済みサービスの一覧

pagerduty_create_incident

書き込み

新しいインシデントをトリガー

Linear

ツール

タイプ

機能

linear_get_teams

読み取り

ワークスペース内のチームを一覧表示

linear_get_issues

読み取り

ステートでフィルタリングされたチームのIssue

linear_create_issue

書き込み

チームにIssueを作成

Notion

ツール

タイプ

機能

notion_search

読み取り

キーワードによるページとデータベースの検索

notion_get_page

読み取り

ページのコンテンツを取得

notion_create_page

書き込み

親の下に新しいページを作成

HuggingFace

ツール

タイプ

機能

hf_search_models

読み取り

キーワードとタスクによるモデル検索

hf_get_model

読み取り

詳細なモデル情報(ダウンロード数、いいね数、タグ)

hf_search_datasets

読み取り

キーワードによるデータセット検索

OpenWeather

ツール

タイプ

機能

weather_current

読み取り

都市の現在の天気

weather_forecast

読み取り

都市の複数日間の予報


ユースケース例

サービス横断的な推論

「今週のAzure DevOpsパイプライン障害に関連するオープンなJiraバグがあるか確認して、それをまとめたGitHub Issueを作成して。」

エージェントは jira_search_issues → ado_get_pipeline_runs → create_issue を自律的に呼び出します。


インシデント対応

「paymentsサービスでアクティブなPagerDutyインシデントがあります。そのリポジトリにマージされた最新のPRを見つけて、#incidents Slackチャンネルに通知してください。」

エージェントは pagerduty_get_incidents → get_pull_requests → slack_send_message を呼び出します。


AIリサーチ

「HuggingFaceで最もダウンロードされているテキスト生成モデルを見つけて、そのトップモデルを使用しているプロジェクトをGitHubで検索してください。」

エージェントは hf_search_models → search_repos を呼び出します。


開発者オンボーディング

「このリポジトリの上位5人のコントリビューターは誰ですか? 彼らのGitHubプロフィールを取得して、チームをまとめたNotionページを作成してください。」

エージェントは get_repo_contributors → get_user_profile(×5)→ notion_create_page を呼び出します。

→ その他のユースケース


セットアップ

1. クローンしてインストール

git clone https://github.com/Abdessamad-Y/mcp-github-agent.git
cd mcp-github-agent
pip install -r requirements.txt

2. サービスを設定

cp .env.example .env
# Add tokens only for the services you want to use
# Unused services are safely ignored

3. AIクライアントに接続

→ セットアップガイドは docs/integrations.md を参照してください:

  • Claude Desktop — ネイティブMCP、コード不要

  • Claude API — エージェントループ付きPythonスクリプト

  • OpenAI(GPT-4o) — openai-agents SDK経由

  • Azure OpenAI — OpenAI SDK + Azureエンドポイント経由

  • Cursor / VS Code Copilot


デモを実行

GITHUB_TOKEN=your_token python demo.py

フォーマットされたターミナル出力で4つのライブシナリオを実行します。AI APIキーは不要です。


サンプルを実行

# With Claude API
GITHUB_TOKEN=your_token ANTHROPIC_API_KEY=your_key python examples/with_claude.py

# With OpenAI
GITHUB_TOKEN=your_token OPENAI_API_KEY=your_key python examples/with_openai.py

# With Azure OpenAI
GITHUB_TOKEN=your_token \
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com \
AZURE_OPENAI_KEY=your_key \
AZURE_OPENAI_DEPLOYMENT=gpt-4o \
python examples/with_azure_openai.py

プロジェクト構造

mcp-github-agent/
├── server.py              # Entry point — registers all tools
├── mcp_instance.py        # Shared FastMCP instance
├── tools/
│   ├── github.py          # 11 GitHub tools
│   ├── jira.py            # 4 Jira tools
│   ├── azure_devops.py    # 4 Azure DevOps tools
│   ├── slack.py           # 3 Slack tools
│   ├── pagerduty.py       # 3 PagerDuty tools
│   ├── linear.py          # 3 Linear tools
│   ├── notion.py          # 3 Notion tools
│   ├── huggingface.py     # 3 HuggingFace tools
│   └── weather.py         # 2 OpenWeather tools
├── examples/
│   ├── with_claude.py
│   ├── with_openai.py
│   └── with_azure_openai.py
├── docs/
│   ├── how-it-works.md
│   ├── use-cases.md
│   └── integrations.md
├── demo.py
├── requirements.txt
└── .env.example

技術スタック

言語

Python 3.10+

MCP SDK

mcp[cli] — Anthropic公式Python SDK

HTTPクライアント

httpx

ターミナル出力

rich


ドキュメント

仕組み

アーキテクチャ、MCPプロトコル、トランスポート

ユースケース

実世界のプロンプトとエージェントの動作

統合

Claude、OpenAI、Azure OpenAI、Cursor、VS Codeのセットアップ


ライセンス

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access and analyze GitHub profile data, providing insights on repositories, commit history, coding patterns, and generating portfolio summaries for developers and recruiters.
    8
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to answer natural-language GitHub queries by listing repositories, issues, pull requests, branches, commits, and files, as well as performing writes with dry-run and confirmation safeguards.
    -