mcp github notifications
An MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.
An MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.
An MCP (Model Context Protocol) server that provides tools for managing GitHub notifications. This server allows AI assistants like Claude to help you manage your GitHub notifications through natural language commands.
notifications
or repo
scopeClone this repository
git clone https://github.com/yourusername/github-notifications-mcp-server.git
cd github-notifications-mcp-server
Install dependencies
npm install
Build the project
npm run build
Create a .env
file with your GitHub token
GITHUB_TOKEN=your_github_personal_access_token_here
npm start
Add the server to your claude_desktop_config.json
file:
{
"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"
}
}
}
}
Tool Name | Description |
---|---|
list-notifications |
List all GitHub notifications for the authenticated user |
mark-notifications-read |
Mark all notifications as read |
get-thread |
Get information about a notification thread |
mark-thread-read |
Mark a specific thread as read |
mark-thread-done |
Mark a thread as done |
get-thread-subscription |
Get subscription status for a thread |
set-thread-subscription |
Subscribe to a thread |
delete-thread-subscription |
Unsubscribe from a thread |
list-repo-notifications |
List notifications for a specific repository |
mark-repo-notifications-read |
Mark notifications for a repository as read |
manage-repo-subscription |
Manage repository subscriptions: all_activity, default (participating and @mentions), or ignore (mute) |
Here are some example prompts you can use with Claude Desktop once the server is connected:
This server automatically converts GitHub API URLs to their corresponding web UI URLs. For example:
https://api.github.com/repos/nodejs/node/pulls/57557
https://github.com/nodejs/node/pull/57557
The conversion handles:
- Domain conversion from api.github.com/repos
to github.com
- Path correction for pull requests (changing pulls
to pull
)
- Preservation of additional path segments
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
Run the automated tests:
npm test
Test URL conversion manually:
npm run test:url
MIT