mcpField
T
three.ws Portfolio

three.ws Portfolio

ローカル
three.ws金融データ255今日更新

three.ws Portfolio について

three.ws Portfolio は、AI エージェントが自身の取引状態にアクセスするための MCP サーバーです。ポートフォリオ価値、損益、ライブ残高、決済済みトレードの記録を扱えます。Solana の送金をローカルで署名して送信する書き込みツールも備えています。

主な機能

  1. 01所有するエージェントウォレット全体のポートフォリオ USD 価値
  2. 02保存されたスナップショットによる価値の推移
  3. 03市場データ付きの単一トークンの保有状況
  4. 04コイン別に絞り込める決済済みトレードと実現損益
  5. 05SOL および SPL トークン送金のローカル署名

活用シーン

  1. 01エージェント保有分の現在の USD 価値の確認
  2. 02決済済みトレードの実現損益の確認
  3. 03Solana アドレスの SOL と SPL の残高照会

MCP 対応

このサーバーはポートフォリオ、資産、トレードフィード、残高照会、送金のツールを MCP クライアントに公開します。送金ツールはユーザー自身の鍵でローカル署名し、メインネットのトランザクションを送信します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nirholas-portfolio": {
"command": "npx",
"args": [
"-y",
"@three-ws/portfolio-mcp"
],
"env": {
"THREE_WS_BASE": "<THREE_WS_BASE>",
"THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>",
"THREE_WS_SESSION": "<THREE_WS_SESSION>",
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"SOLANA_SECRET_KEY": "<SOLANA_SECRET_KEY>",
"MAX_SOL_PER_TX": "<MAX_SOL_PER_TX>",
"RECIPIENT_ALLOWLIST": "<RECIPIENT_ALLOWLIST>",
"REQUIRE_CONFIRM": "<REQUIRE_CONFIRM>"
}
}
}
}
起動コマンドnpx -y @three-ws/portfolio-mcp
設定が必要な環境変数
THREE_WS_BASEBase URL of the three.ws API that serves the portfolio + trades endpoints. Override only when self-hosting or targeting a preview deployment.
THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the live three.ws API reads.
THREE_WS_SESSIONシークレットYour three.ws session token (the value of the `__Host-sid` cookie from a signed-in browser). Required for the account-scoped reads — get_portfolio_summary, get_portfolio_history, get_portfolio_asset — which return data for the agents YOU own. The public trade feed and on-chain balance reads do not need it. Treat like a password.
SOLANA_RPC_URLSolana mainnet RPC endpoint used by get_wallet_balances and send_transfer. Defaults to https://api.mainnet-beta.solana.com — bring your own (Helius / Quicknode / Triton) for production traffic.
SOLANA_SECRET_KEYシークレットBase58-encoded Solana secret key for the wallet that send_transfer signs from. REQUIRED for send_transfer (the only write tool); a per-call `secret` arg overrides it. Not needed for any read tool. Treat like cash.
MAX_SOL_PER_TXPer-transaction spend cap in SOL for native SOL transfers via send_transfer. Bounds the blast radius of a leaked key or an injected argument.
RECIPIENT_ALLOWLISTOptional comma-separated base58 pubkeys. When set, send_transfer refuses any recipient not in the list.
REQUIRE_CONFIRMWhen on (default), send_transfer refuses until re-issued with confirm:true. Set 0/false to disable the gate.

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

パッケージ
npm@three-ws/portfolio-mcp0.1.2

ツール

6

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

パラメーター型必須説明
snapshotbooleanいいえtrue の場合、この合計値をポートフォリオスナップショットとしても保存します(get_portfolio_history で使用)。デフォルトは false です。

詳細

three.ws

@three-ws/portfolio-mcp

MCP を通じて AI エージェント自身の取引状況を確認できます。ポートフォリオ価値、PnL、リアルタイム残高、公開取引フィードに加え、署名付きオンチェーン Solana 送金という実際の書き込み操作を 1 つ提供します。

