MCP cover image
See in Github
2025-03-08

AI模型的GitHub上下文服务器。获取文件,结构,过滤器等。

1

Github Watches

1

Github Forks

2

Github Stars

GitHub Repository MCP Server

This Model Context Protocol (MCP) server allows AI models to access GitHub repository contents as context. It provides tools to fetch file contents, repository structure, and entire repositories for use as context in AI interactions.

Features

  • Fetch entire repository contents as context
  • Get specific file contents from a repository
  • Get repository structure (file listing)
  • Filter files by extension
  • Exclude specific paths
  • Limit the number of files returned

Installation

# clone the repository
git clone https://github.com/shanksxz/github-mcp.git
cd github-mcp

# install dependencies
npm install

# build the project
npm run build

Usage

Setting up GitHub Authentication

While the server can work with public repositories without authentication, GitHub API has strict rate limits for unauthenticated requests (60 requests/hour). To increase this limit to 5000 requests/hour, set the GITHUB_TOKEN environment variable:

# create a file called gh.sh and add the following line:
export GITHUB_TOKEN=your_github_personal_access_token
# make the file executable
chmod +x gh.sh
# run the file
./gh.sh

You can create a personal access token in your GitHub Developer Settings.

Using with Cursor

To use this server with Cursor follow these steps:

  1. Open Cursor Settings
  2. Search for "MCP"
  3. Click on "Add a new MCP Server"
  4. Enter the following information:
    • Name: github-repo-context (or any name you want)
    • Type: Command
    • Command: /path/to/your-local-repo-setup/gh.sh
  5. Click "Save"
  6. Enable the server by clicking the toggle next to the server name
  7. You should now be able to use the server in your project

The server communicates via stdin/stdout following the MCP protocol.

Available Tools

The server provides the following tools:

  1. get-repo-context: Get all files from a GitHub repository to use as context

    • Parameters:
      • owner: GitHub repository owner/organization name
      • repo: GitHub repository name
      • maxFiles (optional): Maximum number of files to include (default: 50)
      • fileExtensions (optional): File extensions to include (e.g., ['js', 'ts', 'md'])
      • excludePaths (optional): Paths to exclude (default: ['node_modules', 'dist', 'build'])
  2. get-file-content: Get content of a specific file from a GitHub repository

    • Parameters:
      • owner: GitHub repository owner/organization name
      • repo: GitHub repository name
      • path: Path to the file in the repository
  3. get-repo-structure: Get the structure of a GitHub repository

    • Parameters:
      • owner: GitHub repository owner/organization name
      • repo: GitHub repository name

Example

When integrated with an AI model that supports MCP, you can use commands like:

Get the structure of the repository tensorflow/tensorflow

The AI would then use the get-repo-structure tool to fetch and display the repository structure.

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Contraband Interactive
  • Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • rustassistant.com
  • Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Alexandru Strujac
  • Efficient thumbnail creator for YouTube videos

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • apappascs
  • 发现市场上最全面,最新的MCP服务器集合。该存储库充当集中式枢纽,提供了广泛的开源和专有MCP服务器目录,并提供功能,文档链接和贡献者。

  • ShrimpingIt
  • MCP系列GPIO Expander的基于Micropython I2C的操作,源自ADAFRUIT_MCP230XX

  • OffchainLabs
  • 进行以太坊的实施

  • modelcontextprotocol
  • 模型上下文协议服务器

  • Mintplex-Labs
  • 带有内置抹布,AI代理,无代理构建器,MCP兼容性等的多合一桌面和Docker AI应用程序。

  • huahuayu
  • 统一的API网关,用于将多个Etherscan样区块链Explorer API与对AI助手的模型上下文协议(MCP)支持。

    Reviews

    3 (1)
    Avatar
    user_cs36cEZZ
    2025-04-17

    I have been using gh-mcp-server by shanksxz for a while now, and it has significantly improved my server management workflow. The seamless integration and user-friendly interface save me a lot of time. Highly recommended for anyone looking for an efficient, reliable server management tool!