mcpField
G
git-for-me

git-for-me

本地服务
github.com/bikemeardsley搜索与检索13 天前更新

关于 git-for-me

git-for-me 是面向编码 Agent 的 MCP 服务和 Agent Skill,可为项目查找现有开源仓库,并将需求归为使用、改造、构建或自行编写。它搜索 GitHub、GitLab 和 Codeberg,并实时核查仓库及许可、维护等风险。

主要功能

  1. 01搜索 GitHub、GitLab 和 Codeberg
  2. 02询问技术栈、平台、许可与维护要求
  3. 03拆分项目所需组件
  4. 04将结果分类为 USE、ADAPT、BUILD 或 WRITE
  5. 05实时核查仓库并标记风险

适用场景

  1. 01为计划开发的应用查找库
  2. 02选择依赖前检查许可
  3. 03识别需要自定义代码的项目部分

MCP 相关

stdio MCP 服务提供 git_for_me、git_for_me_search 和 git_for_me_verify 三个工具。它可供 MCP 客户端使用,也提供 Agent Skill。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"bikemeardsley-git-for-me": {
"command": "npx",
"args": [
"-y",
"git-for-me"
]
}
}
}
启动命令npx -y git-for-me

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

安装包
npmgit-for-me0.1.3

工具

3

收录的工具列表 · 更新于 5 天前

参数类型必填说明
needstring是你想构建什么,请用通俗语言说明:输入是什么、预期输出是什么,以及用途是什么
stackstring否将使用什么语言编写,例如 "TypeScript on Node" 或 "Python 3.12"
upkeepstring否你愿意维护多少代码,例如 "needs to stay maintained" 或 "happy to own a fork"
licensestring否最终成果可以用于什么用途,例如 "commercial, closed source" 或 "open source"
platformstring否将在哪里运行,例如 "a web app"、"a CLI" 或 "a server"

详细介绍

The Git for Me! mascot: an ink-drawn hermit crab that has just moved into a spiral shell it found, eyes on stalks looking up at it, one claw raised, an exclamation mark beside it

Git for Me!

npm Tests In the official MCP Registry On skills.sh On cursor.directory Antigravity plugin On Smithery Git for Me! MCP server, quality and maintenance score on Glama GitHub GitLab Codeberg
TypeScript Node 22.18 or later MIT license Buy Me a Coffee Donate to ALS research

大多数你想构建的东西,很可能已经有开源实现。告诉你的 AI Agent 你要做什么,它就会为你找到答案:哪些仓库可以直接使用,哪些需要改造,还有哪些部分需要你自己编写。它提到的每个仓库都真实存在,已获准供你使用或已标明相关限制,并经过实时核查。

它会搜索 GitHub、GitLab 和 Codeberg。可与 Claude Code、Codex、Copilot、Cursor、Gemini CLI、Cline、Devin、Open WebUI 及任何其他 MCP 客户端配合使用,也可以作为 Agent Skill 使用。

它的搭档 Where My Hug At?,则为 Hugging Face 模型提供同样的服务。

你想构建的东西会被拆分为多个部分,每部分对应一项有输入和输出的工作。首先会询问四个问题(技术栈、平台、许可证、维护)。可能由仓库完成的部分会交给 Find git 搜索 GitHub、GitLab 和 Codeberg:主题中星标最多的仓库,以及名称包含各关键词的仓库;在 GitHub 上还会搜索正在增长的仓库和 README 文本。根据搜索结果给出的结论是:使用、改造或自行构建。不值得引入依赖的部分会标记为编写,无需搜索。报告会实时核查每个候选仓库:确保其真实存在、许可证合适,并标明风险。

目录

试用

将它添加到你的 Agent 中(这里以 Claude Code 为例;其他所有选项见下文):

claude mcp add --scope user git-for-me -- npx -y git-for-me

然后提问:

Git 帮我找一下:一个能从 PDF 发票中提取表格并写入电子表格的 CLI。

