battle-arena-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@battle-arena-mcprun a battle between Jayden and Rushdown Rex"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Battle Arena MCP Server
An MCP (Model Context Protocol) server that connects AI agents to the Battle Arena - AI Strategy Competition game. Run battles, tournaments, and analyze strategies programmatically.
What is this?
This MCP server wraps the Battle Arena REST API, giving any MCP-compatible AI agent (like Manus) direct access to:
List strategies — See all available student and example fighters
Get strategy code — Read the source code of any strategy
Run battles — Pit two strategies against each other with configurable HP
Run tournaments — Round-robin competition with leaderboard
Get game rules — All damage values, ranges, and mechanics
Related MCP server: Pokemon MCP Server
Quick Start
Option 1: Use with Manus (Custom MCP Connector)
In your Manus project, go to Settings → Connectors → Custom MCP
Add this server with the command:
npx battle-arena-mcpSet the environment variable (optional, defaults to the hosted arena):
BATTLE_ARENA_URL=https://battle-arena.manus.space
Option 2: Run Locally
# Clone and install
git clone https://github.com/Oscarlight/battle-arena-mcp.git
cd battle-arena-mcp
npm install
npm run build
# Run
node dist/index.jsOption 3: npx (no install)
npx battle-arena-mcpEnvironment Variables
Variable | Default | Description |
|
| Base URL of the Battle Arena API |
Available Tools
list_strategies
Lists all available strategies with their IDs, names, and fighting styles.
Example response:
{
"strategies": [
{ "id": "jayden", "name": "Jayden", "style": "Balanced adaptive", "source": "student" },
{ "id": "rushdown_rex", "name": "Rushdown Rex", "style": "Aggressive pressure", "source": "example" }
],
"total": 23
}get_strategy_code
Returns the JavaScript source code of a strategy.
Parameters:
id(required): Strategy ID fromlist_strategies
run_battle
Runs a 1v1 battle. Provide strategies by ID or custom code.
Parameters:
strategyIdA/strategyA: Strategy A (by ID or code)strategyIdB/strategyB: Strategy B (by ID or code)hp(optional): HP value, 50-1000. Default: 100. Tournament: 250.includeTurnLog(optional): Include full turn-by-turn data
Example response:
{
"winner": "Jayden",
"winnerSide": "A",
"nameA": "Jayden",
"nameB": "80 Year Old Grandpa",
"finalHpA": 48,
"finalHpB": 0,
"totalTurns": 55,
"hp": 250
}run_tournament
Runs a round-robin tournament between 2-20 strategies.
Parameters:
strategyIds(optional): Array of strategy IDsstrategies(optional): Array of custom strategies withcodeand optionalidhp(optional): HP for all matches
Example response:
{
"hp": 250,
"totalMatches": 6,
"leaderboard": [
{ "id": "jayden", "name": "Jayden", "wins": 2, "losses": 1, "winRate": 67 }
],
"matches": [...]
}get_game_rules
Returns all game constants (damage, ranges, stamina, etc.).
Writing Custom Strategies
A strategy is a JavaScript function that receives game state and returns an action:
// Strategy Name: My Fighter
// Strategy Style: Aggressive rushdown
function strategy(state) {
// Available state:
// state.myHp, state.enemyHp, state.distanceToEnemy
// state.myStamina, state.isInLightRange, state.isInHeavyRange
// state.turn, state.myIsRecovering, state.enemyIsRecovering
// state.mustAttackSoon, state.mustMoveSoon
// Available actions:
// "move_up", "move_down", "move_left", "move_right"
// "dash_toward", "dash_away"
// "light_attack", "heavy_attack"
// "block", "grab", "special"
if (state.distanceToEnemy > 2) return "dash_toward";
if (state.isInHeavyRange) return "heavy_attack";
return "light_attack";
}REST API (Direct Access)
The MCP server wraps these public endpoints:
Method | Endpoint | Description |
GET |
| List all strategies |
GET |
| Get strategy source code |
POST |
| Run a single battle |
POST |
| Run a round-robin tournament |
GET |
| Get game constants |
No authentication required. Rate limited to 30 requests/minute.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI models to access comprehensive Pokémon data from PokéAPI and simulate battles between any two Pokémon with realistic mechanics including type effectiveness, stat-based damage calculations, and status effects.1
- AlicenseNot gradedqualityDmaintenanceSimulates a Pokemon battle system by providing tools for managing Pokemon, executing turn-based combat, and analyzing type effectiveness. It enables AI models to facilitate interactive battles, generate random creatures, and implement complex battle strategies.8ISC
- FlicenseNot gradedqualityCmaintenanceA turn-based combat platform where AI agents autonomously battle in a real-time pixel art arena using Model Context Protocol (MCP) tools. Users connect their agents to compete in matchmaking and watch live battles through a web-based spectator mode.
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to play games like Chess, Go, and Trading against each other with Elo rankings through registration, matchmaking, and move submission.45MIT
Related MCP Connectors
Build, backtest, and deploy quantitative trading strategies from your AI agent.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Machine-readable utilities and datasets for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Oscarlight/battle-arena-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server