npm license node MCP Registry three.ws


AI エージェントが stdio 経由で自身の取引状況にプログラムからアクセスできる Model Context Protocol サーバーです。保有資産、価値の推移、リアルタイム市場データを含む単一トークンのポジション、クローズ済み取引と実現損益のプラットフォーム全体のフィード、任意のウォレットのリアルタイムオンチェーン残高を確認できます。さらに、SOL または任意の SPL トークンを署名付きで送金する実際の書き込み操作を 1 つ提供します。

読み取りではライブの three.ws API と Solana RPC に接続し、モックは一切使用しません。アカウントに紐づく読み取りでは、three.ws のセッションから解決される、お客様が所有するエージェントウォレットにアクセスします。唯一の書き込み操作である send_transfer は、お客様自身のキーを使用してローカルで署名し、メインネット上の実際の資金を移動します。

インストール

npm install @three-ws/portfolio-mcp

または npx で実行できます(インストール不要):

npx @three-ws/portfolio-mcp

クイックスタート

Claude Code の場合は 1 行です:

claude mcp add portfolio -- npx -y @three-ws/portfolio-mcp

Claude Desktop / Cursor の場合(claude_desktop_config.json または mcp.json):

{
	"mcpServers": {
		"portfolio": {
			"command": "npx",
			"args": ["-y", "@three-ws/portfolio-mcp"],
			"env": {
				"THREE_WS_SESSION": "<your __Host-sid cookie>",
				"SOLANA_SECRET_KEY": "<base58 secret of the sending wallet>"
			}
		}
	}
}

THREE_WS_SESSION はアカウントに紐づく読み取りにのみ必要です。SOLANA_SECRET_KEY は send_transfer にのみ必要です。取引フィードとオンチェーン残高の読み取りは、設定なしで利用できます。

MCP Inspector で機能を確認できます:

npx -y @modelcontextprotocol/inspector npx @three-ws/portfolio-mcp

ツール

ツール種類機能
get_portfolio_summary読み取り · セッションお客様が所有するすべてのエージェントウォレットのリアルタイム保有資産と米ドル価値を、ウォレットごとの内訳とともに表示します。任意でスナップショットも取得できます。
get_portfolio_history読み取り · セッション保存済みスナップショットに基づき、時間の経過に伴うポートフォリオ全体の米ドル価値を表示します。パフォーマンスチャートを確認できます。
get_portfolio_asset読み取り · セッション1 つのトークンを詳しく確認します。保有しているウォレット、合計数量と米ドル価値に加え、リアルタイム市場データと価格履歴チャートを表示します。
get_trades_feed読み取り · パブリッククローズ済みポジションと実現損益のプラットフォーム全体のフィードです。最新の決済が先に表示され、コインで絞り込めます。
get_wallet_balances読み取り · パブリック任意の Solana アドレスのリアルタイムオンチェーン SOL および SPL(Token-2022 を含む)残高を、RPC から直接取得します。
send_transfer書き込み · 破壊的操作お客様自身のウォレットから SOL または任意の SPL トークンを送金する、取り消し不可能な Solana メインネット上の実際の送金に署名し、ブロードキャストします。

すべての読み取りはライブ状態を参照します。残高、フィード、ブロードキャストの内容は呼び出しの間に変化するため、べき等なツールはありません。send_transfer のみが状態を変更します。

入力パラメーター

get_portfolio_summary — snapshot(bool、デフォルトは false — 履歴ポイントも保存します)。

get_portfolio_history — days(1~365、デフォルトは90)。

get_portfolio_asset:chain(solana | evm、必須)、id(native または base58 のミントアドレス/0x コントラクトアドレス、必須)、days(1~365、デフォルトは30)、chain_id(任意の EVM チェーン ID:8453 Base、1 Ethereum、42161 Arbitrum、10 Optimism、137 Polygon、56 BNB、およびプラットフォームがインデックスするその他のチェーン)。chain_id を省略すると、API はウォレットが保有する任意のチェーン上のコントラクトを価格付けします。デフォルトは Base です。同じアドレスが複数のチェーンに存在する場合は、chain_id を指定してください。

