zarmaks/MCP-GitHub-Analysis
If you are the rightful owner of MCP-GitHub-Analysis and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The GitHub Portfolio MCP Server is a project that leverages the Model Context Protocol (MCP) to transform GitHub profiles into actionable insights, enhancing AI-assisted development.
analyze_portfolio
Analyze GitHub portfolio with comprehensive metrics.
π GitHub Portfolio MCP Server
Transform your GitHub profile into actionable insights using Model Context Protocol (MCP) - The future of AI-assisted development
π― Why This Project Matters
In the era of AI-driven development, Model Context Protocol (MCP) represents the next frontier in human-AI collaboration. This project demonstrates practical MCP implementation by creating an intelligent GitHub portfolio analyzer that:
- π Analyzes your entire GitHub presence programmatically
- π Provides data-driven improvement suggestions
- π Designs personalized learning paths based on your career goals
- π€ Showcases advanced MCP server implementation skills
π Key Features
π Portfolio Analytics
- Language Distribution: Visualize your coding language expertise
- Repository Insights: Activity levels, star counts, contribution patterns
- Code Quality Metrics: Automated analysis of documentation, testing, and best practices
π§ Intelligent Suggestions
- Documentation Improvements: Identify repos needing better READMEs
- Testing Coverage: Highlight projects lacking test suites
- Technology Diversification: Suggest new technologies to learn
π― Career Path Planning
- Role-Based Learning Paths: Tailored recommendations for:
- MLOps Engineers
- LLM/AI Engineers
- Full-Stack Developers
- Data Scientists
- Skill Gap Analysis: Compare current skills with target role requirements
- Resource Recommendations: Curated learning materials and projects
ποΈ Architecture
βββββββββββββββββββββββ βββββββββββββββββββββββ
β Streamlit Demo β β AI Applications β
β App β β (Claude, etc.) β
ββββββββββββ¬βββββββββββ ββββββββββββ¬βββββββββββ
β β
βββββββββββ¬ββββββββββββββββββ
β
ββββββββΌβββββββ
β MCP Server β
β (server.py) β
ββββββββ¬βββββββ
β
βββββββββββββΌββββββββββββ
β β β
ββββββΌβββββ ββββββΌβββββ βββββΌβββββ
β Analyze β βImprove- β βLearningβ
βPortfolioβ β ments β β Path β
ββββββ¬βββββ ββββββ¬βββββ βββββ¬βββββ
β β β
βββββββββββββΌββββββββββββ
β
ββββββββΌβββββββ
β GitHub API β
β Client β
βββββββββββββββ
π» Technical Stack
- Protocol: Model Context Protocol (MCP) - Anthropic's standard for AI tool integration
- Backend: Python 3.8+ with async support
- API Integration: GitHub REST API v3
- UI Framework: Streamlit for interactive demos
- Dependencies: Minimal, production-ready libraries
π Quick Start
Prerequisites
- Python 3.8+
- GitHub Personal Access Token
- Basic understanding of MCP (optional)
Installation
# Clone the repository
git clone https://github.com/zarmaks/github-portfolio-mcp.git
cd github-portfolio-mcp
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Configure GitHub token (set environment variable)
# On Windows: set GITHUB_TOKEN=your_github_personal_access_token
# On Unix/Mac: export GITHUB_TOKEN=your_github_personal_access_token
Configuration
Set your GitHub token as an environment variable:
Windows:
set GITHUB_TOKEN=your_github_personal_access_token
Unix/Mac:
export GITHUB_TOKEN=your_github_personal_access_token
Note: No .env
file is required - the application reads directly from environment variables.
Running the Application
MCP Server Mode
python server.py
Interactive Demo
streamlit run demo.py
πΈ Demo Screenshots
πΌοΈ Click to view demo screenshots
Portfolio Analysis
Comprehensive visualization of your GitHub activity and language distribution
Repository Analysis
Automated assessment of code quality, including linting and style checks
Detailed insights into repository health and activity patterns
Improvement Suggestions
Detailed breakdown of improvement areas with actionable suggestions
Highlighting your strengths and areas for growth
AI-powered recommendations for enhancing your repositories
Learning Path
Personalized roadmap based on your target role
π§ MCP Integration
This project serves as a reference implementation for MCP servers. Key implementation details:
Tool Registration
@server.tool()
async def analyze_portfolio(username: str) -> dict:
"""Analyze GitHub portfolio with comprehensive metrics"""
# Implementation details...
Async Support
- Non-blocking GitHub API calls
- Efficient handling of rate limits
- Concurrent repository analysis
Error Handling
- Graceful degradation on API failures
- Informative error messages
- Retry logic for transient failures
π Use Cases
- Job Seekers: Optimize your GitHub profile for recruiters
- Developers: Identify areas for improvement in your projects
- Team Leads: Assess team members' skill distributions
- Educators: Track student progress and suggest learning materials
Development Setup
# Install dependencies
pip install -r requirements.txt
# Run tests
python test_server.py
# Run debug/improvement tests
python debug_test.py
python test_improvements.py
πΊοΈ Roadmap
- v1.1: GitLab and Bitbucket integration
- v1.2: Advanced code quality metrics (complexity, coverage)
- v1.3: Team analytics and comparison features
- v2.0: Full MCP client implementation with Claude integration
π License
This project is licensed under the MIT License. Please add a LICENSE file to the repository for full license details.
π Acknowledgments
- Anthropic for the Model Context Protocol
- GitHub API for comprehensive developer tools
- Streamlit for rapid UI prototyping
π Contact
Zarmaks - GitHub Profile
Project Link: https://github.com/zarmaks/github-portfolio-mcp
Made with β€οΈ by developers, for developers
β Star this project β’ π Report Bug β’ β¨ Request Feature