SuperAPI AI 工具集

read-github

编程与开发

查看项目

更新于 10-16 05:29

技能介绍

用途

read-github 用于以更可靠的方式读取 GitHub 仓库的文档与代码。它不采用直接抓取网页的方式,而是通过 gitmcp.io 的 MCP 服务访问仓库内容。资料称这种方式优于网页搜索,原因之一是它支持对文档进行语义搜索,而不仅是关键词匹配。

主要能力

该技能围绕 gitmcp.io 提供以下能力:

  • URL 转换:将 GitHub 地址转换为 gitmcp.io 地址。
    • github.com/owner/repo → gitmcp.io/owner/repo
    • 示例:https://github.com/karpathy/llm-council → https://gitmcp.io/karpathy/llm-council
  • 获取文档:拉取仓库的完整文档文件(如 README、docs 等)。
  • 文档语义搜索:在仓库文档内进行语义搜索。
  • 代码搜索:通过 GitHub Search API 进行精确匹配的代码搜索,返回匹配的文件。
  • 抓取引用 URL:获取文档中提到的 URL 内容,并遵守 robots.txt。
  • 直接工具调用:直接调用任意 MCP 工具。

使用方式

该技能通过 scripts/gitmcp.py 脚本提供命令行访问。

列出可用工具:

python3 scripts/gitmcp.py list-tools owner/repo

获取文档(拉取完整文档文件,如 README、docs 等):

python3 scripts/gitmcp.py fetch-docs owner/repo

在文档中语义搜索:

python3 scripts/gitmcp.py search-docs owner/repo "query"

搜索代码(使用 GitHub Search API,精确匹配):

python3 scripts/gitmcp.py search-code owner/repo "function_name"

抓取文档中引用的 URL:

python3 scripts/gitmcp.py fetch-url owner/repo "https://example.com/doc"

直接调用任意 MCP 工具:

python3 scripts/gitmcp.py call owner/repo tool_name '{"arg": "value"}'

工具命名规则

工具名会以仓库名(下划线形式)动态加前缀,例如:

  • karpathy/llm-council → fetch_llm_council_documentation
  • facebook/react → fetch_react_documentation
  • my-org/my-repo → fetch_my_repo_documentation

可用的 MCP 工具

对任意仓库,以下工具可用:

  • fetch_{repo}_documentation:获取整个文档。回答一般性问题时应首先调用。
  • search_{repo}_documentation:在文档内进行语义搜索。用于具体查询。
  • search_{repo}_code:通过 GitHub API 搜索代码(精确匹配),返回匹配的文件。
  • fetch_generic_url_content:抓取文档中引用的任意 URL,遵守 robots.txt。

推荐工作流

当拿到一个 GitHub 仓库时:

  1. 先获取文档,以理解项目。
  2. 针对用法或功能的具体问题,使用 search-docs。
  3. 查找实现或特定函数时,使用 search-code。
  4. 需要获取文档中提到的外部引用时,使用 fetch-url。

适用场景

  • 需要快速理解某个 GitHub 仓库的整体情况。
  • 需要就仓库的用法或功能提出具体问题。
  • 需要定位仓库中的实现或特定函数。
  • 需要获取文档中引用的外部链接内容。

限制

资料未提供关于收费、价格、平台支持范围、性能效果或额外使用步骤的信息,这些内容暂未提供。