GitHub Repository Browser
STDIOOpen-source MCP server that lets AI assistants browse GitHub repositories and view files.
Open-source MCP server that lets AI assistants browse GitHub repositories and view files.
GitHub Repo MCP is an open-source MCP server that lets your AI assistants browse GitHub repositories, explore directories, and view file contents.
Getting started • Feature overview
stdio
protocolInstalling the server requires the following on your system:
You can install and run GitHub Repo MCP using Smithery, NPX, or setting in mcp.json of your IDE:
npx github-repo-mcp
cmd /c npx -y github-repo-mcp
{ "mcpServers": { "github-repo-mcp": { "command": "wsl", "args": [ "bash", "-c", "cmd /c npx -y github-repo-mcp" ], "enabled": true } } }
# Find the full path to npx first which npx
{ "mcpServers": { "github-repo-mcp": { "command": "wsl", "args": [ "bash", "-c", "'/home/[username]/.nvm/versions/node/v20.18.0/bin/npx github-repo-mcp'" ], "enabled": true } } }
To install GitHub Repo MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Ryan0204/github-repo-mcp --client claude
Wait a few seconds or click on the refresh button a few times if it does not register. If it still won't register, make sure you entered the right command.
The GitHub Repo MCP server can use a GitHub token for higher rate limits when accessing the GitHub API.
Variable | Required | Default | Description |
---|---|---|---|
GITHUB_TOKEN | No | None | Your GitHub personal access token for higher rate limits |
While the server works without authentication, GitHub API has rate limits that are much lower for unauthenticated requests. To increase your rate limit:
{ "mcpServers": { "github-repo-mcp": { "command": "...", "args": [ ... ], "env": { "GITHUB_TOKEN": "Your_Github_Token" } "enabled": true, } } }
The server provides three main tools for interacting with GitHub repositories:
getRepoAllDirectories
Lists all files and directories at the root of a GitHub repository.
repoUrl
: The URL of the GitHub repository (e.g., "https://github.com/owner/repo")getRepoDirectories
Lists contents of a specific directory in a GitHub repository.
repoUrl
: The URL of the GitHub repositorypath
: The directory path to fetch (e.g., "src")getRepoFile
Retrieves and displays the content of a specific file from a GitHub repository.
repoUrl
: The URL of the GitHub repositorypath
: The file path to fetch (e.g., "src/index.js")Here are some examples of how to use these tools with an AI assistant:
Browsing a repository root: Ask your AI assistant to "Show me the contents of the repository at https://github.com/Ryan0204/github-repo-mcp"
Exploring a specific directory: Ask "What files are in the src directory of https://github.com/Ryan0204/github-repo-mcp?"
Viewing a file: Ask "Show me the README.md file from https://github.com/Ryan0204/github-repo-mcp"
Here are some common issues and their solutions:
If you encounter any issues, please check the output for error messages or create an issue in the GitHub repository.
Enjoy! ☺️