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
bash
git clone https://github.com/yourusername/github-notifications-mcp-server.git
cd github-notifications-mcp-server
Install dependencies
bash
npm install
Build the project
bash
npm run build
Create a .env
file with your GitHub token
bash
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 |
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:
api.github.com/repos
to github.com
pulls
to 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
Run the automated tests:
npm test
Test URL conversion manually:
npm run test:url
MIT