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 分