mcpField
R
RepoFuse

RepoFuse

リモート
repofuse.com開発ツール12 週間前に更新
リポジトリ公式サイト

RepoFuse について

RepoFuseはGitHubリポジトリを調査し、再利用可能なコードを特定してアプリの設計案を提示します。MCPサーバーを通じて、リポジトリの分析やスキャフォールドの生成、設計案からのリポジトリ作成を行えます。

主な機能

  1. 01GitHubリポジトリの接続と管理
  2. 02ファイル・エクスポート・再利用性のAI分析
  3. 03既存コードからアプリ設計案を発見
  4. 04不足ファイルの特定と生成
  5. 05設計案のJSONエクスポート

活用シーン

  1. 01既存リポジトリからアプリのアイデアを探す
  2. 02再利用可能なコンポーネントを評価する
  3. 03設計案に不足するファイルを生成する
  4. 04設計案からGitHubリポジトリを作成する

MCP 対応

リポジトリの一覧表示・分析、スキャフォールド生成、設計案からのリポジトリ作成を行う独立した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 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 ユーザー 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
  • analyses と 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

実際の認証情報を使用して起動を確認する場合は、ライブ版を使用してください。

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 へのデプロイ
  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 ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。