GitHub通知MCP服务器
MCP(模型上下文协议)服务器,提供管理GitHub通知的工具。该服务器允许像Claude这样的人工智能助手通过自然语言命令帮助您管理GitHub通知。
特性
- 列出并过滤您的GitHub通知
- 将通知标记为已读
- 查看通知线程详细信息
- 订阅或取消订阅通知线程
- 标记螺纹已完成
- 管理特定于存储库的通知
- 控制存储库通知设置(所有活动、默认或静音)
先决条件
- Node.js 18或更高版本
- GitHub个人访问令牌(经典)
notifications或repo范围
安装
- 克隆此存储库
git clone https://github.com/yourusername/github-notifications-mcp-server.git
cd github-notifications-mcp-server- 安装依赖项
npm install- 构建项目
npm run build- 创建一个
.env使用您的GitHub令牌创建文件
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、默认(参与和@提及)或忽略(静音) |
示例提示
以下是服务器连接后,您可以在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网址:
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许可证
麻省理工学院
