Cover image
Try Now
2025-03-31

Un servidor MCP para la API de notificaciones de GitHub para el mantenedor OSS

3 years

Works with Finder

1

Github Watches

3

Github Forks

12

Github Stars

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

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • apappascs
  • Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.

  • ShrimpingIt
  • Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx

  • huahuayu
  • Una puerta de enlace de API unificada para integrar múltiples API de explorador de blockchain similar a Esterscan con soporte de protocolo de contexto modelo (MCP) para asistentes de IA.

  • deemkeen
  • Controle su MBOT2 con un combo de potencia: MQTT+MCP+LLM

  • jae-jae
  • Servidor MCP para obtener contenido de la página web con el navegador sin cabeza de dramaturgo.

    Reviews

    2 (1)
    Avatar
    user_eN8f0Igt
    2025-04-17

    I have been using mcp-github-notifications by mcollina for a few weeks, and it has been a game-changer for managing my GitHub notifications. The seamless integration and user-friendly interface make staying updated on my repositories effortless. Highly recommend it for anyone looking to streamline their GitHub experience!