你的 Agent 会询问它无法推断的少数信息,将工作拆分成多个部分,然后给你一份报告,例如下面这份;其中的每个仓库都是刚刚查找过的。它适用于任何由代码构成的项目:

Git 帮我找一下:为我的 Next.js 网站上的食谱实现可容忍拼写错误的搜索。
Git 帮我找一下:一个每晚将 Postgres 备份到 S3、并在失败时通知 Slack 的任务。
Git 帮我找一下:一个能保存食谱、不带那些人生故事的浏览器扩展。

工作原理

1. 先问四个问题

如果你只要求“一个读取 PDF 的库”,得到的可能只是热门项目:使用了错误的语言、采用了你无法随产品发布的许可证,或者多年前就已停止维护。因此,在推荐任何项目之前,会先了解四项信息。你的 Agent 会根据对话或代码库中已有的信息填写答案,并向你询问其余内容:

问题决定事项
技术栈将用什么编写?
Node 上的 TypeScript、Python 3.12、Rust
哪些仓库可作为库使用,哪些只能与你的代码配合使用
平台将在哪里运行?
Web 应用、CLI、服务端、手机应用
哪些项目适用
许可证最终成果允许用于什么用途?
商业用途、开源、个人用途
允许采用哪些许可证
维护你愿意维护多少代码?
需要持续维护,愿意自己维护分支
选择维护良好的依赖,还是由你持续维护的分支

回答“还不确定”也没问题:这样推荐结果就会覆盖不同选择。

2. 拆分工作

Agent 会把需求拆成多个部分,每部分都有输入和输出(PDF → 表格,表格 → 电子表格)。不值得引入依赖的部分(胶水代码、配置、仅你的项目才有的逻辑、几行代码)会标记为 编写:为了十行代码引入一个依赖,带来的是成本,而不是功能。

3. 为每个部分搜索

Agent 对开源项目的记忆最多只更新到它训练时,因此会漏掉长尾项目。所以不会凭记忆挑选任何项目。对于其他每个部分,Agent 都会编写一条搜索请求(包含主题、技术栈的语言、几个关键词,以及用几个词概括的任务),并在三个代码托管平台上执行:

方式查找内容平台
主题中星标最多的项目经验证有效的项目GitHub、GitLab、Codeberg
主题中正在崛起的项目星标数不断增长的新仓库,包括比 Agent 训练时间更新的仓库GitHub
名称和描述中包含各关键词的项目未标记该主题的工具GitHub、GitLab、Codeberg
README 文本根据 README 内容查找长尾项目,类似网页搜索GitHub

搜索结果会轮流呈现各种方式的结果,因此小众工具不会被星标最多的项目淹没。所有平台都会排除已归档的仓库,GitHub 和 Codeberg 还会排除复刻仓库。能够使用多种语言的技术栈也会搜索这些语言(TypeScript 可以使用 JavaScript)。

4. 根据搜索结果决定每个部分的处理方式
判定含义
USE搜索找到的仓库可以直接完成这项任务:依赖它,或在你的代码旁运行它。
ADAPT有一个项目接近需求:在许可证允许的情况下,复刻它或复制所需部分。
BUILD搜索结果中没有项目能完成这项任务:先阅读最接近的仓库,再自行构建。
WRITE不值得引入依赖:编写代码。

Agent 会根据搜索结果所显示的信息做出判断:描述、星标数、近期活动、许可证和语言。它可能会补充搜索漏掉的已知仓库,但该项目的排名会排在搜索结果之后,报告中也会标记为 来自记忆。

5. 检查每个选中的项目

每个选中的项目都会在其代码托管平台上进行实时查询。任何不存在的项目都会被移除,Agent 会重新搜索其他候选项目。其余项目会标出可能带来后续问题的事项,并生成你看到的报告。报告还会列出搜索到但未选中的项目,确保不会隐藏任何搜索结果。如果某个 BUILD 部分的搜索找到了仓库,报告会提示你在开始构建前先检查这些仓库。

