Battle Arena
БесплатноНе проверенEnables AI agents to run battles, tournaments, and analyze strategies in the Battle Arena game programmatically.
Описание
Enables AI agents to run battles, tournaments, and analyze strategies in the Battle Arena game programmatically.
README
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
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-mcp - Set 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.js
Option 3: npx (no install)
npx battle-arena-mcp
Environment Variables
| Variable | Default | Description |
|---|---|---|
BATTLE_ARENA_URL |
https://battle-arena.manus.space |
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 | /api/strategies |
List all strategies |
| GET | /api/strategies/:id/code |
Get strategy source code |
| POST | /api/simulate |
Run a single battle |
| POST | /api/tournament |
Run a round-robin tournament |
| GET | /api/rules |
Get game constants |
No authentication required. Rate limited to 30 requests/minute.
License
MIT
Установить Battle Arena в Claude Desktop, Claude Code, Cursor
unyly install battle-arena-mcpСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add battle-arena-mcp -- npx -y github:Oscarlight/battle-arena-mcpFAQ
Battle Arena MCP бесплатный?
Да, Battle Arena MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Battle Arena?
Нет, Battle Arena работает без API-ключей и переменных окружения.
Battle Arena — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Battle Arena в Claude Desktop, Claude Code или Cursor?
Открой Battle Arena на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Battle Arena with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
