关于 RepoFuse
RepoFuse 扫描 GitHub 仓库以识别可复用代码并提出应用蓝图。其 MCP 服务可帮助开发者分析仓库、生成脚手架,并根据蓝图创建仓库。
主要功能
- 01连接和管理 GitHub 仓库
- 02通过 AI 分析文件、导出项和复用性
- 03根据现有代码发现应用蓝图
- 04识别缺失文件并生成内容
- 05将蓝图导出为 JSON
适用场景
- 01从现有仓库中发现应用构想
- 02评估哪些组件可以复用
- 03为蓝图生成缺失文件
- 04根据蓝图创建 GitHub 仓库
MCP 相关
RepoFuse 提供独立的 stdio MCP 服务,包含列出仓库、分析仓库、生成脚手架和根据蓝图创建仓库的工具。它还提供受 OAuth 保护的托管 Streamable HTTP 端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://repofuse.com/api/mcpclaude mcp add --transport http com-repofuse-repofuse https://repofuse.com/api/mcp{"mcpServers":{"com-repofuse-repofuse":{"type":"http","url":"https://repofuse.com/api/mcp"}}}在 Cursor 中打开{"servers":{"com-repofuse-repofuse":{"type":"http","url":"https://repofuse.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-repofuse-repofuse":{"type":"http","url":"https://repofuse.com/api/mcp"}}}{"mcpServers":{"com-repofuse-repofuse":{"serverUrl":"https://repofuse.com/api/mcp"}}}命令在终端中运行;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 用户 IDgithub_username:GitHub 登录名github_avatar_url:个人资料图片 URLaccess_token:GitHub 用户访问令牌stripe_customer_id:与用户关联的 Stripe 客户stripe_subscription_id:有效或最新的 Stripe 订阅 IDstripe_price_id:用户当前套餐的 Stripe 价格 IDplan_tier:free / prosubscription_status:Stripe 订阅状态
repositories
github_id:唯一的 GitHub 仓库 IDname、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 / failedtotal_files、analyzed_files:进度跟踪
analysis_repositories
- 将分析与仓库关联起来的连接表
app_blueprints
analysis_id:指向 analyses 的外键name、description、app_type:蓝图信息complexity:simple / moderate / complexreuse_percentage:现有代码的可复用比例existing_files、missing_files:文件列表(JSONB)estimated_effort:易于理解的时间估算technologies:检测到的技术栈(JSONB)ai_explanation:AI 撰写的说明
快速开始
- 克隆仓库
git clone <repository-url>
cd repofuse-backend
- 安装依赖
pnpm install
- 设置环境变量
将
.env.example复制为.env.local并填写相应值:
cp .env.example .env.local
- 设置数据库 在 Neon 控制台中或使用 psql 运行架构迁移:
psql $DATABASE_URL -f scripts/01-create-schema.sql
- 运行开发服务器
pnpm dev
- 访问应用程序 在浏览器中打开 http://localhost:3000
RepoFuse MCP 服务
此仓库现在包含一个独立的 stdio MCP 服务,位于 mcp/repofuse.mjs。
提供的功能
list_github_repositoriesanalyze_repositoriesgenerate_scaffoldcreate_repo_from_blueprint- 仅托管版本提供:
get_blueprint_gaps
环境变量
MCP 服务需要以下变量:
GITHUB_TOKENAI_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- 将蓝图导出为 JSONPOST /api/export/pdf- 将蓝图导出为 PDF
部署
部署到 Vercel
- 将代码推送到 GitHub
- 将仓库连接到 Vercel
- 在 Vercel 控制面板中添加环境变量(参见
.env.example)- 如需付费升级,请为 RepoFuse Pro 创建周期性 Stripe Price,并设置
STRIPE_SECRET_KEY和STRIPE_PRO_PRICE_ID
- 如需付费升级,请为 RepoFuse Pro 创建周期性 Stripe Price,并设置
- 部署
安全性
- GitHub App 权限经过精细划分,分析访问应配置为只读
- 访问令牌存储在数据库中(生产环境中应进行静态加密)
- 代码在内存中扫描;文件内容不会被永久存储
- 托管的 MCP 请求会验证 Clerk OAuth 令牌或现有的 RepoFuse 会话
- OAuth 发现遵循 RFC 9728,GitHub 令牌绝不会返回给 MCP 客户端
许可证
MIT 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。