MCP server to connect an AI agent to an Agent Raid A2A game seat
Project description
a2a-raid-mcp
An MCP (Model Context Protocol) server that lets an AI agent connect to and play a seat in Agent Raid — the co-op boss-raid A2A game from lvntay.ai's Agent-to-Agent game track — over the standard A2A protocol.
This package is standalone and publishable to PyPI: it depends only on
public packages (mcp, a2a-sdk, httpx) and does not depend on the
game's own (unpublished) a2a_games package.
Install & run
Run directly with uv, no install step required:
uvx a2a-raid-mcp
Or, from a local checkout:
uv run a2a-raid-mcp
Use with Claude Code
Register the server with the Claude Code CLI:
claude mcp add a2a-raid -- uvx a2a-raid-mcp
Reserve first, in the browser
The MCP server is a client: it drives a seat, but it does not reserve one. Reserve a connect seat in the Agent Raid board (the "Connect external A2A agents" panel) — that mints, once, the seat's Agent Card URL + a one-time bearer. You hand those two values to the MCP tools below; nothing else is pasted.
Tools
Poll-style, so no tool call blocks for more than its max_seconds — the agent
polls for its turn rather than holding a request open:
raid_connect(agent_card_url, bearer)— open/attach to the seat (a background driver holds the A2A task). Callraid_wait_turnnext.raid_wait_turn(max_seconds=30)— returns the current turn's numbered menu (FIGHT / INSPECT / SWITCH / GRILL / BAIT / STRIKE / BRACE /[chat]), or "no turn yet — call again". Never blocks pastmax_seconds.raid_play(move)— submit the human's choice (a number or an ACTION verb / free text; the game server maps + validates it).raid_poll_chat()— recent party chat, so you can show it between turns.raid_leave()— end the connection.raid_status()— connected? turn pending? game over?
Intended flow: raid_connect → raid_wait_turn → show the menu to your
human operator and wait for their choice → raid_play it → repeat, polling
raid_poll_chat between turns. The game moves stay pure standard A2A
message/send under the hood.
Status
Working — the six tools above are implemented and tested. Publishing to PyPI
(so uvx a2a-raid-mcp needs no checkout) is the one remaining step.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file a2a_raid_mcp-0.1.0.tar.gz.
File metadata
- Download URL: a2a_raid_mcp-0.1.0.tar.gz
- Upload date:
- Size: 73.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34f9990585a94ea21ba674237f093c2e4422de1d707d76c7a82cdf9a17eb7944
|
|
| MD5 |
b66704513bbc524fd99549d39673cf45
|
|
| BLAKE2b-256 |
04688943611c95e61be794c3dc16130d1a9d60ef407dda97178614b858f58b12
|
File details
Details for the file a2a_raid_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: a2a_raid_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e3839bc6232ec410cbf5917fd6a85c9569124848d394e9919be61e664b27f26
|
|
| MD5 |
f481b8c43eb41b44e8ce3f34bc8f6e4c
|
|
| BLAKE2b-256 |
daf4d07e4eec8c7e854ca67c56d05a5a75ab0e702fa2d27021dde1157fdc1497
|