GitHub Repository Analyzer

by jar285
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports environment variable management for storing GitHub API tokens securely using .env files.

  • Provides tools for analyzing GitHub repositories, including retrieving repository metadata, analyzing issues, accessing documentation, viewing commit history, calculating activity metrics, and creating visualizations of repository activity.

GitHub Repository Analyzer MCP Server

A Model Context Protocol (MCP) server that enables Large Language Models to analyze GitHub repositories in real-time. This server provides tools for retrieving repository information, analyzing issues, accessing documentation, and visualizing activity.

Features

  • Repository Information Tool: Retrieve basic metadata about GitHub repositories
  • Issue Analysis Tool: List and categorize repository issues
  • README Access Resource: Access repository documentation
  • Commit History Tool: Analyze recent code changes
  • Activity Analysis Tool: Calculate repository activity metrics
  • Visualization Tool: Create visual charts of repository activity

Prerequisites

  • Python 3.10 or higher
  • GitHub account and Personal Access Token

Installation

  1. Clone this repository:
git clone <repository-url> cd github-repo-analyzer
  1. Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file with your GitHub API token:
cp .env.example .env

Edit the .env file and replace your_github_token_here with your actual GitHub Personal Access Token.

Usage

Running the Server

To start the server in development mode with the MCP Inspector:

mcp dev src/server.py

This will open a web interface in your browser where you can test the server's tools.

Registering with Claude Desktop

To register the server with Claude Desktop:

mcp install src/server.py

After registering, restart Claude Desktop. You can then interact with the GitHub Repository Analyzer by asking Claude questions about GitHub repositories.

Example Prompts for Claude

  • "Can you analyze the GitHub repository 'modelcontextprotocol/python-sdk' and tell me about its purpose and activity level?"
  • "What are the top 5 open issues in the 'openai/openai-python' repository?"
  • "How active has the 'anthropics/anthropic-sdk-python' repository been in the last 30 days?"
  • "Please read the README of the 'microsoft/TypeScript' repository and explain its main features."
  • "Generate a chart showing the commit activity for 'facebook/react' over the last 60 days."

Development

Project Structure

github-repo-analyzer/ ├── src/ │ ├── github_tools.py # GitHub API client implementation │ └── server.py # MCP server implementation ├── requirements.txt # Dependencies ├── .env.example # Example environment variables ├── .gitignore # Git ignore file └── README.md # Project documentation

Adding New Tools

To add a new tool to the server, follow these steps:

  1. Add the necessary functionality to the GitHubAPIClient class in github_tools.py
  2. Register the tool with the MCP server in server.py using the @server.tool decorator
  3. Test the tool using the MCP Inspector

Testing

To test the server, use the MCP Inspector as described in the Usage section. You can also write unit tests for the GitHub API client functionality.

Security Considerations

  • Never commit your GitHub API token to version control
  • Use the minimum required scopes for your GitHub token
  • Be mindful of GitHub API rate limits

License

MIT License

-
security - not tested
F
license - not found
-
quality - not tested

Enables Large Language Models to analyze GitHub repositories in real-time, providing tools for retrieving repository information, analyzing issues, accessing documentation, and visualizing activity.

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Running the Server
          2. Registering with Claude Desktop
          3. Example Prompts for Claude
        2. Development
          1. Project Structure
          2. Adding New Tools
        3. Testing
          1. Security Considerations
            1. License
              ID: ywjzhd62p8