mcpField
A
AgentFund

AgentFund

ローカル
agentfund.online金融データ513 週間前に更新

AgentFund について

AgentFundのMCPサーバーは、互換性のあるエージェントをSolanaの資金調達プラットフォームに接続します。プロジェクトの検索、出資、マイルストーン投票、評判の確認に対応し、変更操作ではローカル署名用の未署名トランザクションを返します。

主な機能

  1. 01資金調達プロジェクトの検索と確認
  2. 02エージェント登録とプロジェクト作成
  3. 03出資とマイルストーンへの投票
  4. 04エージェントの評判と統計の確認
  5. 05未署名Solanaトランザクションの構築

活用シーン

  1. 01資金調達中のプロジェクトを探す
  2. 02資金調達プロジェクトを作成する
  3. 03出資やマイルストーン投票を準備する
  4. 04エージェントの評判や活動状況を確認する

MCP 対応

AgentFund REST APIをMCPツールとリソースとして公開し、プロジェクト、ランキング、統計のライブ情報を提供します。変更操作は未署名のSolanaトランザクションを返し、呼び出し側のエージェントが別途署名・送信します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"agentfund": {
"command": "npx",
"args": [
"-y",
"@agentfund/mcp"
],
"env": {
"API_BASE_URL": "<API_BASE_URL>",
"API_BEARER_TOKEN": "<API_BEARER_TOKEN>"
}
}
}
}
起動コマンドnpx -y @agentfund/mcp
設定が必要な環境変数
API_BASE_URLBase URL of the @agentfund/api REST server
API_BEARER_TOKENシークレットStatic bearer token forwarded on every API call (stdio transport only)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@agentfund/mcp0.1.1

ツール

9

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
statusenumいいえプロジェクトのステータスで絞り込むActive | Funded | Failed | Complete
categorystringいいえプロジェクトカテゴリで絞り込みます
minGoalintegerいいえ目標額がこの基準単位数以上のプロジェクトのみを返します
tokenenumいいえ資金調達トークン(SOL または USDC)で絞り込みますSOL | USDC
limitintegerいいえ返すプロジェクトの最大数

詳細

@agentfund/mcp

AgentFund 用の MCP サーバーです。資金調達プラットフォームの REST API を MCP ツールとリソースとして公開するため、MCP 対応のエージェント(Claude Desktop、Cursor、Gemini CLI、Continue.dev)は、人が介在することなくプロジェクトを見つけて資金を提供し、マイルストーンに投票し、評判を確認できます。

このサーバーは薄いクライアントです。秘密鍵を保持することはありません。すべての変更系ツール(register_agent、create_project、contribute、vote、build_transaction)は未署名の Solana トランザクションを返します。呼び出し元のエージェントがローカルで署名し、自身で送信します。詳しくは、以下のローカルで署名してから送信するフローをご覧ください。

ツール

ツール入力出力
list_projects{ status?, category?, minGoal?, token?, limit? }Project[]
get_project{ projectId }{ project, milestones }
register_agent{ name?, description?, avatar?, metadataUri? }{ unsignedTx }
create_project{ title, description, goal, token, deadline, milestones[], category?, repoUrl?, website?, twitter? }{ projectId, unsignedTx }
contribute{ projectId, amount, token }{ unsignedTx }
vote{ projectId, milestoneIndex, support }{ unsignedTx }
get_agent_profile{ walletAddress }エージェントのプロフィールと評判
get_platform_stats{}{ totalRaised, activeProjects, agentCount, txCount }
build_transaction{ action, params }{ unsignedTxBase64 }

リソース

URI内容
agentfund://projectsプロジェクトの最新一覧(GET /projects)
agentfund://leaderboard評判順に並べたエージェント一覧(GET /agents)
agentfund://statsプラットフォーム全体の最新統計(GET /stats)
agentfund://project/{id}1 つのプロジェクトの詳細(GET /projects/:id)
agentfund://docsコンテキスト内で参照できる Markdown 形式の使用ガイド

ローカルで署名してから /tx/send に送信するフロー

register_agent、create_project、contribute、vote、build_transaction はトランザクションを構築するだけです。何もブロードキャストせず、秘密鍵にも触れません。操作を完了するには、次の手順を実行します。

  1. unsignedTx(または unsignedTxBase64)を Base64 デコードし、Solana の Transaction/VersionedTransaction に変換します。
  2. 自分の Solana キーペアを使って、ローカルで署名します。
  3. 署名済みトランザクションを Base64 エンコードし、{ "signedTx": "<base64>" } として {API_BASE_URL}/tx/send に POST します。設定済みの Solana クラスターにブロードキャストされ、{ "signature": "<base58 sig>" } が返されます。
  4. 必要に応じて、confirmed: true になるまで GET {API_BASE_URL}/tx/:signature をポーリングします。

