mcpField
M
MCP GitHub Reader

MCP GitHub Reader

本地服务
github.com/skydeckai版本控制683 周前更新

关于 MCP GitHub Reader

MCP GitHub Reader 让 LLM 客户端通过 GitHub API 检查公开仓库,无需在本地克隆。它整合仓库分析、筛选文件访问和文件名搜索。

主要功能

  1. 01分析仓库统计数据和语言
  2. 02获取文件或仓库内容
  3. 03用 glob 或正则表达式筛选文件
  4. 04搜索仓库文件名
  5. 05使用现成的分析提示词

适用场景

  1. 01查看公开仓库的结构
  2. 02不克隆仓库而读取指定文件
  3. 03查找符合查询条件的文件名

MCP 相关

向兼容 MCP 的客户端提供四种 GitHub 仓库工具和提示词模板。它仅支持公开仓库,不提供私有仓库认证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"github-reader-prod": {
"command": "npx",
"args": [
"-y",
"mcp-github-reader"
]
}
}
}
启动命令npx -y mcp-github-reader

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-github-reader

工具

4

收录的工具列表 · 更新于 3 周前

参数类型必填说明
ownerstring是仓库所有者(例如,"skydeckai")
repostring是仓库名称(例如,"mcp-server-aidd")
pathstring是仓库内文件的路径(例如,"README.md")
branchstring否可选:分支名称(默认为默认分支)

详细介绍

MCP GitHub Reader

一个轻量级的模型上下文协议(MCP)服务,可将 GitHub 仓库引入大模型的上下文中。

功能

  • 基于 API:无需在本地克隆仓库,可直接使用 GitHub API
  • 仓库分析:获取任意 GitHub 仓库的概览和统计信息
  • 文件访问:检索单个文件的内容或整个仓库的文件结构
  • 智能筛选:使用 glob 和正则表达式模式包含或排除文件
  • 启用缓存:通过智能缓存和优化的请求模式,避免触及 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-server-aidd”)
  • path:仓库内文件的路径(例如,“README.md”)
  • branch(可选):分支名称(默认为默认分支)
2. get_entire_repo_contents

获取整个仓库的内容,并使用智能筛选选项。

参数:

  • owner:仓库所有者(例如,“skydeckai”)
  • repo:仓库名称(例如,“mcp-server-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:采用 owner/repo 格式的仓库名称(例如,“skydeckai/mcp-server-aidd”)
  • includeFiles(可选):在分析中包含文件列表(默认值:false)
4. searchRepository

搜索仓库中与特定模式匹配的文件。

参数:

  • repository:采用 owner/repo 格式的仓库名称(例如,“skydeckai/mcp-server-aidd”)
  • query:要在文件名中搜索的文本(例如,“function”)
  • 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 License 2.0。详情请参阅 LICENSE 文件。

版权所有 © 2025 SkyDeck AI Inc.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。