GitHub Notifications MCP Server について
GitHub Notifications MCP Server は、自然言語による依頼を通じて AI アシスタントから GitHub 通知を管理できるようにします。通知の絞り込み、スレッド操作、リポジトリ単位の購読設定に対応します。
主な機能
- 01通知の一覧表示と絞り込み
- 02通知やスレッドを既読に設定
- 03スレッドの詳細表示
- 04スレッドの購読と解除
- 05リポジトリ通知設定の管理
活用シーン
- 01未読の GitHub 通知を確認
- 02リポジトリの通知をミュートまたは購読
- 03通知スレッドを完了にする
MCP 対応
MCP クライアントに、GitHub の通知、スレッド、リポジトリ通知設定を一覧表示・管理するツールを提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GitHub Notifications MCP Server
GitHub 通知を管理するためのツールを提供する MCP(Model Context Protocol)サーバーです。このサーバーを使用すると、Claude などの AI アシスタントが自然言語コマンドを通じて GitHub 通知の管理を支援できます。
機能
- GitHub 通知の一覧表示と絞り込み
- 通知を既読にする
- 通知スレッドの詳細を表示する
- 通知スレッドを購読または購読解除する
- スレッドを完了としてマークする
- リポジトリ固有の通知を管理する
- リポジトリの通知設定(すべてのアクティビティ、デフォルト、またはミュート)を制御する
前提条件
- Node.js 18 以降
notificationsまたはrepoスコープを持つ GitHub Personal Access Token(classic)
インストール
-
このリポジトリをクローンします
git clone https://github.com/yourusername/github-notifications-mcp-server.git cd github-notifications-mcp-server -
依存関係をインストールします
npm install -
プロジェクトをビルドします
npm run build -
GitHub トークンを記載した
.envファイルを作成しますGITHUB_TOKEN=your_github_personal_access_token_here
使用方法
サーバーを直接実行する
npm start
Claude Desktop で使用する
サーバーを claude_desktop_config.json ファイルに追加します:
{
"mcpServers": {
"github-notifications": {
"command": "node",
"args": ["/absolute/path/to/github-notifications-mcp-server/build/index.js"],
"env": {
"GITHUB_TOKEN": "your_github_personal_access_token_here"
}
}
}
}
利用可能なツール
| ツール名 | 説明 |
|---|---|
list-notifications | 認証済みユーザーのすべての GitHub 通知を一覧表示します |
mark-notifications-read | すべての通知を既読にします |
get-thread | 通知スレッドの情報を取得します |
mark-thread-read | 特定のスレッドを既読にします |
mark-thread-done | スレッドを完了としてマークします |
get-thread-subscription | スレッドの購読状況を取得します |
set-thread-subscription | スレッドを購読します |
delete-thread-subscription | スレッドの購読を解除します |
list-repo-notifications | 特定のリポジトリの通知を一覧表示します |
mark-repo-notifications-read | リポジトリの通知を既読にします |
manage-repo-subscription | リポジトリの購読を管理します:all_activity、default(参加中および @mentions)、または ignore(ミュート) |
プロンプトの例
サーバーに接続した後、Claude Desktop で使用できるプロンプトの例を以下に示します:
- 「GitHub の通知を確認してもらえますか?」
- 「過去 24 時間の未読通知を表示してください。」
- 「すべての通知を既読にしてください。」
- 「通知スレッド 12345 について教えてもらえますか?」
- 「スレッド 12345 の購読を解除してください。」
- 「octocat/Hello-World リポジトリにはどのような通知がありますか?」
- 「octocat/Hello-World リポジトリからのすべての通知を既読にしてください。」
- 「octocat/Hello-World リポジトリのすべてのアクティビティをウォッチしてください。」
- 「octocat/Hello-World リポジトリをデフォルト設定(参加中および @mentions)にしてください。」
- 「octocat/Hello-World リポジトリの通知設定を確認してください。」
- 「octocat/Hello-World リポジトリからの通知をすべてミュートしてください。」
開発
URL の処理
このサーバーは GitHub API の URL を対応する Web UI の URL に自動変換します。たとえば:
- API URL:
https://api.github.com/repos/nodejs/node/pulls/57557 - 変換後:
https://github.com/nodejs/node/pull/57557
変換では、以下が処理されます:
api.github.com/reposからgithub.comへのドメイン変換- プルリクエストのパス修正(
pullsをpullに変更) - 追加のパスセグメントの保持
プロジェクト構成
github-notifications-mcp-server/
├── src/ # Source code
│ ├── tools/ # Tool implementations
│ ├── types/ # Type definitions
│ ├── utils/ # Utility functions
│ ├── index.ts # Entry point
│ └── server.ts # Server configuration
├── build/ # Compiled JavaScript
├── .env # Environment variables
├── package.json # Dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
ビルド
npm run build
テスト
自動テストを実行します:
npm test
URL 変換を手動でテストします:
npm run test:url
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。