mcp-geometry-prover
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-geometry-provera@0_0; b@1_0; c@0_1; ? coll a b c"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Geometry Prover
An MCP server that wraps AlphaGeometry2's DDAR (Deductive Database with Algebraic Reasoning) engine for geometry theorem proving.
Overview
This server provides Mikey Agent with the ability to prove geometry theorems using the same symbolic reasoning engine that powered Google DeepMind's IMO gold-medalist performance.
Related MCP server: Aristotle MCP Server
Tools
geometry_prove
Prove a geometry theorem using DDAR.
Input: Problem in AG2 format Output: Proof status and number of deduction steps
geometry_example
Get example problems from IMO competitions.
geometry_help
Documentation on the AG2 format and DDAR.
AG2 Problem Format
a@x_y = ; b@x_y = ; ... (points with coordinates)
pred1, pred2, ... (constraints)
? goal_predicate (what to prove)Predicates
coll a b c- collinearcong a b c d- |AB| = |CD|perp a b c d- AB ⟂ CDpara a b c d- AB ∥ CDcyclic a b c d- concycliceqangle a b c d e f g h- ∠(AB,CD) = ∠(EF,GH)
Architecture
┌─────────────────────┐
│ Mikey Agent │
│ (Claude Code) │
└──────────┬──────────┘
│ MCP
▼
┌─────────────────────┐
│ mcp-geometry-prover│
│ (TypeScript) │
└──────────┬──────────┘
│ spawn Python
▼
┌─────────────────────┐
│ AlphaGeometry2 │
│ DDAR Engine │
│ (Python) │
└─────────────────────┘Dependencies
Node.js 18+
Python 3.10+ with numpy
AlphaGeometry2 repo at ~/Code/alphageometry2
Setup
# Build
npm install
npm run build
# AG2 setup (one-time)
cd ~/Code/alphageometry2
python3 -m venv ag2_env
source ag2_env/bin/activate
pip install numpyNext Steps
Elvis Integration: Use local LLM to suggest auxiliary constructions when DDAR fails
Natural Language: Parse geometry problems from natural language
Proof Export: Generate human-readable proofs
License
MIT (wrapper code) Apache 2.0 (AlphaGeometry2)
Available Tools
3 toolsgeometry_exampleA
Get an example geometry problem in AG2 format
| Name | Required | Description | Default |
|---|---|---|---|
| problem_id | Yes | Problem ID like '2000_p1', '2008_p6', etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not state that the tool is read-only, nor does it mention error handling, rate limits, or consequences of invalid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. However, it could be slightly expanded without losing conciseness (e.g., adding brief context about the output format).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description sufficiently conveys its purpose. It lacks detail on the return value, but the tool's function is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described required parameter including enum. The description adds no additional semantic value beyond what the schema already provides, meeting the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'example geometry problem' with format 'AG2 format'. It clearly distinguishes from sibling tools 'geometry_help' and 'geometry_prove' which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving example problems, but provides no explicit guidance on when to use it versus alternatives or any prerequisites. It is adequate but lacks explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geometry_helpA
Get help on the geometry prover and AG2 format
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must convey behavioral traits. It only states 'Get help', without describing what the tool actually does (e.g., return text, open documentation, require no input). Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every part contributes to conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is largely complete. It identifies the domain of help, though it could elaborate on the type of help provided (e.g., syntax, instructions).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in the schema, but the description adds meaning by specifying the topic of help (geometry prover and AG2 format). This provides context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides help on the geometry prover and AG2 format. It distinguishes itself from sibling tools geometry_example and geometry_prove by focusing on help rather than examples or proving.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The purpose implies it is for obtaining help, but specific contexts or exclusions are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geometry_proveB
Prove a geometry theorem using AlphaGeometry2's DDAR engine.
Input format (AG2 problem string):
Points with coordinates: "a@x_y = ;"
Constraints: "coll a b c" (collinear), "cong a b c d" (congruent), "perp a b c d" (perpendicular), "para a b c d" (parallel), "cyclic a b c d" (concyclic), "eqangle a b c d e f g h" (equal angles)
Goal after "?": "cong e p e q" (prove EP = EQ)
Example (IMO 2000 P1): "a@-0.52_0.11 = ; b@-0.19_0.19 = ; ... cong a g1 g1 m, ... ? cong e p e q"
Returns proof status and number of deduction steps.
| Name | Required | Description | Default |
|---|---|---|---|
| problem | Yes | Geometry problem in AG2 format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It details the input format and states the return type ('proof status and number of deduction steps'), but it does not mention side effects (likely none), resource requirements, rate limits, or whether modifications occur. While the stated behavior is accurate, it lacks completeness for a tool without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: purpose sentence followed by bullet points for input format and an example. It is informative without being excessively verbose. However, the example section is incomplete (truncated with '...'), which slightly detracts from clarity. Overall, it is appropriately sized for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of geometry proving and the absence of an output schema, the description only vaguely describes the return as 'proof status and number of deduction steps.' It does not specify the format or structure of the result, nor does it cover error handling or edge cases. The detailed input format compensates partially, but the output description is insufficient for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the schema has a description for the 'problem' parameter), baseline is 3. The description adds significant value by explaining the AG2 problem string format in detail, including point notation, constraint types, and goal format. This enriches the agent's understanding beyond the schema description 'Geometry problem in AG2 format'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Prove a geometry theorem using AlphaGeometry2's DDAR engine.' It uses a specific verb ('Prove') and identifies the resource (geometry theorem with AlphaGeometry2). While it doesn't explicitly differentiate from sibling tools (geometry_example, geometry_help), the distinct verb 'prove' implies a different function than example or help, making the purpose clear but not fully differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (geometry_example, geometry_help). It does not mention prerequisites, when not to use it, or context for choosing this over siblings. The agent is left to infer that it's for proving theorems, but there is no explicit usage direction or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: one provides examples, one offers help, and one performs proofs. There is no overlap or ambiguity.
All tool names follow the consistent pattern 'geometry_<noun>', making them predictable and easy to distinguish.
With only three tools, the server is well-scoped for its specialized domain of geometry proving, covering essential functionalities without excess.
The tool set covers the complete workflow: getting started (example), learning (help), and executing proofs (prove). No obvious gaps are present.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Precision math engine for AI agents. 203 exact methods. Zero hallucination.
Newton MCP — wraps the Newton math solver API (free, no auth)
Search Luogu problems, fetch statements, explore problem sets and get practice recommendations.
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides symbolic reasoning capabilities by converting natural language logical problems into Answer Set Programming (ASP) format and solving them using the Clingo solver. Enables users to perform formal logical reasoning, verify logical arguments, and get step-by-step explanations for complex logical problems.5MIT
- FlicenseBqualityDmaintenanceEnables LLMs to prove theorems in Lean and formalize mathematical problems using the Aristotle API, supporting both formal Lean code and natural language problem submissions.61
- FlicenseNot gradedqualityDmaintenanceProvides access to GeoGebra's mathematical computation, geometry construction, and visualization capabilities. Enables mathematical calculations, CAS operations, geometric constructions, and exporting results as PNG or PDF images.11
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MikeyBeez/mcp-geometry-prover'
If you have feedback or need assistance with the MCP directory API, please join our Discord server