GitHub仓库读取器

一个轻量级的MCP服务器,用于将GitHub仓库内容引入大型语言模型的上下文中,提供API访问、仓库分析、文件检索和智能过滤等功能。

  • by skydeckai
  • JavaScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 skydeckai/mcp-github-reader-prod

使用说明

MCP GitHub阅读器

一个轻量级的模型上下文协议(MCP)服务器,用于将GitHub存储库带入大型语言模型的上下文中。

特性

  • 基于API:无需本地存储库克隆-直接与GitHub的API配合使用
  • 存储库分析:获取任何GitHub存储库的概述和统计数据
  • 文件访问:检索单个文件内容或整个存储库文件结构
  • 智能过滤:包含或排除具有glob和regex模式的文件
  • 缓存已启用:智能缓存和优化的请求模式,以避免GitHub API限制
  • 搜索功能:在存储库中查找与特定模式匹配的文件
  • MCP兼容:适用于支持模型上下文协议的任何LLM客户端
  • 提示模板:用于常见存储库分析任务的即用型提示模板

安装

全局安装(建议用于CLI)

npm install -g mcp-github-reader

本地安装

npm install mcp-github-reader

用法

作为独立服务器运行

# If installed globally
mcp-github-reader

# If installed locally
npx mcp-github-reader

与Claude整合

对于npm安装:

将此添加到您的Claude Desktop工具配置中:

"github-reader": {
  "runtime": "node",
  "command": "npx",
  "args": [
    "-y",
    "mcp-github-reader"
  ]
}

对于本地安装:

"github-reader-test": {
  "command": "node",
  "args": [
    "/path/to/your/repo/src/mcp-github-reader.js"
  ]
}

替换 /path/to/your/repo 使用您的实际存储库位置。

可用工具

MCP服务器提供了四种与GitHub存储库交互的强大工具:

1.get_individual_file_content

从GitHub存储库中检索特定文件的内容。

参数:

  • owner:存储库所有者(例如“skydeckai”)
  • repo:存储库名称(例如“mcp服务器aidd”)
  • path:存储库中文件的路径(例如,“README.md”)
  • branch (可选):分支名称(默认为默认分支)

2.获取轮胎报告内容

使用智能过滤选项获取整个存储库的内容。

参数:

  • owner:存储库所有者(例如“skydeckai”)
  • repo:存储库名称(例如“mcp服务器aidd”)
  • exclude_patterns (可选):要排除的模式(例如,[““.test.js”、“node_modules”/"])
  • include_patterns (可选):仅包含与这些模式匹配的文件(例如,[“.js“,”.json“、”*.md“])
  • file_size_limit (可选):响应的最大总大小(例如,“5m”)
  • individual_file_size_limit (可选):跳过大于此大小的文件(例如“500k”)
  • max_files (可选):要包含的最大文件数(默认值:50)
  • include_contents (可选):是包含文件内容还是仅列出文件(默认值:true)
  • use_regex (可选):将排除/包含模式视为正则表达式

3.analyzeRepository

分析存储库,提供统计数据和语言细分。

参数:

  • repository:所有者/仓库格式的仓库名称(例如“skydeckai/mcp服务器aidd”)
  • includeFiles (可选):在分析中包含文件列表(默认值:false)

4.搜索存储库

在存储库中搜索与特定模式匹配的文件。

参数:

  • repository:所有者/仓库格式的仓库名称(例如“skydeckai/mcp服务器aidd”)
  • query:在文件名中搜索的文本(例如“函数”)
  • path (可选):过滤搜索到特定路径(例如“src”)

可用提示

服务器还包括有用的提示模板,以帮助LLM与存储库交互:

  1. repositoryOverview:分析存储库的用途和结构
  2. codeExplanation:解释特定文件中的代码
  3. codeSearch:在存储库中搜索模式
  4. fileContent:获取特定文件的内容
  5. repositoryInfo:获取存储库信息
  6. repositoryStructure:查看存储库文件结构
  7. branchList:列出存储库分支

例子

检索单个文件内容

{
  "name": "get_individual_file_content",
  "parameters": {
    "owner": "skydeckai",
    "repo": "mcp-server-aidd",
    "path": "README.md"
  }
}

通过过滤获取存储库内容

{
  "name": "get_entire_repo_contents",
  "parameters": {
    "owner": "skydeckai",
    "repo": "mcp-server-aidd",
    "include_patterns": ["*.js", "*.json", "*.md"],
    "exclude_patterns": ["*.test.js", "node_modules/*"],
    "max_files": 30
  }
}

分析存储库

{
  "name": "analyzeRepository",
  "parameters": {
    "repository": "skydeckai/mcp-server-aidd",
    "includeFiles": true
  }
}

局限性

  • 目前仅适用于公共GitHub存储库
  • 不支持私有存储库或身份验证
  • 受GitHub API速率限制(未经验证的请求每小时60个请求)

许可证

Apache许可证2.0。有关详细信息,请参阅LICENSE文件。

版权所有©2025 SkyDeck AI股份有限公司。