RepoFuse について
RepoFuseはGitHubリポジトリを調査し、再利用可能なコードを特定してアプリの設計案を提示します。MCPサーバーを通じて、リポジトリの分析やスキャフォールドの生成、設計案からのリポジトリ作成を行えます。
主な機能
- 01GitHubリポジトリの接続と管理
- 02ファイル・エクスポート・再利用性のAI分析
- 03既存コードからアプリ設計案を発見
- 04不足ファイルの特定と生成
- 05設計案のJSONエクスポート
活用シーン
- 01既存リポジトリからアプリのアイデアを探す
- 02再利用可能なコンポーネントを評価する
- 03設計案に不足するファイルを生成する
- 04設計案からGitHubリポジトリを作成する
MCP 対応
リポジトリの一覧表示・分析、スキャフォールド生成、設計案からのリポジトリ作成を行う独立した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 Backend
GitHub リポジトリをスキャンし、既存のファイルやコンポーネントを組み合わせて構築できるアプリケーションを見つける、AI を活用したコードインテリジェンスプラットフォームです。
機能
- 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 コンポーネント:Radix プリミティブを採用した Shadcn UI
- スタイリング: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
- analyses と 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
実際の認証情報を使用して起動を確認する場合は、ライブ版を使用してください。
pnpm mcp:test:live
RepoFuse 内の Streamable HTTP エンドポイント
RepoFuse は、OAuth で保護された Streamable HTTP エンドポイント https://repofuse.com/api/mcp を公開しています。外部のアシスタントと認証済みのウェブアプリセッションに対応し、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 へのデプロイ
- コードを 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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。