mcpField
G
GitHub Repo MCP

GitHub Repo MCP

Local
github.com/Ryan0204Version Control33Updated 6w ago

About GitHub Repo MCP

GitHub Repo MCP is an open-source MCP server that lets AI assistants browse public GitHub repositories, explore directories, and read file contents. It suits users who want an assistant to inspect project code without cloning it, and it installs through npm or Smithery.

Key features

  1. 01Browse contents of public GitHub repositories
  2. 02Navigate repository directories and subdirectories
  3. 03View code and text file contents
  4. 04Install via npx or Smithery
  5. 05Optional GitHub token for higher rate limits

Use cases

  1. 01Ask an AI assistant to show a project's directory layout
  2. 02Read specific files from a repository during a chat
  3. 03Review third-party code from Cursor, Windsurf or Claude Desktop

MCP support

This is an MCP server that communicates over the stdio protocol with MCP clients such as Cursor, Windsurf and Claude Desktop, exposing repository browsing and file reading tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"github-repo": {
"command": "npx",
"args": [
"-y",
"github-repo-mcp"
]
}
}
}
Run commandnpx -y github-repo-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmgithub-repo-mcp

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
repoUrlstringYesThe URL of the Github repo

Details

From the project README

GitHub Repo MCP

Trust Score

LightNow capabilities

GitHub Repo MCP is an open-source MCP server that lets your AI assistants browse GitHub repositories, explore directories, and view file contents.

github-repo-mcp MCP server

Table of contents

Getting started • Feature overview

✨ Key features

  • 💻 Compatible with Cursor, Windsurf, Claude Desktop, and other MCP clients supporting stdio protocol
  • 🔎 Browse the contents of any public GitHub repository
  • 📂 Navigate through repository directories and subdirectories
  • 📝 View the content of code and text files
  • 📦 Easy installation via package manager

Getting Started

Prerequisites

Installing the server requires the following on your system:

  • Node.js 18+
  • npm or yarn
Step 1. Installation

You can install and run GitHub Repo MCP using Smithery, NPX, or setting in mcp.json of your IDE:

MacOS
npx github-repo-mcp
Windows NPX
cmd /c npx -y github-repo-mcp
Windows NPX via .cursor/mcp.json
{
  "mcpServers": {
    "github-repo-mcp": {
      "command": "wsl",
      "args": [
        "bash",
        "-c",
        "cmd /c npx -y github-repo-mcp"
      ],
      "enabled": true
    }
  }
}
Windows NPX via .cursor/mcp.json (if path not set)
# 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
    }
  }
}
Installing via Smithery

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.

Step 2. Configuration

The GitHub Repo MCP server can use a GitHub token for higher rate limits when accessing the GitHub API.

Environment Variables
VariableRequiredDefaultDescription
GITHUB_TOKENNoNoneYour GitHub personal access token for higher rate limits
Setting Up a GitHub Token (Optional)

While the server works without authentication, GitHub API has rate limits that are much lower for unauthenticated requests. To increase your rate limit:

  1. Create a personal access token at https://github.com/settings/tokens
  2. Set the token as an environment variable in mcp.json:
{
  "mcpServers": {
    "github-repo-mcp": {
      "command": "...",
      "args": [
        ...
      ],
      "env": {
        "GITHUB_TOKEN": "Your_Github_Token"
      }
      "enabled": true,
    }
  }
}

Feature Overview

Repository Browsing Tools

The server provides three main tools for interacting with GitHub repositories:

1. getRepoAllDirectories

Lists all files and directories at the root of a GitHub repository.

2. getRepoDirectories

Lists contents of a specific directory in a GitHub repository.

  • Parameters:
    • repoUrl: The URL of the GitHub repository
    • path: The directory path to fetch (e.g., "src")
3. getRepoFile

Retrieves and displays the content of a specific file from a GitHub repository.

  • Parameters:
    • repoUrl: The URL of the GitHub repository
    • path: The file path to fetch (e.g., "src/index.js")
Usage Examples

Here are some examples of how to use these tools with an AI assistant:

  1. Browsing a repository root: Ask your AI assistant to "Show me the contents of the repository at https://github.com/Ryan0204/github-repo-mcp"

  2. Exploring a specific directory: Ask "What files are in the src directory of https://github.com/Ryan0204/github-repo-mcp?"

  3. Viewing a file: Ask "Show me the README.md file from https://github.com/Ryan0204/github-repo-mcp"

Limitations
  • Rate Limiting: Without authentication, GitHub API has strict rate limits (60 requests per hour)
  • Private Repositories: Can only access public repositories unless a token with appropriate permissions is provided
  • Binary Files: The server detects common binary file extensions and won't display their contents
  • Large Files: GitHub API has limitations on the size of files that can be retrieved

Troubleshooting

Here are some common issues and their solutions:

  • Rate limit exceeded: Set up a GitHub token as described in the Configuration section
  • Command not found: Ensure the package is installed globally
  • Connection errors: Check your internet connection and GitHub API status

If you encounter any issues, please check the output for error messages or create an issue in the GitHub repository.


Enjoy! ☺️

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.