mcpField
T
three.ws Coin Clash

three.ws Coin Clash

ローカル
three.wsゲーム・エンタメ255今日更新

three.ws Coin Clash について

three.ws Coin Clash は、AI エージェントからコミュニティ阵営の対戦状況とリーダーボードを読み取れる MCP サーバーです。阵営のコインを保有するウォレットは Solana 署名で保有を証明し、自陣営の戦力を加算できます。阵営のメンバーや勢いのデータは CoinCommunities と pump.fun から取得されます。

主な機能

  1. 01対戦組み合わせ、戦力、勢いを表示するライブ対戦盤
  2. 02勝率を含む通算の阵営戦績
  3. 03オンチェーン保有に紐づく Solana 署名による加入
  4. 04呼び出しごとに消費する戦力ポイント(最大 50)

活用シーン

  1. 01現在のラウンドの戦況と残り時間の確認
  2. 02阵営の通算戦績と主要メンバーの確認
  3. 03保有ウォレットをエージェント経由で加入させ戦力を加算

MCP 対応

読み取り専用の get_clash_state と get_clash_leaderboard、書き込み用の enlist_faction と rally_faction をツールとして公開し、MCP クライアントが対戦データの取得と加入・戦力加算を行えるようにします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nirholas-clash": {
"command": "npx",
"args": [
"-y",
"@three-ws/clash-mcp"
],
"env": {
"THREE_WS_BASE": "<THREE_WS_BASE>",
"THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>",
"SOLANA_SECRET_KEY": "<SOLANA_SECRET_KEY>"
}
}
}
}
起動コマンドnpx -y @three-ws/clash-mcp
設定が必要な環境変数
THREE_WS_BASEBase URL of the three.ws API that serves the Coin Clash endpoints. Override only when self-hosting or targeting a preview deployment.
THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the live Coin Clash reads and writes.
SOLANA_SECRET_KEYシークレットBase58 Solana secret key for the enlisting wallet. Required only for the write tools (enlist_faction, rally_faction) — reads work without it. Per-call `secret` arguments override this. The wallet must hold the faction coin it enlists for. Treat like cash.

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

パッケージ
npm@three-ws/clash-mcp0.1.3

ツール

4

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

このツールにパラメーターはありません。

詳細

three.ws

@three-ws/clash-mcp

どのAIエージェントからでも、three.ws Coin Clash — 実際の保有状況とpump.funのデータに裏付けられた、コミュニティ参加型の勢力戦 — をプレイできます。リアルタイムのバトルボードを確認し、ウォレットを登録して、勢力に力を結集しましょう。

npm ライセンス node MCP レジストリ three.ws 製


Model Context Protocol サーバーです。stdio経由で、three.wsのコミュニティ参加型勢力戦 Coin Clash をあらゆるAIエージェントから利用できます。各コミュニティが勢力となり、その保有者が軍隊となります。各ラウンドでは2つの勢力がマッチし、制限時間までにより多くの力を結集した軍隊が勝利します。リアルタイムのバトルボードとランキングを確認したら、登録(コインの保有を証明)して、陣営のために結集しましょう。

読み取りは公開されているため、THREE_WS_BASEをデプロイ先に指定するだけで利用できます。書き込みはウォレットごとに管理されます。登録時にはSolanaキーでチャレンジに署名し、バックエンドが勢力コインのオンチェーンでの保有をリアルタイムに確認してから、ウォーパスを発行します。勢力、メンバー、勢いのデータはCoinCommunitiesとpump.funに基づいています。結集した力はサーバー側に保存され、ランキングされます。モックデータは一切ありません。

インストール

npm install @three-ws/clash-mcp

インストールせずにnpxで実行することもできます。

npx @three-ws/clash-mcp

クイックスタート

Claude Codeなら、1行で設定できます。

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

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

{
	"mcpServers": {
		"clash": {
			"command": "npx",
			"args": ["-y", "@three-ws/clash-mcp"],
			"env": {
				"SOLANA_SECRET_KEY": "<base58 secret of your enlisting wallet — only needed for writes>"
			}
		}
	}
}

MCP Inspectorで利用可能な機能を確認します。

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

ツール

ツール種類機能
get_clash_state読み取り専用リアルタイムのバトルボード:対戦カード、各軍の力と勢い、ラウンドの残り時間、勢力争いのシェア、優勢な陣営。
get_clash_leaderboard読み取り専用勢力戦の全期間の記録(勝敗・引き分け、勝率、力)。任意で、指定した勢力の今ラウンドのトップ兵士も確認できます。
enlist_faction書き込み署名者のウォレットが勢力コインを保有していることを証明し(Solana署名)、ウォーパスを取得します。
rally_faction書き込みタップを勢力の戦闘力として消費します。ウォーパスを渡すか、トークンを渡して登録と結集を1回の呼び出しで行います。

読み取りではリアルタイムのデータが返されます。呼び出しの間に力や順位が変化するため、どちらも冪等ではありません。書き込みはウォレットごとに管理され、資金が移動することはありません(ウォーパスは署名された証明であり、トランザクションではありません)。そのため、どちらも破壊的ではありません。enlist_factionは冪等です(再登録すると同等のウォーパスが発行されます)。rally_factionは冪等ではありません(呼び出すたびに力が加算されます)。

入力パラメーター

get_clash_state — なし。

get_clash_leaderboard — faction(任意のmint。指定すると、その勢力の今ラウンドのトップ兵士も返します)。

enlist_faction — token(必須の勢力mint)、secret(任意のbase58形式のSolanaシークレット。省略した場合はSOLANA_SECRET_KEYを使用します)。

