mcpField
R
Reuse Before Generate

Reuse Before Generate

本地服务
github.com/aradar46开发工具65 周前更新

关于 Reuse Before Generate

Reuse Before Generate 是零依赖的 MCP 服务和命令行工具,可在 AI 编码助手生成新项目或模块前搜索公开代码与软件包索引。它并行查询代码托管平台、包索引和软件目录。

主要功能

  1. 01搜索公开代码库和软件包索引
  2. 02并行查询多个来源
  3. 03以结构化 Markdown 返回结果
  4. 04来源不可用时继续查询
  5. 05通过命令行执行搜索

适用场景

  1. 01搭建新项目之前查找现有库
  2. 02为构想寻找桌面应用或命令行工具
  3. 03跨语言包索引比较软件包

MCP 相关

提供 `check_before_building` 和 `reuse_before_generate` 工具,让 MCP 客户端在生成代码前搜索现有方案。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"aradar46-reuse-before-generate": {
"command": "npx",
"args": [
"-y",
"reuse-before-generate"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
启动命令npx -y reuse-before-generate
需要配置的环境变量
GITHUB_TOKEN密钥Optional GitHub token. Raises the search rate limit from 10 requests/minute to 30.

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

安装包
npmreuse-before-generate0.2.3

工具

1

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

参数类型必填说明
keywordsarray是必填:根据描述自行推断 3–4 个精准搜索词,运用你对用户实际意图的理解;尤其是在描述含糊、非正式或来自非母语者时更要如此。选择维护者实际会写在 README 中的具体领域名词,而不是通用类别词:例如,对于“检查我的代码是否不小心包含密钥的东西”,优先使用 ["git", "secrets", "detect", "leak"],而不是 ["secret", "scanner", "detect", "git"]——“scanner”范围太广,会带来无关的安全工具清单文章,而“leak”/“secrets”则符合 gitleaks/trufflehog 实际描述自身的方式。避免使用通用工具生态词汇(mcp、agent、server、tool、app),除非描述中没有更具体的词——它们会带来噪声(awesome 列表、无关的 MCP 服务),而非真正的竞品。关键是优先选择维护者用来描述工具本身的词,而不是描述用户问题的词:真正的“在终端中美化 JSON”工具可能会称自己为“viewer”或“processor”,而不是“pretty-printer”/“colorizer”;真正的静态站点链接检查器可能会说它验证“rendered HTML”,而不是“static site alt-text”。如果第一次猜测不合适,请在脑海中模拟你设想的工具的 README,并从那句话中直接提取词语。
descriptionstring是即将构建的项目/模块的通俗描述——说明它做什么,而不是如何实现。越具体,匹配质量越高。

详细介绍

reuse-before-generate

npm license reuse-before-generate MCP server

你的想法很可能已经有人实现过。先查查看,再动手构建。

当你让 AI 编码助手构建应用或模块时,它往往会过度热情地从头开始搭建成千上万行代码——即使已经有经过实战检验的开源库或维护良好的工具可用。

reuse-before-generate 是一个零依赖的 MCP 服务(也是一个命令行工具),可在代码生成开始前拦截 AI 工作流。它会从多个角度搜索公开代码和软件包索引,将结果整理为结构化 Markdown,并引导 AI 搜索现有的 SaaS 产品和社区讨论。

检查的数据源

该服务会并行检查以下数据源:

数据源搜索内容
GitHub公开代码仓库
GitLab公开项目
Show HNHacker News 上的产品和项目发布信息
FlathubLinux 桌面 GUI 应用
F-DroidAndroid 开源应用和实用工具
GNOME Extensions桌面 Shell 扩展
Homebrew精选命令行实用工具和软件包
AURArch Linux 工具、守护进程和脚本
PyPIPython 软件包和实用工具
Conda / BiocondaConda-forge 和 Bioconda 软件包
CRAN / BioconductorR 软件包和生物信息学库
npmJavaScript 和 TypeScript 软件包
crates.ioRust crate
NuGet.NET 软件包
Hugging FaceAI 模型和管道
Docker Hub公开容器镜像
Maven CentralJava 构件
RubyGemsRuby gem
PackagistPHP 软件包

所有新增数据源均使用公开端点,无需 API 密钥。服务会尽力查询这些数据源:如果某个数据源不可用或受到速率限制,仍会返回其他数据源的结果。GitHub 令牌为可选项,只会提高 GitHub 的搜索速率限制。


快速开始与安装

无需 API 密钥即可开始使用。

1. Claude Code CLI
claude mcp add -s user reuse-before-generate -- npx -y reuse-before-generate

2. Cursor、Claude Desktop、Antigravity、Windsurf 或 VS Code

将以下内容添加到你的 mcpServers 配置中(例如 ~/.claude/mcp.json、~/.gemini/antigravity-ide/mcp_config.json 或 Cursor 设置):

{
  "mcpServers": {
    "reuse-before-generate": {
      "command": "npx",
      "args": ["-y", "reuse-before-generate@latest"]
    }
  }
}
可选:提高 GitHub API 限额

你可以选择传入 GitHub 令牌,以提高 GitHub 的速率限制:

{
  "mcpServers": {
    "reuse-before-generate": {
      "command": "npx",
      "args": ["-y", "reuse-before-generate@latest"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

3. 在终端中直接运行(CLI 模式)

你可以直接从 Shell 运行搜索,无需 MCP 客户端:

npx reuse-before-generate "terminal markdown viewer"
# or if cloned locally:
node index.js "gnome speech to text offline"

4. 斜杠命令 / Agent 技能

在受支持的 AI 编码助手(Antigravity、Claude Code)中,你可以通过斜杠命令直接调用:

/reuse-before-generate <project description or keywords>

🤖 为 AI Agent 设置自动检查

若要确保 AI 助手在编写代码之前检查是否已有解决方案,请将以下指令添加到你的 CLAUDE.md、.cursorrules、GEMINI.md 或 AGENTS.md 中:

Before scaffolding a new project or substantial new module from scratch:
1. Call `check_before_building` (or `reuse_before_generate`) from the `reuse-before-generate` MCP server.
2. Follow up with web search for existing commercial products or self-hosted tools as directed by the tool.
3. Present existing alternatives in a concise table and ask the user whether to reuse or extend an existing project instead of building from scratch.

🤖 AI 使用说明

有关本项目如何使用 AI 的详情,请参阅我会将哪些工作交给 AI,哪些不会。


许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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