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
- Clone this repository:
- Create and activate a virtual environment:
- Install dependencies:
- Create a
.env
file with your GitHub API token:
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:
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:
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
Adding New Tools
To add a new tool to the server, follow these steps:
- Add the necessary functionality to the
GitHubAPIClient
class ingithub_tools.py
- Register the tool with the MCP server in
server.py
using the@server.tool
decorator - 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
This server cannot be installed
Enables Large Language Models to analyze GitHub repositories in real-time, providing tools for retrieving repository information, analyzing issues, accessing documentation, and visualizing activity.