mcpField
R
RepoFuse

RepoFuse

远程服务
repofuse.com开发工具12 周前更新

关于 RepoFuse

RepoFuse 扫描 GitHub 仓库以识别可复用代码并提出应用蓝图。其 MCP 服务可帮助开发者分析仓库、生成脚手架,并根据蓝图创建仓库。

主要功能

  1. 01连接和管理 GitHub 仓库
  2. 02通过 AI 分析文件、导出项和复用性
  3. 03根据现有代码发现应用蓝图
  4. 04识别缺失文件并生成内容
  5. 05将蓝图导出为 JSON

适用场景

  1. 01从现有仓库中发现应用构想
  2. 02评估哪些组件可以复用
  3. 03为蓝图生成缺失文件
  4. 04根据蓝图创建 GitHub 仓库

MCP 相关

RepoFuse 提供独立的 stdio MCP 服务,包含列出仓库、分析仓库、生成脚手架和根据蓝图创建仓库的工具。它还提供受 OAuth 保护的托管 Streamable HTTP 端点。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://repofuse.com/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

RepoFuse 后端

一个由 AI 驱动的代码智能平台,可扫描你的 GitHub 仓库,并发现如何组合现有文件和组件来构建应用程序。

功能

  • GitHub App 身份验证:通过 GitHub App 用户授权,只需单击即可连接 GitHub 账号
  • 仓库管理:添加和管理用于分析的 GitHub 仓库
  • AI 代码分析:AI 扫描每个文件,识别其用途、导出内容和可复用性
  • 应用蓝图发现:发现可以利用现有代码构建的应用程序
  • 差距分析:准确查看缺少哪些文件,并使用 AI 生成这些文件
  • 导出:下载蓝图 JSON,以便离线使用或与团队分享
  • Stripe 账单:提供完整的结账流程,用于升级至 RepoFuse Pro 和管理账单

增长策略

  • 开发者 SaaS 增长简报:由开发者主导的分发、高意向 GitHub 拓展、Product Hunt 发布时机、首批用户测试,以及 RepoFuse 的首个 14 天增长计划。

技术栈

  • 框架:使用 App Router 的 Next.js 16
  • 数据库:带连接池的 Neon PostgreSQL
  • AI:Vercel AI SDK(OpenAI GPT-4)
  • UI 组件:Shadcn UI 和 Radix 基元组件
  • 样式:Tailwind CSS v4
  • 身份验证:GitHub App 用户授权(自定义)

项目结构

app/
├── api/                              # API Routes
│   ├── auth/github/callback/         # GitHub App callback
│   ├── github/repos/                 # Fetch user's GitHub repos
│   ├── github/create-repo/           # Create repo from blueprint
│   ├── repositories/                 # Repository CRUD
│   ├── analyses/                     # Analysis management
│   │   └── [id]/
│   │       ├── run/                  # Run analysis (SSE stream)
│   │       └── analyze/              # AI analysis endpoint
│   └── export/
│       ├── blueprint/                # Export blueprint as JSON
│       └── pdf/                      # Export blueprint as PDF
├── dashboard/                        # Dashboard pages
│   ├── layout.tsx                    # Dashboard layout
│   ├── page.tsx                      # Overview
│   ├── repositories/                 # Repository management
│   └── analyses/                     # Analysis pages
│       └── [id]/                     # Analysis detail
components/
├── repositories-list.tsx             # Repository list + add form
├── repository-selector.tsx           # Multi-repo selector
├── analyses-list.tsx                 # Analyses list
├── analysis-detail.tsx               # Analysis results + blueprints
├── app-suggestions.tsx               # App idea cards
└── ui/                               # Shadcn components
lib/
├── db.ts                             # Neon database client
├── queries.ts                        # Database queries
└── utils.ts                          # Utility functions
scripts/
└── 01-create-schema.sql              # Database migration

数据库架构

user_auth
  • github_id:唯一的 GitHub 用户 ID
  • github_username:GitHub 登录名
  • github_avatar_url:个人资料图片 URL
  • access_token:GitHub 用户访问令牌
  • stripe_customer_id:与用户关联的 Stripe 客户
  • stripe_subscription_id:有效或最新的 Stripe 订阅 ID
  • stripe_price_id:用户当前套餐的 Stripe 价格 ID
  • plan_tier:free / pro
  • subscription_status:Stripe 订阅状态
repositories
  • github_id:唯一的 GitHub 仓库 ID
  • name、full_name:仓库名称和所有者/名称
  • description、url:元数据
  • default_branch、language、stars:其他信息
repo_files
  • repository_id:指向 repositories 的外键
  • path、name、extension:文件位置信息
  • file_type:component / hook / utility / api / page / 等
  • purpose、ai_summary:AI 生成的描述
  • technologies、exports、imports:检测到的模式(JSONB)
  • reusability_score:0–100 的可复用性评分
