Skip to main content
Glama

GitHub Repository Analyzer

by jar285
README.md3.43 kB
# 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: ```bash git clone <repository-url> cd github-repo-analyzer ``` 2. Create and activate a virtual environment: ```bash python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 3. Install dependencies: ```bash pip install -r requirements.txt ``` 4. Create a `.env` file with your GitHub API token: ```bash 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: ```bash 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: ```bash 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](LICENSE)

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/jar285/github_mcp_analyzer'

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