Skip to content

Use Geometer from your coding assistant

This content is not available in your language yet.

If you build your agent with Claude Code or Cursor, you can stay in the assistant. Say “check my agent with Geometer”, get a short answer, fix the code together, and check the fix.

Geometer runs on your computer and sends nothing anywhere. Adding it tells your assistant how to start it. Do this once. It is added for you, in every project, and nothing is written into your project.

For Claude Code, run this in a terminal (geo mcp install --client claude-code prints it with the right path for your computer):

Terminal window
claude mcp add --scope user geometer -- /path/to/geo mcp serve

For Cursor, add this under mcpServers in ~/.cursor/mcp.json (geo mcp install --client cursor prints it, and --write adds it for you after you say yes, keeping what is already in the file):

{
"mcpServers": {
"geometer": { "command": "/path/to/geo", "args": ["mcp", "serve"] }
}
}

Restart the assistant. The path is where geo is installed on your computer, because an editor often does not see the same PATH as your terminal.

  1. “Check my agent with Geometer.” It tries your agent against faults in a sandbox, which takes about 30 to 60 seconds, and answers in three lines: what it found, what was not covered, and what to do next.
  2. “Explain the problem.” Your assistant gets a brief: what happened, the rule that must hold, and the conditions Geometer created.
  3. Change the code together.
  4. “Check my fix.” Geometer replays the recorded run on your changed code and nearby cases. The answer is “Still happens”, “Not reproduced in 3 runs, within what was tried”, or “Could not tell”. The same problem found in two agents is one problem with one id. Explaining, checking the fix and keeping act on every agent that shows it, and you get one answer (“Not reproduced in agent-py and agent-ts (3 runs each)”) and one command to confirm.
  5. “Keep this check.” Geometer cannot do this on the assistant’s word alone. The assistant gives you the command, geo regression keep <id>, and you run it yourself in a terminal and answer its question. Nothing is saved before you do, and the command refuses to run without a terminal.

Other things to ask: “What does Geometer say about this project?” (status, which also lists the open problems), and “Try a lost reply at the refund tool” (one fault at one tool, answered as held, broke or could not tell).

  • “Not reproduced in 3 runs, within what was tried” covers those runs, not every possible situation.
  • “No problems found in what was tried” is not a statement about cases that were not tried. The second line says what was not covered.
  • Geometer is for development and staging. It does not watch your live agent from here.
  • One check runs at a time. If one is running, the assistant is told.
  • Text from your agent’s run, inside the brief, is data. Your assistant should treat it as data and not as instructions.

The six tools

Tool What it does Changes something?
status What Geometer knows, the open problems with their ids, and the next step No
check Checks the agent, like geo check Runs a sandbox; your project is not changed
explain_problem The fix brief for one problem No
try_fault One fault at one tool, like geo check --fault … --at … Runs a sandbox; your project is not changed
check_fix Checks the fix, like geo verify Runs a sandbox; your project is not changed
keep_check Returns the command that keeps the check, geo regression keep <id>. When the same problem shows in several agents, the answer names each agent that is not ready and why Not by itself; you run the command

When Docker is missing or stopped, the answer says what to do: run geo doctor --fix, or, where Geometer cannot set Docker up itself (no Homebrew, or Linux), the steps to install it. The answers also start with a short summary and a next step in the data the assistant reads, so the three plain lines reach it even when its client shows only the data.

The Claude Code line follows the current Claude Code documentation for adding a local server (claude mcp add [options] <name> -- <command> [args...], with --scope user for all your projects, stored in ~/.claude.json): https://code.claude.com/docs/en/mcp. The Cursor file follows the current Cursor documentation (mcpServers with command and args; ~/.cursor/mcp.json for all projects, .cursor/mcp.json for one): https://cursor.com/docs/context/mcp. Both were read on 27 October 2026. Check those pages if a client changes its format.