mcollina mcp github notifications

mcollina mcp github notifications avatar

by mcollina

An MCP server for the github notifications API for the OSS maintainer

What is mcollina mcp github notifications

GitHub Notifications MCP Server

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.

Features

  • List and filter your GitHub notifications
  • Mark notifications as read
  • View notification thread details
  • Subscribe or unsubscribe from notification threads
  • Mark threads as done
  • Manage repository-specific notifications
  • Control repository notification settings (all activity, default, or mute)

Prerequisites

  • Node.js 18 or higher
  • GitHub Personal Access Token (classic) with notifications or repo scope

Installation

  1. Clone this repository

    git clone https://github.com/yourusername/github-notifications-mcp-server.git
    cd github-notifications-mcp-server
    
  2. Install dependencies

    npm install
    
  3. Build the project

    npm run build
    
  4. Create a .env file with your GitHub token

    GITHUB_TOKEN=your_github_personal_access_token_here
    

Usage

Running the server directly

npm start

Using with Claude Desktop

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"
      }
    }
  }
}

Available Tools

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)

Example Prompts

Here are some example prompts you can use with Claude Desktop once the server is connected:

  • "Can you check my GitHub notifications?"
  • "Show me my unread notifications from the last 24 hours."
  • "Mark all my notifications as read."
  • "Can you tell me about notification thread 12345?"
  • "Unsubscribe me from thread 12345."
  • "What notifications do I have for the octocat/Hello-World repository?"
  • "Mark all notifications from the octocat/Hello-World repository as read."
  • "Watch all activity on the octocat/Hello-World repository."
  • "Set the octocat/Hello-World repository to default settings (participating and @mentions)."
  • "Check my notification settings for the octocat/Hello-World repository."
  • "Mute all notifications from the octocat/Hello-World repository."

Development

URL Handling

This server automatically converts GitHub API URLs to their corresponding web UI URLs. For example:

  • API URL: https://api.github.com/repos/nodejs/node/pulls/57557
  • Converted to: 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

Project Structure

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

Building

npm run build

Testing

Run the automated tests:

npm test

Test URL conversion manually:

npm run test:url

License

MIT

Leave a Comment

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.

Related MCP Servers

Brave Search MCP avatar

Brave Search MCP

Integrate Brave Search capabilities into Claude through MCP. Enables real-time web searches with privacy-focused results and comprehensive web coverage.

searchapiofficial
chrisdoc hevy mcp avatar

chrisdoc hevy mcp

mcp
sylphlab pdf reader mcp avatar

sylphlab pdf reader mcp

An MCP server built with Node.js/TypeScript that allows AI agents to securely read PDF files (local or URL) and extract text, metadata, or page counts. Uses pdf-parse.

pdf-parsetypescriptnodejs
aashari mcp server atlassian bitbucket avatar

aashari mcp server atlassian bitbucket

Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MCP interface.

atlassianrepositorymcp
aashari mcp server atlassian confluence avatar

aashari mcp server atlassian confluence

Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP interface.

atlassianmcpconfluence
prisma prisma avatar

prisma prisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

cockroachdbgomcp
Zzzccs123 mcp sentry avatar

Zzzccs123 mcp sentry

mcp sentry for typescript sdk

mcptypescript
zhuzhoulin dify mcp server avatar

zhuzhoulin dify mcp server

mcp
zhongmingyuan mcp my mac avatar

zhongmingyuan mcp my mac

mcp
zhixiaoqiang desktop image manager mcp avatar

zhixiaoqiang desktop image manager mcp

MCP ๆœๅŠกๅ™จ๏ผŒ็”จไบŽ็ฎก็†ๆกŒ้ขๅ›พ็‰‡ใ€ๆŸฅ็œ‹่ฏฆๆƒ…ใ€ๅŽ‹็ผฉใ€็งปๅŠจ็ญ‰๏ผˆๅฎŒๅ…จ่ฎฉTraeๅฎž็Žฐ๏ผ‰

mcp

Submit Your MCP Server

Share your MCP server with the community

Submit Now