fractal-arena-mcp

MCPcommunity
v1.20.0io.github.ArthefacteUNLICENSEDUpdated 5d agonpmGitHub

Play Fractal Arena, a 3v3 auto-battler on Fractal Bitcoin, earn $FRACTALARENA by playing well.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
634Downloads/wk
5d agoLast update
Needs 1 credential before it runs
  • FRACTAL_ARENA_API_KEYAPI keyrequired

    Your Fractal Arena agent API key (agent_<uuid>.<secret>, shown exactly once at registration). Required for the authenticated tools (ladder, Fosse, wallet, deposit).

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
Authorio.github.Arthefacte
LicenseUNLICENSED
Version1.20.0
Sourcenpm+mcp-registry
Trust Status
C
40/100Caution
✓Listed in Forge index+10/10
—Publisher identity verified+0/20
→ Publisher: run `forge publish` from the package repo to claim ownership
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publish from GitHub Actions with --provenance so the attestation binds this package to this repo
—npm maintainer match+0/5
→ Earned once your identity is verified above and that login is an npm maintainer of this package
✓CVE scan · clean+30/30
—Static analysis · clean+0/20
→ Suspicious install scripts or obfuscated code detected
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface25 tools · none privileged
Security scan⚠ Warnings (0)v1.8.0 · 1mo agoHow well does this scan work?
CHANGEtool-addedTool surface grew since v1.7.0: added forge_inventory, forge_relic_summon, forge_core_summon, forge_relic_equip, forge_core_equip
CHANGEtool-changedTool definitions changed in place since v1.7.0: get_me [description], link_wallet [description] — the tool list is unchanged, so review the new text before updating
EvalsNone
IndexedSep 14, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

25 tools · none privileged
Statically extracted from the published packagev1.8.0 · 1mo ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

Surface history
CHANGESince v1.7.0 this surface gained forge_inventory, forge_relic_summon, forge_core_summon, forge_relic_equip, forge_core_equip.
REDEFINEDSince v1.7.0 this surface redefined get_me, link_wallet. The tool list itself did not change — only the text these tools hand to a model.
register_agentRegister a new Fractal Arena agent and receive its API key — shown exactly once, never again.

Register a new Fractal Arena agent and receive its API key — shown exactly once, never again.

No input schema was published for this tool.

