返回市场
MCP-GitHub阅读器生产服务器

MCP-GitHub阅读器生产服务器

作者:skydeckai3 星标更新:2025-03-30

项目介绍

MCP GitHub Reader

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

特性

  • 基于API: 不需要本地克隆仓库 - 直接与GitHub的API工作
  • 仓库分析: 获取任何GitHub仓库的概览和统计数据
  • 文件访问: 检索单个文件内容或整个仓库文件结构
  • 智能过滤: 使用通配符和正则表达式模式包含或排除文件
  • 缓存支持: 智能缓存和优化请求模式以避免GitHub API限制
  • 搜索能力: 在仓库中查找匹配特定模式的文件
  • 兼容MCP: 与支持模型上下文协议的任何LLM客户端一起工作
  • 提示模板: 常见仓库分析任务的现成提示模板

安装

全局安装(推荐用于CLI使用)

npm install -g mcp-github-reader

本地安装

npm install mcp-github-reader

使用

作为独立服务器运行

# 如果全局安装
mcp-github-reader

# 如果本地安装
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: 以拥有者/仓库格式的仓库名称(例如:"skydeckai/mcp-server-aidd")
  • includeFiles(可选): 在分析中包含文件列表(默认:false)

4. searchRepository

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

参数:

  • repository: 以拥有者/仓库格式的仓库名称(例如:"skydeckai/mcp-server-aidd")
  • query: 在文件名中搜索的文本(例如:"function")
  • path(可选): 过滤到特定路径的搜索(例如:"src")

可用提示

该服务器还包括有用的提示模板,帮助LLMs与仓库交互:

  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 Inc.