GitHub 通知 MCP サーバー
GitHub 通知を管理するためのツールを提供する MCP (Model Context Protocol) サーバー。このサーバーにより、Claude などの AI アシスタントが自然言語コマンドを通じて GitHub 通知の管理を支援できるようになります。
特徴
- GitHub 通知の一覧表示とフィルタリング
- 通知を既読にする
- 通知スレッドの詳細を表示
- 通知スレッドを購読または購読解除する
- スレッドを完了としてマークする
- リポジトリ固有の通知を管理する
- リポジトリの通知設定(すべてのアクティビティ、デフォルト、ミュート)を制御する
前提条件
- Node.js 18以上
notifications
またはrepo
スコープ付きの GitHub 個人アクセストークン (クラシック)
インストール
- このリポジトリをクローンする
git clone https://github.com/yourusername/github-notifications-mcp-server.git
cd github-notifications-mcp-server
- 依存関係をインストールする
- プロジェクトを構築する
- GitHubトークンを使用して
.env
ファイルを作成するGITHUB_TOKEN=your_github_personal_access_token_here
使用法
サーバーを直接実行する
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 (参加と@メンション)、または ignore (ミュート) |
プロンプトの例
サーバーが接続されたら、Claude Desktop で使用できるプロンプトの例を次に示します。
- 「GitHub の通知を確認できますか?」
- 「過去 24 時間の未読通知を表示してください。」
- 「すべての通知を既読としてマークします。」
- 「通知スレッド12345について教えていただけますか?」
- 「スレッド 12345 から登録を解除してください。」
- 「octocat/Hello-World リポジトリにはどのような通知がありますか?」
- 「octocat/Hello-World リポジトリからのすべての通知を既読としてマークします。」
- 「octocat/Hello-World リポジトリのすべてのアクティビティを監視します。」
- 「octocat/Hello-World リポジトリをデフォルト設定 (参加と @メンション) に設定します。」
- 「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
建物
テスト
自動テストを実行します。
URL 変換を手動でテストします。
ライセンス
マサチューセッツ工科大学