github-portfolio
Enables fetching public repositories for a given GitHub username, returning curated data optimized for LLM context windows.
README
🏗️ GitHub Portfolio MCP Server
A Model Context Protocol (MCP) server that connects Large Language Models (like Claude) to the GitHub API.
This project demonstrates an understanding of AI infrastructure by building a secure, standardized bridge between an LLM's context window and an external data source. By using the MCP standard, the LLM can dynamically request live data without requiring custom, one-off API integrations.
🧠 Architecture Overview
This integration utilizes the standard MCP JSON-RPC architecture over stdio:
- The LLM / Client (e.g., Claude Code): Acts as the brain and the mediator. It reads the tool schemas and decides when to fetch external data.
- The MCP Server (This Repo): A lightweight Python application using the
mcpSDK. It securely exposes specific tools and handles the JSON-RPC communication. - The External API (GitHub): The data source. The server executes standard HTTP requests to fetch live data.
🛠️ Available Tools
fetch_public_repos: Takes a GitHubusernameas a string and returns a clean, extracted list of their public repositories (including name, URL, and description) optimized for an LLM's context window.
🚀 Quick Start
Prerequisites
- Python 3.x installed
- Claude Code (or another MCP-compatible client)
Installation
- Clone this repository:
git clone <your-repo-url> cd <your-repo-folder>``` - Install the required dependencies:
pip install -r requirements.txt
Running with Claude Code
You can easily register this server with Claude Code so the LLM can use it dynamically. Run the following command in your terminal from the project directory:
claude mcp add github-portfolio python3 server.py
Once added, you can ask Claude Code a prompt like:
"Use the github-portfolio tools to fetch the public repositories for user1."
Claude will automatically format the JSON-RPC request, wake up the local Python server, execute the API call, and format the response.
Testing Locally
If you want to test the server without Claude Code, a custom Python client is included. Run:
python3 client.py
This will launch a background process, connect via standard input/output, and fetch a hardcoded test request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.