📇 ☁️ 🪟 🐧 🍎 - Browse GitHub repositories, explore directories and view file contents
GitHub Repo MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
GitHub Repo MCP is an open-source MCP server that lets your AI assistants browse GitHub repositories, explore directories, and view file contents.
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
Windows NPX
Windows NPX via .cursor/mcp.json
Windows NPX via .cursor/mcp.json (if path not set)
Installing via Smithery
To install GitHub Repo MCP for Claude Desktop automatically via Smithery:
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
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| GITHUB_TOKEN | No | None | Your 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:
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.
- **Parameters**:
- repoUrl: The URL of the GitHub repository (e.g., "https://github.com/owner/repo")
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?"