底层是一个 MCP 服务,包含三个工具:git_for_me 用于执行方法中的步骤 1、2 和 4,git_for_me_search 用于执行步骤 3,git_for_me_verify 用于执行步骤 5。

标记
标记含义
UNCHECKED其代码托管平台没有响应(宕机或受到速率限制)。该仓库会保留,并在下次再次查询。
ARCHIVED只读:所有修复都得由你负责。
NO_LICENSE没有许可证:保留所有权利,因此不得复用其代码。
OWN_TERMS其代码托管平台无法识别该许可证:请阅读许可证内容。
UNKNOWN_LICENSE在不列出许可证名称的 Codeberg 上,该仓库有许可证文件,请阅读该文件。
COPYLEFTGPL、AGPL 等许可证:将其与代码一同发布可能会使你的代码也受该许可证约束。
WEAK_COPYLEFTLGPL、MPL 等许可证:必须公开对该项目所做的修改,但通常以原样使用时不会使你的代码也受约束。
STALE两年内没有提交推送。
LITTLE_USED星标数不足 50。
FORK这是复刻仓库:请检查原始仓库是否更适合。
MIRROR这是镜像仓库:请选择它复制的原始仓库。

示例:PDF 发票

上面的提示词来自一次实时运行,运行时间为 2026-10-14,环境为笔记本电脑上的 Python 3.12,项目为闭源并保持维护(内容经过删节):

_Searched and checked live just now: 6 named, 0 not there and dropped._

## USE  ·  Read the tables
**Repo: jsvine/pdfplumber**
Python · license MIT · 10.8k stars · pushed 2 months ago · found: most starred in table-extraction, name or description has tables
Also: camelot-dev/camelot
The search also found, not picked:
- pymupdf/PyMuPDF (10.9k stars): found as most starred in table-extraction

## USE  ·  Read scanned invoices
**Repo: ocrmypdf/OCRmyPDF**
Python · license MPL-2.0 · 35.0k stars · pushed 3 days ago · found: readme text, name or description has ocr, most starred in ocr
Watch out: weak copyleft: changes to it must be shared under its license, but using it unchanged usually doesn't bind your code.
Also: PaddlePaddle/PaddleOCR

## USE  ·  Write the spreadsheet
**Repo: jmcnamara/XlsxWriter**
Python · license BSD-2-Clause · 4.0k stars · pushed 2 months ago · found: name or description has xlsx, most starred in xlsx
Also: pyexcel/pyexcel

## WRITE  ·  Run it from the command line
No repo: write this one.

## WRITE  ·  Tidy the invoice tables
No repo: write this one.

五个部分中有三个已经存在,且都是通过搜索找到的。Agent 没有选用 PyMuPDF,因为它的 AGPL 许可证会使闭源代码受其约束。剩下需要编写的,只有胶水代码和这些发票特有的逻辑。

安装

需要 Node 22.18 或更高版本。USAGE.md 提供分步设置说明, 并列出了 20 多种 Agent 的链接:Claude Code 和 Desktop、Codex、Copilot(CLI 和 VS Code)、Cursor、Windsurf、Devin、Cline、Gemini CLI、Goose、OpenCode、Zed、 Junie、Kiro、Amp、Warp、Continue、LM Studio、Hermes、Mistral Vibe 和 Open WebUI。快速安装方式:

Claude Code、Codex、Copilot CLI,作为插件安装:包含工具,以及一个知道何时调用这些工具的技能。三者共用一个市场。

/plugin marketplace add bikemeardsley/git-for-me          # Claude Code
/plugin install git-for-me@git-for-me

codex plugin marketplace add bikemeardsley/git-for-me      # Codex
codex plugin add git-for-me@git-for-me

