Fabrica (Sepolia testnet) について
Fabrica(Sepolia testnet)は、Fabricaの土地、融資、ポートフォリオ情報を調べるAIエージェント向けテストネットMCPサーバーです。メインネットとは接続先が分離され、実際の地番に影響せずツールや署名リクエストを試せます。
主な機能
- 01住所またはAPNで米国の地番を検索
- 02土地を検索し物件の詳細を確認
- 03評価額、税金、信託書類を確認
- 04融資市場とウォレット保有状況を調査
- 05境界データと地図画像を取得
- 06引用付きでFabricaの文書を検索
活用シーン
- 01Sepoliaテストネットで土地検索を試す
- 02地番の評価額や税務情報の確認を練習
- 03土地担保の借入見積もりをテスト
- 04ポートフォリオや融資ツールを試す
MCP 対応
Sepoliaテストネットに接続するMCPサーバーで、Fabricaの土地、融資、ポートフォリオ検索ツールと文書リソース、プロンプトを公開します。メインネットとは接続先が分かれており、ユーザーが署名する操作を準備できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp-testnet.fabrica.land/mcpclaude mcp add --transport http land-fabrica-mcp-testnet https://mcp-testnet.fabrica.land/mcp{"mcpServers":{"land-fabrica-mcp-testnet":{"type":"http","url":"https://mcp-testnet.fabrica.land/mcp"}}}Cursor で開く{"servers":{"land-fabrica-mcp-testnet":{"type":"http","url":"https://mcp-testnet.fabrica.land/mcp"}}}VS Code で開く{"mcpServers":{"land-fabrica-mcp-testnet":{"type":"http","url":"https://mcp-testnet.fabrica.land/mcp"}}}{"mcpServers":{"land-fabrica-mcp-testnet":{"serverUrl":"https://mcp-testnet.fabrica.land/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
11| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 結果の上限(デフォルト 20、最大 100) |
| offset | integer | いいえ | ページネーションのオフセット |
| region | string | いいえ | 米国の州コード(例:'TX'、'CA'、'NV') |
| ownedBy | string | いいえ | 所有者のウォレットアドレスで絞り込みます |
| hasLoans | boolean | いいえ | 有効なローンがある物件のみを表示します |
| maxAcres | number | いいえ | 地所面積の上限(エーカー単位) |
| minAcres | number | いいえ | 地所面積の下限(エーカー単位) |
| minScore | integer | いいえ | Property checks の最小値:Property checks を 5 桁の数値で表した整数です。デフォルトは 72032(マーケットプレイスのしきい値)ですが、ownedBy が設定されている場合は除きます(その場合、そのウォレット内のすべての物件が一覧表示されます)。最小値を指定する場合は、検証済みの権利証も必要です。最大値:75342。 |
| hasListings | boolean | いいえ | 有効な販売出品がある物件のみを表示します |
詳細
Fabrica MCP サーバー
AI エージェントから Fabrica 上の米国の土地にアクセスできるようにします。Fabrica プロトコル上で保有されている米国全土の土地について、物件を検索し、区画を調査し、融資可能額を確認し、ポートフォリオを探索できます。
これは何ですか?
Fabrica では、物件は信託によって保有されます。Ethereum 上でその ERC-1155 トークンが発行されると、トークンが信託を管理し、信託が所有権を保有します。この MCP サーバーを使うと、API キーなしで、あらゆる AI エージェントから物件カタログ全体、融資市場、ポートフォリオデータを照会できます。
Model Context Protocol(MCP)上に構築されています。
クイックスタート
ホスト型(推奨):インストール不要
ホスト型サーバーを任意の MCP クライアントに指定します。
| ネットワーク | URL |
|---|---|
| Ethereum Mainnet(実際の区画) | https://mcp.fabrica.land/mcp |
| Sepolia Testnet(テスト用物件) | https://mcp-testnet.fabrica.land/mcp |
Claude(claude.ai およびデスクトップ): 設定 → コネクター → カスタムコネクターを追加 → URL を貼り付けます。
Claude Code:
claude mcp add --transport http fabrica https://mcp.fabrica.land/mcp
claude mcp add --transport http fabrica-testnet https://mcp-testnet.fabrica.land/mcp
Cursor: ワンクリックでメインネットサーバーをインストールできます。
または、手動で追加します(.cursor/mcp.json)。
{
"mcpServers": {
"fabrica": { "url": "https://mcp.fabrica.land/mcp" }
}
}
リモート MCP サーバー(Streamable HTTP)に対応するその他のクライアントも、同じ方法で利用できます。メインネットの前にテストネットで試したい場合は、2 つの URL を別々のサーバーとして追加してください。ネットワークは URL ごとに固定されているため、エージェントがテストネットサーバー経由でメインネットにアクセスすることはありません。
レジストリを使わない検出: 各ホストでは /.well-known/mcp.json(URL、トランスポート、認証、ドキュメント、もう一方のネットワークのサーバー)と /.well-known/mcp/server-card.json(同じ情報に加え、タイトルとアノテーション付きの全ツール、プロンプト、リソーステンプレート)、さらに /.well-known/ai-catalog.json が提供されます。AI カタログはドメインレベルの検出で最初に参照され、両サーバーのカードを指し示します。カードは実行中のサーバーから読み取られるため、常にそのホストで登録されている内容と一致します。
ローカルで実行(stdio)
サーバーの利用には上記のホスト型 URL がサポートされています。npm では公開されていません。ソースからお使いのマシンで実行するには(Node 20 以降)、次の手順に従います。
git clone https://github.com/fabrica-land/fabrica-mcp.git
cd fabrica-mcp
npm install
npm run build
claude mcp add fabrica -- node /absolute/path/to/fabrica-mcp/dist/index.js
テストネットを利用するには、サーバーの環境変数に FABRICA_NETWORK=sepolia を設定します。
利用可能なツール
| ツール | 説明 |
|---|---|
search_land | 州、郡、面積、Property checks、掲載状況、掲載価格、エーカーあたりの価格、または地点からの距離で不動産を検索します。価格、エーカーあたりの価格、エーカー数、推定価値、Property checks、追加日、距離で並べ替えられます。各行にはライフサイクル段階とエーカーあたりの価格が含まれます。または州・郡ごとの件数と、fabrica.land の場所ページへのリンクを返します |
get_land_property | 不動産の詳細情報:法務、評価額、所有権、ローン、メディア、ライフサイクル段階、査定手数料、重複区画のフラグ |
get_fabrica_lending_market | 融資の概要:ローン件数、ローン、DeFi 融資プールの統計、平均 APR、イベント |
get_fabrica_loan_book | 融資履歴の分布:ローン対価値比率の区分、州別・面積別のエクスポージャー、APR と期間の分布、返済済み・清算済みの件数、月ごとの融資実行件数、最大ローン |
get_land_portfolio | ウォレットの保有資産、信用履歴、ローンポジション |
get_fabrica_stats | プロトコル全体の指標:不動産、推定価値、ローンの総額と件数、DeFi 融資プールの TVL |
get_land_boundary | マッピングと空間分析用の GeoJSON 境界データ |
get_land_tax_status | Property checks に基づく不動産税の状況(納付済み、滞納、不明)、その根拠、確認日、借入が制限されるかどうか |
get_land_trust_documents | 法的記録:信託、信託契約(名称、バージョン、リンク、リクエスト時の本文)、法的な不動産の記述、区画 ID、権利証の参照情報、アップロード済み書類 |
estimate_land_borrowing | 不動産の借入オプション:DeFi 融資プールの流動性、期間、現在のローン、借入額の制限要因(プールの流動性、LTV、税務状況、オラクル)、借入可能額がゼロの場合はその理由、および借入可能額を増やす方法(toRaise:各手段、それによって可能になること、実現するための手順) |
get_loan_against_land | 不動産を担保とするローン1件の情報:状況、提供者、元本、APR、満期、全額返済額、有効な場合は現在の完済額。不動産、loanId、またはその両方で指定します |
get_land_valuation | API が保持する不動産のすべての価値と、その情報源、日付、信頼度:推定値、AVM、Prycd、郡の査定官、署名付き評価額、プールオラクルの状態 |
get_land_activity | 不動産またはウォレットのアクティビティフィード、またはネットワーク全体の最近のアクティビティ:譲渡、ローン、売却、追加された不動産 |
get_land_order_book | 不動産の掲載情報とオファー:価格、売り手と買い手、有効期限、各掲載がローンによって制限されるかどうか、不動産の追加処理中かどうか |
explain_property_checks | Property checks の数値エンコーディング(5桁。以前は信頼度スコアと呼ばれていました)を検証グループにデコードします |
get_land_map_image | 不動産の区画境界を示す静的マップ画像(インライン表示、ダーク/ライトテーマ) |
get_land_portfolio_map_image | ウォレットが所有するすべての不動産を示すマップ画像(インライン表示、ダーク/ライトテーマ) |
ask_fabrica | Fabrica の仕組みに関する質問に答える、Fabrica のドキュメント、ヘルプセンター、米国信託契約からの出典付き抜粋 |
find_us_parcel | 米国の住所または区画番号(APN)から区画を検索します。Fabrica 上にあるかどうかと、追加するためのリンクも返します。queries には最大10件のリストを渡せ、結果はテーブルで返されます。区画データから所有者名は取得しません。クライアントあたり毎分30回まで検索でき、リスト内の各クエリは1回として数えられます |
check_county_coverage | 米国の郡(または州)で不動産をオンラインで追加できるかどうか、および所有者に求められる情報を確認します。手動で日付を付けて更新される、Fabrica の不動産追加ルールのテーブルに基づきます(npm run coverage:build) |
contact_fabrica_support | 質問を Fabrica サポートに引き継ぎます。ヘルプセンターのセクション、サポートのメールアドレス、要約と不動産リンクが事前入力された mailto を返します。これ自体が何かを送信することはありません |
リクエストに署名する(まずはテストネットのホスト)
mcp-testnet.fabrica.land(およびメインネットでは FABRICA_SIGN_REQUESTS=enabled の場合のみ)では、7 つのツールがアクションを準備します。マーケットプレイスの make_land_offer、list_land_for_sale、accept_land_offer、buy_land、cancel_land_order と、DeFi レンディングプールの borrow_against_land(ウォレットがトークンを保有していること、ローンが有効でないこと、金額がプールの上限以内であることを確認します)、repay_loan_against_land(ローンが有効で、ウォレットが借り手であること、および本日の返済額を確認します)です。各ツールはライブデータを確認します(物件が公開中か、ウォレットがその物件を保有しているか、出品またはオファーが有効で購入可能か、また必要に応じてウォレット自身のものかを確認します)。その後、概要、警告、fabrica.land の物件ページにダイアログの内容を事前入力した署名リンク、有効期限(15 分後)を含む signRequest を返します。利用者がリンクを開き、自分のウォレットで署名します。サーバーは鍵を保持せず、署名も送信もしません。payload(会話内のウォレット向けの型付きデータまたは未署名トランザクション)は、Connect Fabrica がリリースされるまで null のままです。get_sign_request はリクエストが署名されたかどうかを示し(注文帳も確認します)、get_transaction_status はハッシュを使ってトランザクションを追跡します。
保留中のリクエストはサーバー独自のストア(Vercel KV / Upstash Redis:KV_REST_API_URL と KV_REST_API_TOKEN、およびレコードの HMAC 用の SIGN_REQUEST_SECRET)に保存されます。署名リンクは {web}/property/{network}/{tokenId}?action=…&request={id} です。署名ページは GET /sign-requests/{id} でリクエストを読み取り(期限切れの場合は 410 を返します)、POST /sign-requests/{id}/result に { orderHash } または { transactionHash } を送信して結果を報告します。サーバーは記録する前に API またはチェーンを照合して確認します。ストアがない場合、ツールは未設定であることを伝えます。ローカル(stdio)では、プロセス内のマップを使用します。
ナレッジレイヤー
ask_fabrica は、Fabrica 独自のテキストから、Fabrica に関する質問(信頼、手数料、Property の確認、レンディング、税金、物件の追加と削除、法的枠組み)に回答し、URL とともに該当箇所を返すため、エージェントは記憶を頼りに言い換えるのではなく、ページを引用できます。次の 3 つの情報源を使用します:docs.fabrica.land、ヘルプセンター、米国信託契約。
インデックスは src/knowledge/generated/index.json にあり、コミットされているため、デプロイやテストで実行時に情報源を取得することはありません。検索では、本文に加えてタイトルに重み付けした BM25 と、Fabrica の用語向けの小規模な同義語リストを使用します。モデルの呼び出しも外部サービスもありません。情報源の変更後に再構築するには:
npm run knowledge:build -- --docs-dir ../docs # docs from a local checkout of fabrica-land/docs
GITHUB_TOKEN=... npm run knowledge:build # or read the docs repo through the GitHub API
npm run knowledge:check # exit 1 when a source moved past its pin
情報源のピン(docs のコミット、ヘルプセンターのサイトマップのフィンガープリント、信託契約のコミット)は knowledge/sources.json に記録されます。ビルドには約 30 秒かかり、インデックスのサイズは 1 MB 未満です。
スケジュールされたワークフロー(.github/workflows/refresh-knowledge.yml。毎日および手動で実行)はインデックスを再構築し、テストを実行して、タイトルが "Knowledge index: scripts/knowledge-diff.mjs)。マージすると、両方のサーバーがデプロイされます。このワークフローには 1 つのリポジトリシークレット KNOWLEDGE_TOKEN が必要です。これは、プライベートな fabrica-land/docs リポジトリのコンテンツに対する読み取りアクセス権を持つ、きめ細かな GitHub トークンです。情報源の取得に失敗すると実行も失敗するため、不完全なインデックスが提案されることはありません。
リソース
同じドキュメントは MCP リソースとしても登録されているため、エージェントが検索しなくても、クライアントのリソース選択画面(Claude の「コネクターから追加」、Cursor の @)から会話に添付できます。すべて text/markdown で、読み取りのたびにソース URL とコンテンツの更新日が先頭に表示されます。
| URI | 内容 |
|---|---|
fabrica://docs/<slug> | docs.fabrica.land のすべてのページ(特に役立つ10件を先頭に掲載:義務、手数料、物件の追加と削除、Property checks、プール融資、トラスト、規制の枠組み、用語集、AI エージェント) |
fabrica://help/<id> | すべてのヘルプセンター記事。記事 ID とスラッグで指定します |
fabrica://legal/us-trust-agreement | 米国トラスト契約の本文 |
fabrica://property/{tokenId}/trust-agreement | API が提供する、1つのトークンに添付された運営契約(バージョンはトークンの発行日によって異なります) |
fabrica://network | このデプロイのネットワーク、コントラクトアドレス、法的通知 |
fabrica://docs/{slug} と fabrica://help/{id} は、補完機能を備えたリソーステンプレートでもあります。
プロンプトとスキルファイル
サーバーは4つの MCP プロンプトを提供します:due_diligence(1つの物件について調査し、自分で確認すべき項目で締めくくります)、work_parcel_list(find_us_parcel を使って住所または区画番号のリストを処理します)、wallet_review(保有資産、ローン、満期)、how_to_add_land(Fabrica に1つの区画を追加します)。同じループ、ツール一覧、法的な禁止事項は、エージェントスキルファイル skills/fabrica/SKILL.md にも記載されています。サーバーに接続しないエージェント向けに、https://mcp.fabrica.land/skill.md で提供されています。
会話の例
「テキサス州のトークン化された物件をすべて探してください」
「Fabrica の融資市場における現在の平均 APR はいくらですか?融資プールにはどれくらいの流動性がありますか?」
「物件トークン 12743610130101631987 について、完全なデューデリジェンスレポートを作成してください」
「ウォレット 0x23bc...fce4 のポートフォリオを表示してください。所有している物件は何ですか?」
「Fabrica のプロトコル全体の統計を表示してください。物件数、所在する州、ローン総額を教えてください」
「物件トークン 12743610130101631987 を担保に、いくら借りられますか?」
「ウォレット 0x23bc...fce4 の最近のアクティビティをすべて表示してください」
「物件 3484741603659410548 はいくらで出品されていますか?また、どのようなオファーが届いていますか?」
「Property checks の番号 73242 について説明してください。それぞれの数字は何を意味しますか?」
「物件トークン 12743610130101631987 の地図を表示してください」
「このウォレットのポートフォリオにあるすべての物件の地図を表示してください」
物件カード(MCP App)
MCP Apps に対応したクライアント(ウェブ版とデスクトップ版の Claude など)では、get_land_property が会話内に物件カードを表示します:
- 区画マップを先頭に、その後に所有者の写真(写真がある場合)を表示するギャラリー
- 名称、所在地、面積
- Property checks、推定価格、出品価格、借入可能額
- 購入(出品中の場合)、オファーを出す、所有者に連絡、Fabrica で表示の各ボタン
すべてのボタンで Fabrica の物件ページが開き、そこでユーザーが操作を完了して署名します。サーバー自体がトランザクションを準備または送信することはありません。MCP Apps に対応していないクライアントには、同じデータが JSON で返されます。
エージェントは display: "fullscreen" を指定してカードを全画面表示するよう要求できますが、ホストはこれを拒否する場合があります。
カードは Sepolia ではデフォルトで有効、メインネットでは FABRICA_MCP_APPS=enabled を設定しない限り無効です。写真は、カードのサンドボックスで許可されているオリジンに制限されます(src/tools/media.ts の WIDGET_IMAGE_ORIGINS を参照してください)。
ネットワークの選択
ホスト型サーバーはURLで分かれています(クイックスタートを参照)。ローカルサーバーはデフォルトで Ethereum Mainnet に接続します。ここでは、物件は実在する米国の土地の区画を表し、実際の法的責任を伴います。まずテスト用物件で試すには、FABRICA_NETWORK=sepolia を設定してください。
Claude Code(Sepolia):
claude mcp add fabrica -e FABRICA_NETWORK=sepolia -- node /absolute/path/to/fabrica-mcp/dist/index.js
Claude Desktop(Sepolia):
{
"mcpServers": {
"fabrica": {
"command": "node",
"args": ["/absolute/path/to/fabrica-mcp/dist/index.js"],
"env": { "FABRICA_NETWORK": "sepolia" }
}
}
}
Mainnet に関する注意: Mainnet では、サーバーの説明に事実として法的注意事項が記載されています。物件は実在する米国の土地で、それぞれが信託によって保有されています。トークンを所有することは、その物件を保有する信託の受益権を所有することを意味します。受託者はトークン保有者によって指定され、デフォルトでは保有者自身が受託者です。また、トークンの取得、譲渡、出品、または担保とした借入には、そのトークンに付属する信託契約に定められた法的、税務上および責任上の影響があります。
Sepolia: テスト用物件のみで、現実世界への影響はありません。
設定
すべて任意です。妥当なデフォルト値が組み込まれています。
| 変数 | デフォルト | 説明 |
|---|---|---|
FABRICA_NETWORK | ethereum | 使用するネットワーク(ethereum または sepolia) |
FABRICA_API_URL | https://api.fabrica.land/graphql | Fabrica GraphQL API |
FABRICA_METASTREET_SUBGRAPH_URL | ネットワークごとに自動選択 | レンディングプールコントラクト用のサブグラフ(変数名は元のままです) |
FABRICA_MEDIA_URL | https://media.fabrica.land | 地図画像用の Fabrica メディアサービス |
FABRICA_MCP_APPS | Sepolia ではオン、mainnet ではオフ | enabled または disabled:get_land_property の物件カード MCP App |
リグレッション一覧
npm run regression(mainnet)または npm run regression -- sepolia を実行すると、scripts/regression/cases.json のケース一覧を使って、ホスト型サーバー上のすべてのツールが呼び出されます。正常系、エッジケース、見つからない場合の文言が含まれます。各ケースにつき1行が出力され、失敗時の終了コードは1です。各リリース後とディレクトリへの登録申請前に実行してください。
ホスティング
ホスト型サーバーは、このリポジトリから Vercel 上で実行されています。ネットワークごとに Vercel プロジェクトが1つずつあり、どちらも npm run build:vercel(vercel.json を参照)でビルドされます。ビルドによって、/mcp にステートレスな Streamable HTTP 関数、/sign-requests に署名リクエストのエンドポイント、/.well-known/ にディスカバリードキュメント、/ にランディングページが生成されます。各プロジェクトの環境に FABRICA_NETWORK(ethereum または sepolia)を設定してください。同じハンドラー(src/http.ts)は、任意の Node HTTP サーバーの背後でも実行できます。
MCP Registry
どちらのホストも、公式の MCP Registry に land.fabrica/mcp および land.fabrica/mcp-testnet として登録されています(パッケージ不要のリモートサーバー)。PulseMCP、Glama、GitHub MCP registry、VS Code はこのレジストリから情報を取得します。エントリーは server.json と server.testnet.json にあります。
リリース後に再公開するには、package.json、src/server.ts、両方のサーバーファイルで version を更新してください(テストで値が一致することを確認します)。その後、npm run registry:publish を実行します(-- --dry-run を付けるとエントリーが表示されます)。書き込み前に両方のエントリーをレジストリと照合します。同じ内容のバージョンがすでに存在する場合はスキップされるため、一部のみ公開された後に再実行すれば残りの処理が完了します。内容が異なる場合は処理が中止されます。名前空間の所有権は、fabrica.land の v=MCPv1 TXT レコードで証明されています。スクリプトは、一致する Ed25519 秘密鍵を MCP_REGISTRY_PRIVATE_KEY または ~/.config/mcp-registry/fabrica-land-ed25519.pem から読み込みます。
リンク
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。