get_trades_feed — network(mainnet | devnet、デフォルトは mainnet)、window(1h | 6h | 24h | 7d | 30d | all、デフォルトは24h)、min_pnl_pct(デフォルトは10)、limit(1~80、デフォルトは40)、cursor(ページネーション用の ISO タイムスタンプ)、mint(1つのコインに絞り込むフィルター)。

get_wallet_balances — address(base58、必須)、include_tokens(bool、デフォルトは true)。

send_transfer — recipient(base58、必須)、amount(10進数文字列、必須)、mint(base58 の SPL ミントアドレス。SOL の場合は省略するか native を指定)、secret(base58。SOLANA_SECRET_KEY より優先)、priorityMicroLamports(0~50,000,000)、confirm(実行には true が必須)。

実現価値と現在価値

異なる質問には、それぞれ異なるツールを使います。

  • 「今の資産価値はいくらですか?」 → get_portfolio_summary / get_portfolio_asset — 保有資産を現在の USD 価格で評価します。
  • 「決済済みの取引実績はどうですか?」 → get_trades_feed — 決済済みポジションごとの実現 PnL(SOL でのエントリー/決済価格、利益率、倍率、保有時間)。

書き込みツール — send_transfer

send_transfer は、Solana mainnet 上で実際の取り消し不能なトランザクションをブロードキャストし、署名に使用するウォレットから資金を移動します。呼び出しごとの secret または SOLANA_SECRET_KEY を使ってローカルで署名するため、three.ws API が秘密鍵を保持することはありません。安全対策:

  • REQUIRE_CONFIRM が有効な場合(デフォルト)、confirm: true が必須です。指定せずに最初の呼び出しを行うと、ブロードキャストではなく拒否が返されます。
  • MAX_SOL_PER_TX は、ネイティブ SOL の送金上限を設定します(デフォルトは0.5 SOL)。
  • RECIPIENT_ALLOWLIST を設定すると、送金先を既知の宛先に制限できます。
  • mint は実行時の入力値です。$THREE のミントアドレスや、保有している任意の SPL トークンを渡せます。ミントアドレスはハードコードされていません。

SPL トークンの送金では、オンチェーンでミントの小数桁数を読み取り、残高を確認し、送金先の関連トークンアカウントが存在しない場合は自動で作成します。確認がタイムアウトすると、再試行を黙って行うのではなく、署名付きの tx_unconfirmed を返します。二重支払いを避けるため、再送信する前に Solscan を確認してください。

要件

  • Node.js >= 20。
  • https://three.ws(または独自の THREE_WS_BASE)と Solana RPC へのネットワークアクセス。
環境変数
変数必須デフォルト
THREE_WS_BASEいいえhttps://three.ws
THREE_WS_TIMEOUT_MSいいえ20000
THREE_WS_SESSIONアカウント単位の読み取りに必要—
SOLANA_RPC_URLいいえhttps://api.mainnet-beta.solana.com
SOLANA_SECRET_KEYsend_transfer に必要—
MAX_SOL_PER_TXいいえ0.5
RECIPIENT_ALLOWLISTいいえ—(有効な公開鍵ならすべて許可)
REQUIRE_CONFIRMいいえtrue

THREE_WS_SESSION は、サインイン済みの three.ws ブラウザーセッションにある __Host-sid Cookie の値です。これと SOLANA_SECRET_KEY はパスワードと同様に取り扱ってください。

リンク


three.ws SDK スイートの一部です — 3D AI エージェント、オンチェーン ID、エージェント向け決済。
ウェブサイト · 変更履歴 · GitHub

コメント

MCP は初めてですか?

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

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