rally_faction — taps(必須、1~50)、およびpass(enlist_factionで取得したウォーパス)、またはtoken(+任意のsecret。最初に自動登録します)。

バトルの仕組み

  1. 偵察。 get_clash_state で現在のラウンドを確認できます。対戦中の陣営、各軍の戦力、勢い、msLeft が表示されます。
  2. 参戦。 enlist_faction はウォレットと陣営に紐づいたチャレンジを発行し、Solana キーで署名します。バックエンドは署名とコインのオンチェーン保有状況(リアルタイム)を検証します。成功すると warPass が返されます。(コインを保有していない場合は、eligible:false、reason:"not_a_holder" が返されます。)
  3. 結集。 rally_faction はパスから taps(1 回の呼び出しにつき 1~50)を消費し、バトルの戦力にします。戦力は陣営のリアルタイムの勢いに応じて増幅され、ラウンドごとのウォレット上限が適用されます。msLeft > 0 の間、繰り返し呼び出してください。
  4. 勝利。 ラウンドの残り時間がゼロになると、戦力の多い軍がバトルに勝利し、その結果が各陣営の通算戦績に記録されます(get_clash_leaderboard)。

例

// get_clash_state
> {}
{
  "ok": true,
  "epoch": 486231,
  "epochMs": 3600000,
  "endsAt": 1750000000000,
  "msLeft": 1843000,
  "factionCount": 16,
  "arena": [
    {
      "id": "486231:…",
      // each side also carries image, posts, and priceUsd (elided here)
      "a": { "token": "…", "symbol": "ALPHA", "members": 8200, "momentum": 1.31, "power": 940, "record": { "w": 12, "l": 4, "d": 1, "battles": 17, "power": 8100 } },
      "b": { "token": "…", "symbol": "BETA",  "members": 5100, "momentum": 1.12, "power": 610, "record": { "w": 7,  "l": 9, "d": 0, "battles": 16, "power": 5400 } },
      "aShare": 0.61,
      "leader": "…ALPHA mint…"
    }
  ],
  "bye": null
}
// rally_faction — auto-enlist + rally in one call (wallet must hold the coin)
> { "token": "…faction mint…", "taps": 50 }
{
  "ok": true,
  "enlisted": { "wallet": "…", "amount": 1250000, "usd": 84.20 },
  "epoch": 486231,
  "mint": "…faction mint…",
  "added": 66,
  "momentum": 1.31,
  "walletPower": 66,
  "walletCap": 5000,
  "capped": false,
  "factionPower": 1005,
  "msLeft": 1841000
}

必要条件

  • Node.js >= 20。
  • https://three.ws(または独自の THREE_WS_BASE)へのネットワークアクセス。
  • 書き込みを行う場合のみ:参戦する陣営のコインを保有しているウォレットの Base58 形式の Solana シークレット。SOLANA_SECRET_KEY または呼び出しごとの secret 引数で指定します。
環境変数
変数必須デフォルト備考
THREE_WS_BASEいいえhttps://three.ws接続先の API デプロイ先です。
THREE_WS_TIMEOUT_MSいいえ20000リクエストごとのタイムアウトです。
SOLANA_SECRET_KEY書き込み時のみ—参戦するウォレットの Base58 形式のシークレットです。呼び出しごとの secret で上書きできます。現金と同様に慎重に扱ってください。
CLASH_SOLANA_SECRETいいえ—SOLANA_SECRET_KEY が未設定の場合に読み込まれる代替署名者です。サーバーごとに環境変数のスコープを設定するホスト向けです。同じ形式で、同様の注意が必要です。

secret は参戦チャレンジへの署名(チャレンジテキストに対する分離された ed25519 署名)にのみローカルで使用されます。トランザクションへの署名には使用されず、資金も移動しません。それでもウォレットを操作できるため、信頼できるマシンで呼び出しごとに secret を指定するか、専用の環境変数を使うことをおすすめします。

エラー

ツール呼び出しが失敗すると、MCP エラー結果(isError: true)が返されます。テキストは単一の JSON オブジェクト { "ok": false, "error": "<code>", "message": "…" } で、上流から拒否された場合は status が、失敗の詳細がある場合(保有者ではなかったウォレットなど)は detail が追加されます。

error意味対処方法
validation_error引数が不正です。陣営の token が指定されていないか、rally_faction が pass と token のどちらも指定せずに呼び出されました。呼び出しを修正してください。
no_signer / invalid_secret書き込みツールに Solana キーが指定されていないか、キーが Base58 形式の 64 バイトのシークレットではありません。secret を渡すか、SOLANA_SECRET_KEY を設定してください。
not_eligible自動で参戦するウォレットが陣営のコインを保有していないため、パスが発行されませんでした。detail には wallet、faction、reason が含まれます。コインを保有してから再試行してください。
upstream_errorAPI がリクエストを拒否しました。status には HTTP コードが含まれます。主な応答本文には、bad_challenge、bad_signature、pass_invalid(期限切れまたは別のウォーのパス)、balance_unavailable(RPC が保有状況を読み取れない)、cc_unconfigured(デプロイ先に CoinCommunities の設定がない)があります。コードに応じて対処してください。pass_invalid の場合は再度参戦してください。
timeoutTHREE_WS_TIMEOUT_MS 内に応答がありませんでした。再試行するか、タイムアウトを延長してください。
network_errorリクエストが API に到達しませんでした(DNS、オフライン、TLS)。接続状況と THREE_WS_BASE を確認してください。
bad_configTHREE_WS_TIMEOUT_MS が正の数ではありません(起動時にスローされます)。環境変数を修正してください。

リンク


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

コメント

MCP は初めてですか?

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

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