About Affine.Earth Math Court
Affine.Earth Math Court is a remote deterministic math MCP server for agents. It handles verification using integers and rejects floating-point inputs.
Key features
- 01Deterministic integer math verification
- 02Rejects floating-point inputs
- 03Provides 21 MCP tools
- 04Covers multiple math domains
Use cases
- 01Verify integer-lattice calculations
- 02Check that float inputs are refused
- 03Add math verification to agent workflows
MCP support
It provides a remote MCP server at `https://affine.earth/language-invariant/mcp`, exposing math tools to clients.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://affine.earth/language-invariant/mcpclaude mcp add --transport http earth-affine-math-court https://affine.earth/language-invariant/mcp{"mcpServers":{"earth-affine-math-court":{"type":"http","url":"https://affine.earth/language-invariant/mcp"}}}Open in Cursor{"servers":{"earth-affine-math-court":{"type":"http","url":"https://affine.earth/language-invariant/mcp"}}}Open in VS Code{"mcpServers":{"earth-affine-math-court":{"type":"http","url":"https://affine.earth/language-invariant/mcp"}}}{"mcpServers":{"earth-affine-math-court":{"serverUrl":"https://affine.earth/language-invariant/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://affine.earth/language-invariant/mcphttps://affine.earth/language-invariant/mcp/sseTools
55| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | No | one source text to render. e.g. Book |
| texts | array | No | up to 64 source texts; rendered in order, one line each. e.g. ["Book","Water"] |
| source_lang | string | Yes | ISO 639-1 source language; required, 'auto' refused. e.g. en |
| target_lang | string | No | exactly one of target_lang or target_langs (both keys sent, whatever their values, is REFUSED_AMBIGUOUS_TARGET; sent as anything but a string is REFUSED_BAD_TARGET; sent empty is REFUSED_NO_TARGET). ISO 639-1 target language for a single projection. Declared: ar bn de en es fa fr he hi id it ja ko ms nl pl pt ru sw th tr uk ur vi zh. The pairs a cell can actually answer are what its warmed chart reports (healthz translate_chart.languages, the receipt's lattice.languages); a pair outside them is REFUSED_NO_CHART naming the languages served. e.g. es |
| target_langs | array | No | exactly one of target_lang or target_langs (both keys sent, whatever their values, is REFUSED_AMBIGUOUS_TARGET; sent as anything but an array of strings is REFUSED_BAD_TARGET; sent empty is REFUSED_NO_TARGET). ONE CALL, ONE STATE: an array of ISO 639-1 codes, or ["*"] for every language the chart serves; the texts' state is sealed once and returned as one projection per language under `projections`, each carrying the same `state_digest`; status PROJECTED. e.g. ["es","fr"] |
Details
From the project READMEAffine.Earth Math Court — public MCP bind (deterministic, no-float)
The court is the live remote MCP: https://affine.earth/language-invariant/mcp.
Glama listing (approved): Affine Earth Math Court Remote
This git is the public bind: Cursor / Claude / VS Code configs, a STDIO→HTTPS proxy, HTTP clients, and LangChain / LlamaIndex / CrewAI / AutoGen / OpenAI-tool wrappers that POST integers and stop. Glama's connector row is the directory. Do not resubmit this repository as a local MCP server.
If a wrapper computes volume, Ehrhart, Eisenstein, or a float projection, it is a second law. Delete it.
| What | Where |
|---|---|
| Live MCP | https://affine.earth/language-invariant/mcp |
| SSE | https://affine.earth/language-invariant/mcp/sse |
| Glama connector | https://glama.ai/mcp/connectors/earth.affine/affine-earth-math-court-remote |
| Look (no visitor data) | https://affine.earth/language-game/#researcher · paints 15 tool names from GET /language-game/mcp-tools.json |
| Official registry | earth.affine/math-court |
| Courts | POST /language-invariant/game/{domain}/ingest |
Keywords agent runtimes search: MCP server, deterministic math, no float, integer lattice, verification, formal prover, LLM hallucination, affine projection, Ehrhart, Jordan bond, streamable-http.
One-line bind (Cursor, Claude Desktop, Claude Code)
Copy configs/cursor.mcp.json:
{
"mcpServers": {
"affine-earth-math-court": {
"url": "https://affine.earth/language-invariant/mcp"
}
}
}
VS Code: configs/vscode.mcp.json.
STDIO-only hosts: python3 stdio/affine_earth_mcp_stdio.py — see configs/claude-desktop-stdio.json.
Prove the door (three arms)
bash clients/math-court-mcp/prove/prove-math-court-agent-ingest.sh
Measured 2026-08-23 on the live apex: dilation: 1.5 → REFUSED_FLOAT, dilation: 12 → WIN count 169 vs float adversary 216.
Measured 2026-08-26: tools/list = 21 (adds lattice_op, math_court, and the four QMA names). Swift visitor swift-example/ walked the entire court: 29 LIVE · 0 LEARN. Wiki: Example app · User guide.
Client tools (named, one per live MCP tool)
Schemas: tools/catalog.json (measured tools/list).
OpenAI functions: tools/openai_tools.json — 15 MCP tools + court_ingest.
Python: PYTHONPATH=clients/math-court-mcp/http python3 -c "from tools import membrane_health; print(membrane_health())"
| Client name | Live MCP tool |
|---|---|
atc_assert_4d_deconfliction | atc.assert_4d_deconfliction |
corpus_bonds | corpus_bonds |
critique_frame | critique_frame |
execute_transition | execute_transition |
feeds_catalog | feeds_catalog |
game_frame_meta | game_frame_meta |
ide_rebuild_mesh | ide_rebuild_mesh |
membrane_health | membrane_health |
noaa_goes_r_weather | noaa_goes_r_weather |
twin_robotics_evaluate_exact_ik | twin.robotics.evaluate_exact_ik |
umc_direct | umc_direct |
umc_resume | umc_resume |
umc_status | umc_status |
verify_jordan_bond | verify_jordan_bond |
weather_convective_containment | weather.convective_containment |
court_ingest | REST /language-invariant/game/{domain}/ingest |
Each function POSTs. None of them evaluate a lattice.
Tree
clients/math-court-mcp/
server.json
tools/catalog.json live tools/list snapshot
tools/openai_tools.json 16 named functions
http/affine_earth.py
http/tools.py 16 named Python tools
http/mcp-bind.js
http/mcp-tools.js
stdio/affine_earth_mcp_stdio.py
wrappers/ LangChain · LlamaIndex · CrewAI · AutoGen · OpenAI
configs/
prove/prove-math-court-agent-ingest.sh
swift-example/ Swift 6.4 visitor — entire court + QMA (no verdict)
The generating substrate is not in this repository. Studies 11–13 (the sealed shear) live in the wiki pages of this same public git.
Courts
geometry · chance · algebra · physics · qcd · health · finance · cs · fluids · qma_2local · qma_spinglass · qma_nrep · qma_permanent
source required. role required. Integers only.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.