GitHub Repo MCP allow your AI assistants browse GitHub repositories, explore directories, and view file contents.
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! βΊοΈ