analyses
  • name:用户自定义的分析名称
  • status:pending / scanning / analyzing / complete / failed
  • total_files、analyzed_files:进度跟踪
analysis_repositories
  • 将分析与仓库关联起来的连接表
app_blueprints
  • analysis_id:指向 analyses 的外键
  • name、description、app_type:蓝图信息
  • complexity:simple / moderate / complex
  • reuse_percentage:现有代码的可复用比例
  • existing_files、missing_files:文件列表(JSONB)
  • estimated_effort:易于理解的时间估算
  • technologies:检测到的技术栈(JSONB)
  • ai_explanation:AI 撰写的说明

快速开始

  1. 克隆仓库
git clone <repository-url>
cd repofuse-backend
  1. 安装依赖
pnpm install
  1. 设置环境变量 将 .env.example 复制为 .env.local 并填写相应值:
cp .env.example .env.local
  1. 设置数据库 在 Neon 控制台中或使用 psql 运行架构迁移:
psql $DATABASE_URL -f scripts/01-create-schema.sql
  1. 运行开发服务器
pnpm dev
  1. 访问应用程序 在浏览器中打开 http://localhost:3000

RepoFuse MCP 服务

此仓库现在包含一个独立的 stdio MCP 服务,位于 mcp/repofuse.mjs。

提供的功能
  • list_github_repositories
  • analyze_repositories
  • generate_scaffold
  • create_repo_from_blueprint
  • 仅托管版本提供:get_blueprint_gaps
环境变量

MCP 服务需要以下变量:

  • GITHUB_TOKEN
  • AI_GATEWAY_API_KEY 或 VERCEL_OIDC_TOKEN,否则使用 ANTHROPIC_API_KEY
  • 可选:REPOFUSE_MODEL(anthropic/claude-sonnet-4.6)、REPOFUSE_MAX_FILES_PER_REPO、REPOFUSE_MAX_BLUEPRINTS
在本地运行
pnpm mcp:repofuse
对 MCP 服务进行冒烟测试
pnpm mcp:test

需要使用真实凭据验证启动时,请使用 live 变体:

pnpm mcp:test:live
RepoFuse 中的 Streamable HTTP 端点

RepoFuse 在 https://repofuse.com/api/mcp 提供受 OAuth 保护的 Streamable HTTP 端点。它支持外部助手和经过身份验证的 Web 应用会话, 在服务端解析 GitHub 访问权限,并执行账户套餐、额度和速率限制。

连接说明:https://repofuse.com/mcp。

Claude Desktop 配置示例

请参阅 examples/claude-desktop.mcp.json。

Cursor 配置示例

请参阅 examples/cursor.mcp.json。

Cursor 插件配置

请参阅 .cursor-plugin/plugin.json 和根目录中的 mcp.json。

完整 MCP 设置指南

请参阅 docs/MCP_SETUP.md 和 docs/LISTING.md。

API 端点

身份验证
  • GET /api/auth/github/callback - GitHub App 回调
仓库
  • GET /api/repositories - 列出已跟踪的仓库
  • POST /api/repositories - 通过 URL 添加仓库
  • GET /api/repositories/[id] - 获取仓库详情
  • DELETE /api/repositories/[id] - 移除仓库
GitHub
  • GET /api/github/repos - 获取已登录的 GitHub App 用户可访问的仓库
  • POST /api/github/create-repo - 根据蓝图创建新仓库(Pro)
计费
  • GET /pricing - 定价页面
  • GET /api/checkout?plan=pro - 为 Pro 启动 Stripe 结账
  • GET /api/checkout/success - 完成成功的结账并同步订阅
  • GET /api/billing/portal - 打开 Stripe 计费门户
分析
  • GET /api/analyses - 列出分析
  • POST /api/analyses - 创建新分析
  • POST /api/analyses/[id]/run - 运行分析(Server-Sent Events)
  • POST /api/analyses/[id]/analyze - AI 模式分析
导出
  • POST /api/export/blueprint - 将蓝图导出为 JSON
  • POST /api/export/pdf - 将蓝图导出为 PDF

部署

部署到 Vercel
  1. 将代码推送到 GitHub
  2. 将仓库连接到 Vercel
  3. 在 Vercel 控制面板中添加环境变量(参见 .env.example)
    • 如需付费升级,请为 RepoFuse Pro 创建周期性 Stripe Price,并设置 STRIPE_SECRET_KEY 和 STRIPE_PRO_PRICE_ID
  4. 部署

安全性

  • GitHub App 权限经过精细划分,分析访问应配置为只读
  • 访问令牌存储在数据库中(生产环境中应进行静态加密)
  • 代码在内存中扫描;文件内容不会被永久存储
  • 托管的 MCP 请求会验证 Clerk OAuth 令牌或现有的 RepoFuse 会话
  • OAuth 发现遵循 RFC 9728,GitHub 令牌绝不会返回给 MCP 客户端

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

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

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