MCP GitHub Navigator
Allows interaction with GitHub data, providing tools to list repositories, view issues, and read files via the GitHub REST API.
MCP GitHub Navigator
A Model Context Protocol (MCP) server that provides an AI agent with secure access to GitHub data, allowing it to list repositories, view issues, and read files via the GitHub API.
HLD (High-Level Design)
Architecture: The server is built in Node.js/TypeScript and implements the standard MCP
@modelcontextprotocol/sdk. It uses a StdioServerTransport to communicate directly with any MCP-compatible AI client via standard input/output.External Integration: Uses Axios to connect to the GitHub REST API (
https://api.github.com).Authentication: Relies on a Personal Access Token provided via the
GITHUB_TOKENenvironment variable.
Related MCP server: @cloud9-labs/mcp-github
LLD (Low-Level Design)
Entry Point:
src/index.tsis the main entry point which initializes theServerinstance and maps MCP capabilities.Tools Registered:
get_user: UsesGET /userto return the authenticated GitHub profile.list_repos: UsesGET /user/repos?sort=updated&per_page=10to return recently active repositories.
Data Flow: When an AI client sends a
CallToolRequestSchemaforlist_repos, the MCP server validates the tool name, invokes the corresponding GitHub API endpoint via Axios, formats the JSON response into a text block, and returns it to the client.
TDD (Test-Driven Development) Strategy
Frameworks: We recommend using
Jestfor executing test suites.Mocking: Testing relies on mocking the
axiosInstanceusing libraries likenockoraxios-mock-adapterto simulate GitHub API responses without requiring an active internet connection or hitting API rate limits.Integration Tests: Creating a mock MCP Client using
@modelcontextprotocol/sdk/clientto test the end-to-end flow of standardCallToolrequests.
Setup Instructions
Prerequisites
Node.js (v16 or higher)
A GitHub Personal Access Token (PAT)
Installation
Clone the repository:
git clone https://github.com/RachitJava/mcp-github.git cd mcp-githubInstall dependencies:
npm installBuild the project:
npm run build
Running the Server
The server requires the GITHUB_TOKEN environment variable to be set. You can run it directly:
export GITHUB_TOKEN="your_personal_access_token_here"
npm startNote: Since this is an MCP server, it is meant to be run by an MCP client (like Claude Desktop) rather than manually.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/RachitJava/mcp-github'
If you have feedback or need assistance with the MCP directory API, please join our Discord server