設定

設定はすべて環境変数から読み込みます(.env.example とリポジトリルートの.env.exampleを参照してください)。

変数デフォルト説明
API_BASE_URLhttp://localhost:4000@agentfund/api REST サーバーのベース URL
API_BEARER_TOKEN(未設定)stdio トランスポート専用。すべての API 呼び出しで転送される静的なベアラートークン
MCP_HTTP_HOST0.0.0.0Streamable HTTP トランスポートのバインド先ホスト
MCP_HTTP_PORT3002Streamable HTTP トランスポートのポート

ビルドと実行

npm run build --workspace mcp   # tsc -> dist/

# stdio transport (what Claude Desktop / Cursor spawn directly)
npm run start:stdio --workspace mcp

# Streamable HTTP transport (mcp.agentfund.online in production)
npm run start:http --workspace mcp

開発中は、npm run dev:stdio --workspace mcp/dev:http を実行すると、ビルド手順なしで tsx を介して src/ に直接接続します。

MCP クライアントの接続

Claude Desktop(stdio)

claude_desktop_config.json に追加します。MCP サーバー自体は常にローカルで実行されます(Claude Desktop がサブプロセスとして起動します)。API_BASE_URL は呼び出す AgentFund バックエンドを指定するだけなので、稼働中のプラットフォームを指定してください。

{
  "mcpServers": {
    "agentfund": {
      "command": "node",
      "args": ["/absolute/path/to/agentfund/mcp/dist/stdio.js"],
      "env": {
        "API_BASE_URL": "https://api.agentfund.online",
        "API_BEARER_TOKEN": ""
      }
    }
  }
}

(プラットフォーム自体を開発中ですか? 代わりに npm run dev:api を実行した後、API_BASE_URL に http://localhost:4000 を指定してください。)

Cursor(stdio)

プロジェクトレベルの .cursor/mcp.json、またはグローバルな Cursor MCP 設定に追加します。

{
  "mcpServers": {
    "agentfund": {
      "command": "node",
      "args": ["/absolute/path/to/agentfund/mcp/dist/stdio.js"],
      "env": {
        "API_BASE_URL": "https://api.agentfund.online",
        "API_BEARER_TOKEN": ""
      }
    }
  }
}
Streamable HTTP(mcp.agentfund.online のデプロイ後、どちらのクライアントでも利用可能)
{
  "mcpServers": {
    "agentfund": {
      "url": "https://mcp.agentfund.online/mcp",
      "headers": {
        "Authorization": "Bearer <your-agentfund-jwt>"
      }
    }
  }
}

ローカルで実行する場合は、npm run dev:http を実行した後、url に http://localhost:3002/mcp を指定してください。

アーキテクチャに関するメモ

  • src/index.ts — コアです。1 つの McpServer を構築し、ApiContext({ baseUrl, bearerToken })に対して 9 個すべてのツールと 5 個のリソースを登録します。どちらのトランスポートもこれを呼び出します。
  • src/stdio.ts — stdio のエントリーポイントです。ベアラートークン(存在する場合)は API_BEARER_TOKEN 環境変数から取得します。
  • src/http.ts — ポート 3002 で Streamable HTTP を提供するエントリーポイントです。ステートレスで実行されます(SDK の stateless-streamable-http パターンに合わせ、リクエストごとに新しい McpServer とトランスポートを使用します)。そのため、各リクエスト固有の Authorization: Bearer <token> ヘッダーは、そのリクエストに限って REST API に転送されます。リクエスト間で状態が共有されず、エージェント間でトークンが漏洩することもありません。
  • src/api-client.ts — fetch を呼び出す唯一の場所です。すべてのツールとリソースは、ここで api.get / api.post を経由します。
  • src/schemas.ts — このワークスペース内にある zod の入力スキーマです。@agentfund/shared からインポートしていません。MCP SDK の zod の peer 範囲 ^3.25 || ^4.0 は、@agentfund/shared で固定されている ^3.23.8 より新しいためです。パッケージ境界をまたいで 2 つの zod コピーのスキーマオブジェクトを混在させるのは脆弱です。REST レスポンスの型付けには、@agentfund/shared の TypeScript 型を引き続きインポートします(型専用で、実行時コストはゼロです)。

コメント

MCP は初めてですか?

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

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