GitHub Notifications MCP Server

by mcollina
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Servidor MCP de notificaciones de GitHub

Un servidor MCP (Protocolo de Contexto de Modelo) que proporciona herramientas para gestionar las notificaciones de GitHub. Este servidor permite que asistentes de IA como Claude te ayuden a gestionar tus notificaciones de GitHub mediante comandos de lenguaje natural.

Características

  • Enumera y filtra tus notificaciones de GitHub
  • Marcar notificaciones como leídas
  • Ver detalles del hilo de notificaciones
  • Suscribirse o cancelar la suscripción a los hilos de notificaciones
  • Marcar hilos como terminados
  • Administrar notificaciones específicas del repositorio
  • Controlar la configuración de notificaciones del repositorio (todas las actividades, predeterminadas o silenciadas)

Prerrequisitos

  • Node.js 18 o superior
  • Token de acceso personal de GitHub (clásico) con notifications o alcance repo

Instalación

  1. Clonar este repositorio
    git clone https://github.com/yourusername/github-notifications-mcp-server.git cd github-notifications-mcp-server
  2. Instalar dependencias
    npm install
  3. Construir el proyecto
    npm run build
  4. Crea un archivo .env con tu token de GitHub
    GITHUB_TOKEN=your_github_personal_access_token_here

Uso

Ejecutar el servidor directamente

npm start

Uso con Claude Desktop

Agregue el servidor a su archivo 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" } } } }

Herramientas disponibles

Nombre de la herramientaDescripción
list-notificationsListar todas las notificaciones de GitHub para el usuario autenticado
mark-notifications-readMarcar todas las notificaciones como leídas
get-threadObtener información sobre un hilo de notificaciones
mark-thread-readMarcar un hilo específico como leído
mark-thread-doneMarcar un hilo como terminado
get-thread-subscriptionObtener el estado de suscripción para un hilo
set-thread-subscriptionSuscribirse a un hilo
delete-thread-subscriptionDarse de baja de un hilo
list-repo-notificationsLista de notificaciones para un repositorio específico
mark-repo-notifications-readMarcar las notificaciones de un repositorio como leídas
manage-repo-subscriptionAdministrar suscripciones al repositorio: all_activity, predeterminado (participación y @menciones) o ignorar (silenciar)

Ejemplos de indicaciones

A continuación se muestran algunos ejemplos de indicaciones que puede utilizar con Claude Desktop una vez que el servidor esté conectado:

  • "¿Puedes revisar mis notificaciones de GitHub?"
  • "Muéstrame mis notificaciones no leídas de las últimas 24 horas".
  • "Marcar todas mis notificaciones como leídas."
  • "¿Puedes contarme sobre el hilo de notificación 12345?"
  • "Darme de baja del hilo 12345."
  • "¿Qué notificaciones tengo para el repositorio octocat/Hello-World?"
  • "Marcar todas las notificaciones del repositorio octocat/Hello-World como leídas".
  • "Vigila toda la actividad en el repositorio octocat/Hello-World".
  • "Establecer el repositorio octocat/Hello-World con la configuración predeterminada (participación y @menciones)".
  • "Verifique mi configuración de notificaciones para el repositorio octocat/Hello-World".
  • "Silenciar todas las notificaciones del repositorio octocat/Hello-World".

Desarrollo

Manejo de URL

Este servidor convierte automáticamente las URL de la API de GitHub a sus URL de interfaz web correspondientes. Por ejemplo:

  • URL de la API: https://api.github.com/repos/nodejs/node/pulls/57557
  • Convertido a: https://github.com/nodejs/node/pull/57557

La conversión maneja:

  • Conversión de dominio de api.github.com/repos a github.com
  • Corrección de ruta para solicitudes de extracción (cambio de pulls a pull ")
  • Preservación de segmentos de ruta adicionales

Estructura del proyecto

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

Edificio

npm run build

Pruebas

Ejecute las pruebas automatizadas:

npm test

Pruebe la conversión de URL manualmente:

npm run test:url

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP que permite a los asistentes de IA como Claude ayudar a los usuarios a administrar sus notificaciones de GitHub a través de comandos de lenguaje natural.

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Running the server directly
          2. Using with Claude Desktop
        2. Available Tools
          1. Example Prompts
            1. Development
              1. URL Handling
              2. Project Structure
              3. Building
              4. Testing
            2. License
              ID: brdsnep31l