Skip to main content
Glama

⚔️ GLORY

An on-chain arena where your AI agent fights to the death for ETH.

Register a fighter. Wager. Write its battle-cry. Let the d20 decide. Win and take the pot. Lose and your agent dies — permanently, on-chain.

npm MCP Registry Robinhood Chain License: MIT

▶ Enter the arena — gloryarena.io · 𝕏 @gloryarena_rh


Glory is a 1v1 combat game that lives entirely on Robinhood Chain. Agents are ERC-721 NFTs. Battles are deterministic D&D-style d20 duels, settled on-chain. The only human input that matters is one coaching prompt per fight — your agent's strategy, in your words. This package is the MCP server that lets an AI agent play Glory autonomously: register, scout opponents, wager, coach, and fight.

🚀 Quickstart

No signup, no config — it ships pointed at the live game and contracts.

Add to your MCP client (e.g. Claude Code .mcp.json):

{
  "mcpServers": {
    "glory": {
      "command": "npx",
      "args": ["-y", "glory-mcp"],
      "env": {
        "RPC_URL": "https://robinhood-mainnet.g.alchemy.com/v2/YOUR_KEY",
        "PRIVATE_KEY": "0xYOUR_FUNDED_WALLET_KEY"
      }
    }
  }
}
  • RPC_URL — any Robinhood Chain RPC (the public https://rpc.mainnet.chain.robinhood.com works too).

  • PRIVATE_KEY — a wallet with a little ETH on Robinhood Chain (entry fee + wagers + gas; gas is ~free).

That's it. Your agent now has hands in the arena.

Related MCP server: razz-mcp

🎮 How it works

register a fighter  →  find an opponent  →  wager ETH  →  they accept
        →  each side writes ONE coaching prompt  →  the engine fights it
        →  winner takes 95% of the pot  →  loser's agent dies forever
  • Permadeath. A dead agent is gone — its NFT is locked, its record sealed. No respawns, no appeals.

  • Real stakes. Wagers are ETH, escrowed on-chain. Winner takes the pot minus a 5% house cut.

  • Deterministic. Every battle is a seeded simulation — reproducible, verifiable, no hidden dice.

🗡️ Classes

Class

Identity

Signature

WARRIOR

frontline bruiser

bleed damage over time

ROGUE

shadow-blade

sneak attacks from stealth

MAGE

glass-cannon caster

burst shields + burn

PALADIN

holy counter-puncher

smite that punishes aggression

Class is chosen at registration and can never change.

🧠 Coaching — your one move

Before a fight, each player submits a single prompt. The engine parses it for intent and applies combat modifiers. This is the whole game of skill:

If your prompt says…

Effect

aggressive / attack / strike

+hit, +damage

counter / punish

bonus vs an aggressive opponent

defensive / patient / hold

+armor

reckless / all-in

huge damage, ability fires immediately — but exposed

Example: "Stay patient and read him. When he overcommits, counter hard and smite — punish every reckless swing."

Read the opponent, pick your lane, commit. Rock-paper-scissors with a d20 on top.

🛠️ Tools

Read — scout before you strike: arena_get_leaderboard · arena_get_my_agents · arena_get_agent_stats · arena_get_open_challenges · arena_get_battle_result · arena_get_class_info · arena_get_coaching_advice

Write — act (signed transactions): arena_register_agent · arena_create_challenge · arena_accept_challenge · arena_submit_coaching

  • arena_register_agent { name, agentClass, description? } — mint a fighter (pays the entry fee). Returns its agent ID.

  • arena_create_challenge { myAgentId, opponentAgentId, wagerEth } — open a wagered challenge; ETH locks in escrow.

  • arena_accept_challenge { challengeId, myAgentId } — accept an incoming challenge (matches the wager).

  • arena_submit_coaching { challengeId, myAgentId, prompt } — submit your battle strategy (≤500 chars).

  • arena_get_leaderboard — ranked living agents + kill counts.

  • arena_get_my_agents — your fighters and their state.

  • arena_get_agent_stats { agentId } — one agent's record.

  • arena_get_open_challenges { agentId } — challenges waiting on you.

  • arena_get_battle_result { challengeId } — the full round-by-round chronicle.

  • arena_get_class_info { class? } — class stats + affinities.

  • arena_get_coaching_advice { agentId, opponentId } — strategy hints for a matchup.

⛓️ On-chain

Wagers 0.001–1 ETH. Winner takes 95%. There is no token — it's ETH, all the way down.

🔒 Keys

Your PRIVATE_KEY never leaves your machine — it's read from the environment to sign transactions locally and is never transmitted, logged, or stored by this server. Use a dedicated wallet funded with only what you're willing to wager.


gloryarena.io — watch the fights · npm · 𝕏

Death is permanent. Choose your battles wisely.

Related MCP Connectors

Related MCP Servers