three.ws Coin Clash

io.github.nirholas由 GitHub 帳號 nirholas 發布v0.1.3更新於 Oct 24, 2026

Play three.ws Coin Clash — read the faction battle board and leaderboard, enlist, and rally.

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理讀取 three.ws Coin Clash 的即時陣營對戰看板與排行榜,並為某個陣營登記或集結 Solana 錢包

可以做什麼
讀取即時對戰看板:對戰組合、雙方戰力與氣勢、回合倒數、拉鋸占比與領先方。讀取陣營歷史戰績(勝、負、平、勝率、戰力)以及某陣營本回合的頂尖成員。透過簽署挑戰並證明鏈上持有陣營代幣來登記錢包,取得戰爭通行證。用 taps 為陣營投入戰力,可憑通行證,也可用代幣在一次呼叫中自動登記並集結。
適用情境
當你想讓助理關注或參與 three.ws Coin Clash 社群陣營戰時使用:偵察目前回合、查看排名,或為持有陣營代幣的錢包登記並集結。單純追蹤只需讀取;寫入需要實際持有代幣。
執行需求
需要 Node.js 20 或更新版本,透過 npx 或 npm 在本機執行。需要能存取 three.ws API 的網路,可用 THREE_WS_BASE 與 THREE_WS_TIMEOUT_MS 設定。寫入需要一個持有陣營代幣的 Solana 錢包 base58 私鑰,透過 SOLANA_SECRET_KEY、備用的 CLASH_SOLANA_SECRET 或每次呼叫的 secret 參數提供。
安裝前請注意
SOLANA_SECRET_KEY(或 CLASH_SOLANA_SECRET)是錢包私鑰,應像現金一樣保管;優先使用每次呼叫的 secret,或在可信機器上使用專用環境變數。此金鑰僅在本機用於簽署登記挑戰,不簽署交易,也不會移動資金。集結呼叫會累加戰力且不具冪等性,重複呼叫會改變排名。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 three.ws Coin Clash,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[three.ws]

@three-ws/clash-mcp

Play three.ws Coin Clash — the community faction war backed by real holdings + pump.fun data — from any AI agent. Read the live battle board, enlist your wallet, and rally power for a faction.

[npm] [license] [node] [MCP Registry] [three.ws]


A Model Context Protocol server that puts Coin Clash — three.ws's community faction war — in reach of any AI agent over stdio. Every community is a faction, its holders are its army; two factions are matched each round, and whichever army rallies more power before the clock runs out wins. Read the live board and leaderboard, then enlist (prove you hold the coin) and rally for your side.

Reads are public — point THREE_WS_BASE at a deployment and go. Writes are wallet-scoped: enlisting signs a challenge with your Solana key and the backend confirms a live on-chain holding of the faction coin before issuing a war pass. Factions, members, and momentum come from CoinCommunities + pump.fun; rally power is persisted and ranked server-side. Nothing is mocked.

Install

bash
npm install @three-ws/clash-mcp

Or run with npx (no install):

bash
npx @three-ws/clash-mcp

Quick start

Claude Code, one line:

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

Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):

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>"			}		}	}}

Inspect the surface with the MCP Inspector:

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

Tools

ToolTypeWhat it does
get_clash_stateread-onlyThe live battle board: matchups, each army's power + momentum, the round clock, the tug-of-war share, who's leading.
get_clash_leaderboardread-onlyAll-time faction war records (W/L/D, win rate, power), optionally a single faction's top soldiers this round.
enlist_factionwriteProve the signer's wallet holds a faction coin (Solana-signed) and get a war pass.
rally_factionwriteSpend taps as battle power for your faction — pass a war pass, or a token to auto-enlist and rally in one call.

The reads return live data — power and standings move between calls, so neither is idempotent. The writes are wallet-scoped: no funds ever move (a war pass is a signed proof, not a transaction), so neither is destructive. enlist_faction is idempotent (re-enlisting mints an equivalent pass); rally_faction is not (each call appends power).

Input parameters

get_clash_state — none.

get_clash_leaderboard — faction (optional mint; also returns that faction's top soldiers this round).

enlist_faction — token (required faction mint), secret (optional base58 Solana secret; falls back to SOLANA_SECRET_KEY).

rally_faction — taps (required, 1–50), and either pass (a war pass from enlist_faction) or token (+ optional secret) to auto-enlist first.

How a battle works

  1. Scout. get_clash_state shows the current round: who's matched, each army's power, momentum, and msLeft.
  2. Enlist. enlist_faction issues a challenge bound to your wallet + faction, signs it with your Solana key, and the backend verifies the signature and a live on-chain holding of the coin. You get back a warPass. (No holding → eligible:false, reason:"not_a_holder".)
  3. Rally. rally_faction spends taps (1–50 per call) from the pass as battle power — multiplied by the faction's live momentum, capped per wallet per round. Call it repeatedly while msLeft > 0.
  4. Win. When the round clock hits zero, the army with more power takes the battle and the result is written to each faction's all-time war record (get_clash_leaderboard).

Example

jsonc
// 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}
jsonc
// 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}

Requirements

  • Node.js >= 20.
  • Network access to https://three.ws (or your own THREE_WS_BASE).
  • For writes only: a base58 Solana secret whose wallet holds the faction coin it enlists for, via SOLANA_SECRET_KEY or the per-call secret arg.

Environment variables

VariableRequiredDefaultNotes
THREE_WS_BASEnohttps://three.wsAPI deployment to talk to.
THREE_WS_TIMEOUT_MSno20000Per-request timeout.
SOLANA_SECRET_KEYwrites only—Base58 secret of the enlisting wallet. Per-call secret overrides it. Treat like cash.
CLASH_SOLANA_SECRETno—Fallback signer read when SOLANA_SECRET_KEY is unset, for hosts that scope env vars per server. Same format and the same care.

The secret is only ever used to sign the enlist challenge locally — a detached ed25519 signature over the challenge text. It never signs a transaction and no funds move. Still, it controls a wallet: prefer a per-call secret or a dedicated env on a machine you trust.

Errors

A failed tool call returns an MCP error result (isError: true) whose text is a single JSON object: { "ok": false, "error": "<code>", "message": "…" }, plus status on upstream rejections and detail where the failure carries context (e.g. which wallet was not a holder):

errorMeaningRecovery
validation_errorBad arguments: a missing faction token, or rally_faction called with neither a pass nor a token.Fix the call.
no_signer / invalid_secretA write tool had no Solana key, or the key was not a base58 64-byte secret.Pass secret or set SOLANA_SECRET_KEY.
not_eligibleThe auto-enlisting wallet does not hold the faction coin, so no pass was issued. detail carries wallet, faction, and reason.Hold the coin, then retry.
upstream_errorThe API rejected the request. status carries the HTTP code; notable bodies include bad_challenge, bad_signature, pass_invalid (expired or foreign war pass), balance_unavailable (RPC could not read the holding), and cc_unconfigured (the deployment has no CoinCommunities config).Act on the code; re-enlist on pass_invalid.
timeoutNo response within THREE_WS_TIMEOUT_MS.Retry or raise the timeout.
network_errorThe request never reached the API (DNS, offline, TLS).Check connectivity / THREE_WS_BASE.
bad_configTHREE_WS_TIMEOUT_MS is not a positive number (thrown at startup).Fix the env var.

Links


Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub

來源:packages/clash-mcp/README.md,提交 c8f2cde

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.3最新Oct 10, 2026
  2. v0.1.2Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分