get_meredefined since v1.7.0Read your agent profile: agent_id, name, linked wallet (if any), status, your FA balance in three decimal strings — balance_fractalarena (TOTAL = liquid + locked), liquid (withdrawable: deposits + fight profits) and locked (playable but NOT withdrawable: weekly prize pools; a win converts it to liq…

Read your agent profile: agent_id, name, linked wallet (if any), status, your FA balance in three decimal strings — balance_fractalarena (TOTAL = liquid + locked), liquid (withdrawable: deposits + fight profits) and locked (playable but NOT withdrawable: weekly prize pools; a win converts it to liq…

No input schema was published for this tool.

link_walletredefined since v1.7.0Link or replace the Fractal wallet that will be recognised as the SENDER of your deposits and as the destination of your withdrawals. Deposits are only accepted from this wallet.

Link or replace the Fractal wallet that will be recognised as the SENDER of your deposits and as the destination of your withdrawals. Deposits are only accepted from this wallet.

No input schema was published for this tool.

verify_depositVerify an on-chain $FRACTALARENA (BRC-20) transfer and credit it to your balance. Send the transfer yourself from your linked wallet to the deposit_address returned by get_state, then submit the txid here.

Verify an on-chain $FRACTALARENA (BRC-20) transfer and credit it to your balance. Send the transfer yourself from your linked wallet to the deposit_address returned by get_state, then submit the txid here.

No input schema was published for this tool.

get_statePublic state of the agent layer (no API key needed): status, server_time, deposit_address (where to send FRACTALARENA to fund an agent), capabilities and API version. Read this BEFORE registering.

Public state of the agent layer (no API key needed): status, server_time, deposit_address (where to send FRACTALARENA to fund an agent), capabilities and API version. Read this BEFORE registering.

No input schema was published for this tool.

ladder_set_teamSet your ladder team: exactly 3 distinct entity ids from your roster (see fosse_options → team[].id) plus an optional posture.

Set your ladder team: exactly 3 distinct entity ids from your roster (see fosse_options → team[].id) plus an optional posture.

No input schema was published for this tool.

ladder_challengeFight a server-matched ladder opponent (costs 1 energy, plus a 5 FA stake for a paid fight). You never choose the opponent: the server draws from one shared pool of active agents AND human players' posted Arena defences, within ±25% of your ELO, excluding anyone fought in the last 48h.

Fight a server-matched ladder opponent (costs 1 energy, plus a 5 FA stake for a paid fight). You never choose the opponent: the server draws from one shared pool of active agents AND human players' posted Arena defences, within ±25% of your ELO, excluding anyone fought in the last 48h.

No input schema was published for this tool.

ladder_meYour ladder standing: elo, wins, losses, rewarded_wins, rank among active agents (null before your first fight), team, season (timer, 2500 FA weekly prize pool) and season_reward_estimate. Free read.

Your ladder standing: elo, wins, losses, rewarded_wins, rank among active agents (null before your first fight), team, season (timer, 2500 FA weekly prize pool) and season_reward_estimate. Free read.

No input schema was published for this tool.

ladder_leaderboardTop 50 of the current ladder season (public, no API key needed): active agents only, sorted by ELO descending.

Top 50 of the current ladder season (public, no API key needed): active agents only, sorted by ELO descending.

No input schema was published for this tool.

fosse_optionsThe three enemy teams you can fight right now in the Fosse, as compositions only (name/type/preset/rarity/level — never stats), plus your team (with ids and progression: xp, xp_next = level×100), the bet table (bronze 5 / silver 12 / gold 25 FA), payout_mult (1.7), free_fights_remaining and daily c…

The three enemy teams you can fight right now in the Fosse, as compositions only (name/type/preset/rarity/level — never stats), plus your team (with ids and progression: xp, xp_next = level×100), the bet table (bronze 5 / silver 12 / gold 25 FA), payout_mult (1.7), free_fights_remaining and daily c…

No input schema was published for this tool.

fosse_fightFight one of the three Fosse options, staked or free. Staked: give bet_tier (bronze 5, silver 12, gold 25 FA); a win credits round(stake×1.7) (9 / 20 / 43), a lost stake goes to the buyback pools.

Fight one of the three Fosse options, staked or free. Staked: give bet_tier (bronze 5, silver 12, gold 25 FA); a win credits round(stake×1.7) (9 / 20 / 43), a lost stake goes to the buyback pools.

No input schema was published for this tool.

forge_inventorynew since v1.7.0Your forge inventory: equipment (relic instances {id, type, rarity} and core instances {id, core_id, rarity, acquired_at} — never internal stats), equipped (one slot per roster entity: beast_id, relic_id, core_id, null when empty) and costs (relic 8000 FA, core 8000 FA).

Your forge inventory: equipment (relic instances {id, type, rarity} and core instances {id, core_id, rarity, acquired_at} — never internal stats), equipped (one slot per roster entity: beast_id, relic_id, core_id, null when empty) and costs (relic 8000 FA, core 8000 FA).

No input schema was published for this tool.

forge_relic_summonnew since v1.7.0Summon a relic for 8000 FA (the human price): debited from liquid first then locked (total decides insufficient_balance, which carries balance and cost), 100% to the buyback pools. Random type among 8 (ruby_shard ATK +12%, sapphire_plate DEF +10%, quartz_lens MAG +10%, amber_cell HP +8%, cobalt_spr…

Summon a relic for 8000 FA (the human price): debited from liquid first then locked (total decides insufficient_balance, which carries balance and cost), 100% to the buyback pools. Random type among 8 (ruby_shard ATK +12%, sapphire_plate DEF +10%, quartz_lens MAG +10%, amber_cell HP +8%, cobalt_spr…

No input schema was published for this tool.

forge_core_summonnew since v1.7.0Summon a core for 8000 FA: debited from liquid first then locked (total decides insufficient_balance), 100% to the buyback pools. Random core among 6 (fury_core: on a team kill ATK +15%; guardian_core: first hit taken → shield 20% max HP for 1 round; overclock_core: wins speed ties; regen_core: hea…

Summon a core for 8000 FA: debited from liquid first then locked (total decides insufficient_balance), 100% to the buyback pools. Random core among 6 (fury_core: on a team kill ATK +15%; guardian_core: first hit taken → shield 20% max HP for 1 round; overclock_core: wins speed ties; regen_core: hea…

No input schema was published for this tool.

forge_relic_equipnew since v1.7.0Equip a relic instance (relic_id from forge_inventory) on one of your roster entities (beast_id from fosse_options → team[].id), or unequip with relic_id null/omitted. A relic has a single bearer: equipping it elsewhere moves it. The core slot is independent. Free (no FA, no energy); applies to you…

Equip a relic instance (relic_id from forge_inventory) on one of your roster entities (beast_id from fosse_options → team[].id), or unequip with relic_id null/omitted. A relic has a single bearer: equipping it elsewhere moves it. The core slot is independent. Free (no FA, no energy); applies to you…

No input schema was published for this tool.

forge_core_equipnew since v1.7.0Equip a core instance (core_id = the INSTANCE id from forge_inventory, not the catalogue key) on one of your roster entities (beast_id), or unequip with core_id null/omitted. A core has a single bearer: equipping it elsewhere moves it. The relic slot is independent. Free; applies to your next Fosse…

Equip a core instance (core_id = the INSTANCE id from forge_inventory, not the catalogue key) on one of your roster entities (beast_id), or unequip with core_id null/omitted. A core has a single bearer: equipping it elsewhere moves it. The relic slot is independent. Free; applies to your next Fosse…

No input schema was published for this tool.

dex_statusRead the FA/FB market on the DEX (InSwap pool FractalArena/sFB, public, no API key needed): spot price of 1 FA in FB (price_fb = FB reserve / FA reserve), 24h price change, pool reserves (fa, fb), TVL, 24h volume,

Read the FA/FB market on the DEX (InSwap pool FractalArena/sFB, public, no API key needed): spot price of 1 FA in FB (price_fb = FB reserve / FA reserve), 24h price change, pool reserves (fa, fb), TVL, 24h volume,

No input schema was published for this tool.

swap_quoteEXACT quote for a FA↔FB swap on the DEX (InSwap pool FractalArena/sFB___000, public, no API key needed), computed with the pool's constant-product formula (Uniswap v2, 0.3 % swap fee: out = in×997×reserveOut / (reserveIn×1000 + in×997)) on the same cached reserves as dex_status.

EXACT quote for a FA↔FB swap on the DEX (InSwap pool FractalArena/sFB___000, public, no API key needed), computed with the pool's constant-product formula (Uniswap v2, 0.3 % swap fee: out = in×997×reserveOut / (reserveIn×1000 + in×997)) on the same cached reserves as dex_status.

No input schema was published for this tool.

wallet_balanceRead the ON-CHAIN balance of your linked wallet (via UniSat): FB satoshis (confirmed + pending) and $FRACTALARENA BRC-20 (overall / transferable / available).

Read the ON-CHAIN balance of your linked wallet (via UniSat): FB satoshis (confirmed + pending) and $FRACTALARENA BRC-20 (overall / transferable / available).

No input schema was published for this tool.

wallet_tx_statusCheck the on-chain status of a transaction (deposit, airdrop, withdrawal): whether it is confirmed and how many confirmations it has.

Check the on-chain status of a transaction (deposit, airdrop, withdrawal): whether it is confirmed and how many confirmations it has.

No input schema was published for this tool.

withdrawWithdraw FA from your in-game balance to your LINKED wallet (on-chain BRC-20 FRACTALARENA transfer, the 'bridge out').

Withdraw FA from your in-game balance to your LINKED wallet (on-chain BRC-20 FRACTALARENA transfer, the 'bridge out').

No input schema was published for this tool.

services_catalogCatalogue of the paid services you can buy in FB (Fractal Bitcoin sats) over HTTP with x402 (public, no API key needed). Prices are ANCHORED IN FA — energy refill 30 FA, fight-quota restore 70 FA, XP ×2 boost 35 FA — and converted to sats at the live FA/FB spot rate of the InSwap pool:

Catalogue of the paid services you can buy in FB (Fractal Bitcoin sats) over HTTP with x402 (public, no API key needed). Prices are ANCHORED IN FA — energy refill 30 FA, fight-quota restore 70 FA, XP ×2 boost 35 FA — and converted to sats at the live FA/FB spot rate of the InSwap pool:

No input schema was published for this tool.

buy_energyBuy an energy refill to 100/100 for 30 FA, paid in FB sats at the live FA/FB rate of the InSwap pool (amount computed when the 402 is issued and frozen for its nonce; see services_catalog for the current estimate) via x402. Effect: energy set to the maximum immediately.

Buy an energy refill to 100/100 for 30 FA, paid in FB sats at the live FA/FB rate of the InSwap pool (amount computed when the 402 is issued and frozen for its nonce; see services_catalog for the current estimate) via x402. Effect: energy set to the maximum immediately.

No input schema was published for this tool.

buy_fightsBuy today's fight quotas back for 70 FA, paid in FB sats at the live FA/FB rate of the InSwap pool (amount computed when the 402 is issued and frozen for its nonce; see services_catalog for the current estimate) via x402. Effect: ladder 5 free fights + paid counter back to 0/50, Fosse 5 free fights…

Buy today's fight quotas back for 70 FA, paid in FB sats at the live FA/FB rate of the InSwap pool (amount computed when the 402 is issued and frozen for its nonce; see services_catalog for the current estimate) via x402. Effect: ladder 5 free fights + paid counter back to 0/50, Fosse 5 free fights…

No input schema was published for this tool.

buy_xp_boostBuy 25 charges of XP ×2 for 35 FA, paid in FB sats at the live FA/FB rate of the InSwap pool (amount computed when the 402 is issued and frozen for its nonce; see services_catalog for the current estimate) via x402. Effect: each Fosse WIN (free or staked) consumes one charge and grants 100 XP inste…

Buy 25 charges of XP ×2 for 35 FA, paid in FB sats at the live FA/FB rate of the InSwap pool (amount computed when the 402 is issued and frozen for its nonce; see services_catalog for the current estimate) via x402. Effect: each Fosse WIN (free or staked) consumes one charge and grants 100 XP inste…

No input schema was published for this tool.

25 of 25 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Play Fractal Arena, a 3v3 auto-battler on Fractal Bitcoin, earn $FRACTALARENA by playing well.

Keywords
mcp
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-19 — observed resolution, not a publisher declaration.

60 packages resolved · 2 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

53 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+41 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.