Infrastructure · The modules: what they do, run, test, call
All at once: the whole chain locally
Gateway, domain servers, API, website and checker from one checkout with one command.
On this page
You need Docker with Compose v2, a few minutes and about 6 GB for the first build. Everything reads the checkout read-only; the domain servers answer from recorded fixtures, without network.
Start
From the root of the corpus checkout:
docker compose up --build
What runs afterwards
| Address | Service |
|---|---|
http://localhost:8700 | gateway with both domain servers: GET /tools, POST /tool/<id>, POST /mcp |
http://localhost:8710 | API spine: GET /capabilities and the OpenAPI surface |
http://localhost:8090 | this website, built from the same checkout |
http://localhost:8720 | A2A transport: message/send against the served agent card |
The checker runs as a one-shot and prints the probe plan of the test corpus:
docker compose run --rm checker
Check that it runs
curl -s http://localhost:8700/tools
curl -s http://localhost:8710/capabilities
The first answer is a list of 52 tools, the second a register of 14 capabilities.
Remove it again
docker compose down --rmi local -v
Why a forwarder runs inside the container
The binaries bind 127.0.0.1 on purpose, so that no start accidentally opens to the outside. Inside a container that address is unreachable from outside; a small forwarder (socat) passes the published port through to the loopback address. One by one works too: every module guide in this section names its commands.