Skip to main content
Glama
pranjal-sen-2004

GitHub Activity MCP Server

πŸš€ GitHub Activity MCP Server

An MCP (Model Context Protocol) server built with FastMCP and PyGithub that connects AI assistants to GitHub β€” search repos, manage issues & PRs, analyze contributions, and more.

What is MCP? The Model Context Protocol is an open standard that lets AI assistants connect to external data and tools through a unified interface. Think of it as "USB-C for AI".


✨ Features

This server exposes 13 tools, 3 resource providers, and 3 prompt templates β€” covering all three MCP primitives.

πŸ”§ Tools (Model-Controlled)

Actions the AI can take autonomously:

Tool

Description

search_repositories

Search GitHub repos by query, language, stars

get_repository

Get detailed repo info (stars, forks, topics, etc.)

get_file_contents

Read any file from a repo

list_commits

List recent commits with filters

list_issues

List issues with state/label/assignee filters

get_issue

Get full issue details + comments

create_issue

Create a new issue

add_issue_comment

Comment on an issue

list_pull_requests

List PRs with state/branch filters

get_pull_request

Get PR details + merge status

get_pull_request_diff

View PR code changes

get_user_profile

Get a user's public profile

list_user_repos

List a user's repositories

πŸ“¦ Resources (Application-Controlled)

Contextual data the AI can read:

Resource URI

Description

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

Repository README (markdown)

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

Full file tree listing

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

Language breakdown with percentages

πŸ’¬ Prompts (User-Triggered)

Pre-built workflow templates:

Prompt

Description

analyze-repo

Comprehensive repository analysis

review-pr

Code review with best practices

issue-triage

Categorize and prioritize open issues


Related MCP server: GitHub MCP Server

πŸ—οΈ Architecture

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

πŸš€ Quick Start

Prerequisites

  • Python β‰₯ 3.10

  • GitHub Personal Access Token (optional, but recommended for higher rate limits)

Installation

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

# Install dependencies
pip install fastmcp PyGithub

Set up your GitHub Token (Optional)

Create a Personal Access Token with repo and read:user scopes:

# Linux/macOS
export GITHUB_TOKEN=ghp_your_token_here

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

Note: Without a token, you're limited to 60 API requests/hour. With a token, you get 5,000/hour.

Run the Server

# Run directly
fastmcp run src/server.py

# Or with Python
python -m src.server

Test with FastMCP Dev Mode

fastmcp dev src/server.py

βš™οΈ Configuration

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on 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

Add to your Cursor MCP config (.cursor/mcp.json in your project or global config):

{
  "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)

Add to your VS Code settings (.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"
        }
      }
    }
  }
}

πŸ“ Project Structure

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

πŸ› οΈ Tech Stack

Technology

Purpose

FastMCP

High-level MCP server framework

PyGithub

GitHub REST API client

Model Context Protocol

The open standard for AI-tool integration


🀝 Contributing

Contributions are welcome! Here's how:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


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