copilot plugin marketplace add bikemeardsley/git-for-me    # Copilot CLI
copilot plugin install git-for-me@git-for-me

任何其他 MCP 客户端:在客户端配置中添加一个 stdio 服务。大多数客户端将其命名为 mcpServers(USAGE.md 列出了例外情况)。

{ "mcpServers": { "git-for-me": { "command": "npx", "args": ["-y", "git-for-me"] } } }

Antigravity CLI,作为插件安装:agy plugin install https://github.com/bikemeardsley/git-for-me/tree/main/plugin

Gemini CLI,作为扩展安装:gemini extensions install https://github.com/bikemeardsley/git-for-me

作为 Agent Skill,供会读取 SKILL.md 的 Agent 使用: npx skills add bikemeardsley/git-for-me。

GITHUB_TOKEN(可选,建议设置)。 不设置时,GitHub 每分钟允许搜索 10 次,约够完成工作中的两部分;设置后则为 30 次。一个 细粒度令牌 无需任何权限即可满足要求。将其作为 GITHUB_TOKEN 传入 (各 Agent 的设置方法);Claude Code 插件会提示你输入, 并将其安全存储。令牌只会发送给 GitHub:GitLab 和 Codeberg 不需要令牌。不设置令牌时, 私有 GitHub 仓库看起来会像是不存在,因为 GitHub 对这两种情况都会返回 404。

哪些信息会离开你的设备

Agent 为每个部分编写的搜索内容(主题、语言、关键词、关于工作的简短描述)以及它选中的仓库,会作为 GET 请求发送到 api.github.com、gitlab.com/api 和 codeberg.org/api;如果你设置了令牌,令牌只会发送给 GitHub。令牌不会出现在报告中。你写下的需求、 使用的方法和报告只会保留在你和 Agent 之间。

使用 npx 启动(作为 MCP 服务或技能的 shell 回退方式)时,会从 npm 注册表 registry.npmjs.org 下载 git-for-me 软件包。除此之外,不会向该注册表发送任何内容。

限制

  • 搜索只能找到代码托管平台自身搜索能找到的内容:主题、名称、 描述,以及 GitHub README 中的文本。即使某个仓库不包含这些词,也可能被遗漏。
  • “Rising”仅适用于 GitHub:显示该主题下近半年创建的、星标数最多的仓库,因为 GitHub 没有趋势 API,而 GitLab 和 Codeberg 无法按创建日期筛选。
  • GitLab 的关键词搜索支持任何语言(按语言筛选时,搜索常见词会超时),并且在选中某项前,结果不会显示语言。
  • 许可证标记读取的是各代码托管平台的许可证检测结果,而不是许可证文本。 Codeberg 不检测许可证,因此其中的仓库会被标记为需要阅读许可证文件;如果没有许可证文件,则标记为未授权。
  • 仅搜索 GitHub、GitLab.com 和 Codeberg。不会搜索自托管的 GitLab 和 Gitea 服务,也无法搜索 Bitbucket,因为它没有公开搜索功能。

安全

请通过 GitHub Security Advisories 私下报告漏洞,不要提交公开 issue。SECURITY.md 列出了它会访问的内容:向三个代码托管平台发送 GET 请求, 不会访问你设备上的任何内容。

开发

npm install          # also builds build/, which is what npx runs
node src/server.ts   # the server, straight from source
npm test             # offline: the forges are mocked, and the server is driven over stdio and HTTP
npm run check        # types

从克隆的仓库中,将其添加到你的 Agent: claude mcp add --scope user git-for-me -- node /path/to/git-for-me/src/server.ts。 npm install 会将 JavaScript 构建到 build/ 中,因为 Node 不会移除 node_modules 中软件包的类型,而 npx 会将软件包放在该目录中。

许可证

MIT。与 Git 项目、GitHub、GitLab 或 Codeberg 均无关联。

评论

支持 Markdown

第一次接触 MCP?

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

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