Skip to main content
Glama
pranjal-sen-2004

GitHub Activity MCP Server

🚀 GitHub Activity MCP Server

Un servidor MCP (Model Context Protocol) construido con FastMCP y PyGithub que conecta asistentes de IA a GitHub: buscar repositorios, gestionar issues y PRs, analizar contribuciones y mucho más.

¿Qué es MCP? El Model Context Protocol es un estándar abierto que permite a los asistentes de IA conectarse a datos y herramientas externas a través de una interfaz unificada. Piénsalo como el «USB-C para la IA».


✨ Características

Este servidor expone 13 herramientas, 3 proveedores de recursos y 3 plantillas de prompts, cubriendo las tres primitivas de MCP.

🔧 Herramientas (controladas por el modelo)

Acciones que la IA puede realizar de forma autónoma:

Herramienta

Descripción

search_repositories

Buscar repositorios de GitHub por consulta, lenguaje y estrellas

get_repository

Obtener información detallada del repositorio (estrellas, forks, temas, etc.)

get_file_contents

Leer cualquier archivo de un repositorio

list_commits

Listar commits recientes con filtros

list_issues

Listar issues con filtros de estado, etiqueta o asignado

get_issue

Obtener los detalles completos del issue y sus comentarios

create_issue

Crear un nuevo issue

add_issue_comment

Comentar en un issue

list_pull_requests

Listar PRs con filtros de estado o rama

get_pull_request

Obtener los detalles del PR y el estado del merge

get_pull_request_diff

Ver los cambios de código del PR

get_user_profile

Obtener el perfil público de un usuario

list_user_repos

Listar los repositorios de un usuario

📦 Recursos (controlados por la aplicación)

Datos contextuales que la IA puede leer:

URI del recurso

Descripción

github://repo/{owner}/{repo}/readme

README del repositorio (Markdown)

github://repo/{owner}/{repo}/tree

Listado completo del árbol de archivos

github://repo/{owner}/{repo}/languages

Desglose de lenguajes con porcentajes

💬 Prompts (activados por el usuario)

Plantillas de flujo de trabajo predefinidas:

Prompt

Descripción

analyze-repo

Análisis completo del repositorio

review-pr

Revisión de código con buenas prácticas

issue-triage

Categorizar y priorizar issues abiertos


Related MCP server: GitHub MCP Server

🏗️ Arquitectura

graph LR
    A[AI Assistant] <-->|MCP Protocol| B[GitHub MCP Server]
    B <-->|REST API| C[GitHub API]

    subgraph "MCP Server (FastMCP)"
        B --> D[Tools]
        B --> E[Resources]
        B --> F[Prompts]
    end

    subgraph "Tools"
        D --> D1[Repos]
        D --> D2[Issues]
        D --> D3[Pull Requests]
        D --> D4[Users]
    end

🚀 Inicio rápido

Requisitos previos

  • Python ≥ 3.10

  • Token de acceso personal de GitHub (opcional, pero recomendado para obtener límites de solicitudes más altos)

Instalación

# Clone the repository
git clone https://github.com/YOUR_USERNAME/github-mcp-server.git
cd github-mcp-server

# Install dependencies
pip install fastmcp PyGithub

Configurar tu token de GitHub (Opcional)

Crea un token de acceso personal con los alcances repo y read:user:

# Linux/macOS
export GITHUB_TOKEN=ghp_your_token_here

# Windows (PowerShell)
$env:GITHUB_TOKEN = "ghp_your_token_here"

Nota: Sin un token tendrás un límite de 60 solicitudes a la API por hora. Con un token, obtienes 5.000 por hora.

Ejecutar el servidor

# Run directly
fastmcp run src/server.py

# Or with Python
python -m src.server

Probar con FastMCP Dev Mode

fastmcp dev src/server.py

⚙️ Configuración

Claude Desktop

Añade a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS, o %APPDATA%\Claude\claude_desktop_config.json en Windows):

{
  "mcpServers": {
    "github": {
      "command": "fastmcp",
      "args": ["run", "src/server.py"],
      "cwd": "/absolute/path/to/github-mcp-server",
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Cursor

Añade a tu configuración de MCP de Cursor (.cursor/mcp.json en tu proyecto o en la configuración global):

{
  "mcpServers": {
    "github": {
      "command": "fastmcp",
      "args": ["run", "src/server.py"],
      "cwd": "/absolute/path/to/github-mcp-server",
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

VS Code (GitHub Copilot)

Añade a tu configuración de VS Code (.vscode/settings.json):

{
  "mcp": {
    "servers": {
      "github": {
        "command": "fastmcp",
        "args": ["run", "src/server.py"],
        "cwd": "/absolute/path/to/github-mcp-server",
        "env": {
          "GITHUB_TOKEN": "ghp_your_token_here"
        }
      }
    }
  }
}

📁 Estructura del proyecto

github-mcp-server/
├── src/
│   ├── __init__.py
│   ├── server.py             # FastMCP server instance & entry point
│   ├── github_client.py      # PyGithub client wrapper & error handling
│   ├── resources.py          # Resource providers (README, tree, languages)
│   ├── prompts.py            # Prompt templates (analyze, review, triage)
│   └── tools/
│       ├── __init__.py
│       ├── repos.py          # Repository tools (search, get, file contents, commits)
│       ├── issues.py         # Issue tools (list, get, create, comment)
│       ├── pulls.py          # Pull request tools (list, get, diff)
│       └── users.py          # User tools (profile, repos)
├── pyproject.toml
├── README.md
├── LICENSE
└── .gitignore

🛠️ Tecnologías

Tecnología

Propósito

FastMCP

Framework de servidor MCP de alto nivel

PyGithub

Cliente de la API REST de GitHub

Model Context Protocol

El estándar abierto para la integración de herramientas de IA


🤝 Contribuciones

¡Las contribuciones son bienvenidas! Así se hace:

  1. Haz un fork del repositorio

  2. Crea una rama de funcionalidad (git checkout -b feature/amazing-feature)

  3. Haz commit de tus cambios (git commit -m 'Add amazing feature')

  4. Sube los cambios a la rama (git push origin feature/amazing-feature)

  5. Abre un Pull Request


📄 Licencia

Este proyecto está bajo la Licencia MIT — consulta el archivo LICENSE para más detalles.


Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pranjal-sen-2004/github-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server