Geogebra MCP logo

Geogebra MCP

by haison8x

Drive GeoGebra Calculator from an AI client to construct, inspect, verify, style, and export plane-geometry figures.

Install Geogebra MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "haison8x-geogebra-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "geogebra-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 11 tools correctly (3d ago).

Overview

haison8x/geogebra-mcp connects MCP clients to GeoGebra Calculator in a Chrome or Edge window, using Playwright and GeoGebra’s JavaScript API. Agents can run constructions, inspect dependencies and values, evaluate geometric properties, review screenshots, and revise figures when commands fail or results are incorrect. Use it for interactive plane-geometry construction, verification, teaching materials, or exported GeoGebra files. The server restores the last known figure after a browser reload or restart of the page, while undo history and snapshots remain in memory during the server process.

Use cases

  • Construct plane-geometry figures from natural-language problems
  • Verify angles, collinearity, midpoints, and related properties
  • Inspect object dependencies and diagnose failed commands
  • Review figures visually with screenshots and adjust their styling
  • Export completed figures as GeoGebra or PNG files

Key features

  • Live GeoGebra Calculator control through MCP
  • Command diagnostics and dependency-aware state inspection
  • Geometric expression evaluation without creating objects
  • Screenshots, snapshots, undo, and view fitting
  • Object styling, deletion, clearing, and export

Tools11

What Geogebra MCP lets your agent do. Expand a tool for its parameters.

Verified live~1.3k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

What it can do

From the 11 tools this server returned when we ran it; 5 declare their own safety hints.

Can delete or modify data · 4Read-only tools · 7
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age23 days
Maintainers1

Observed 2026-11-05 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · geogebra-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads248Package downloads in the last 30 days.
Last commit19d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed11Callable tools this server registers over MCP.

How Geogebra MCP works

What haison8x/geogebra-mcp does

haison8x/geogebra-mcp lets an MCP-compatible AI client create and edit plane-geometry figures in GeoGebra Calculator. It is intended for workflows where an agent needs more than one-way command submission: the agent can construct a figure, read the resulting objects, check geometric conditions, inspect an image, and make corrections.

The project drives GeoGebra at https://www.geogebra.org/calculator rather than embedding GeoGebra software. It is an independent project and is not affiliated with or endorsed by GeoGebra GmbH. GeoGebra’s own licensing terms apply to use of the service and to figures created with it.

How it works

The first tool call opens a Chrome or Edge window containing GeoGebra Calculator. The user can watch the construction and interact with the figure manually. Playwright evaluates calls to GeoGebra’s ggbApplet JavaScript API inside the page, avoiding simulated mouse clicks.

Commands are sent through GeoGebra’s asynchronous command interface. The server adds diagnostics around GeoGebra’s results, including hints for unknown names or commands, unbalanced brackets, undefined results, reserved names, and ambiguous two-point intersections. If the page is closed or reloaded, a later tool call reopens it and restores the last known figure. Server-managed XML history provides undo for API changes.

The server also exposes the geogebra://rules and geogebra://commands resources, along with a draw_geometry_problem prompt.

Setup and configuration

Use Node.js 20 or newer and Google Chrome or Microsoft Edge. If neither browser is available, install Playwright’s Chromium build with npx playwright install chromium.

A package-based MCP configuration can launch the server with:

config.json
{
  "mcpServers": {
    "geogebra": {
      "command": "npx",
      "args": ["-y", "geogebra-mcp"]
    }
  }
}

Claude Code can install the project as a plugin or register it with claude mcp add geogebra -- npx -y geogebra-mcp. From source, clone the repository, run npm install and npm run build, then point the MCP client at dist/index.js.

Configuration variables include GGB_BROWSER, which selects Chrome, Edge, or Playwright Chromium; GGB_HEADLESS, which enables headless mode with 1; GGB_PROFILE_DIR, which controls the persistent browser profile; and GGB_URL, which sets the page opened by the server. The default profile preserves the GeoGebra login, and each profile supports one server instance.

Tools and capabilities

  • ggb_run_commands executes ordered GeoGebra commands and reports results, created or removed objects, warnings, and failure hints. Assigning an existing name redefines that object.
  • ggb_get_state returns object types, definitions, values, coordinates, visibility, and dependency relationships.
  • ggb_evaluate checks expressions without creating objects, including angle and collinearity tests.
  • ggb_screenshot captures the drawing area or the complete window as a PNG.
  • ggb_set_style changes appearance properties such as color, labels, captions, visibility, line style, thickness, point size, fill, and fixed status.
  • ggb_delete, ggb_clear, and ggb_undo remove objects, start a new figure, or revert server-managed changes.
  • ggb_snapshot saves, restores, and lists named in-memory versions.
  • ggb_fit_view frames visible points and circles, maintains a 1:1 ratio, and controls axes and grid display.
  • ggb_export saves figures as .ggb or .png files.

Limitations and notes

Snapshots and undo history exist only in memory while the server is running. The code is MIT-licensed, but that license does not cover GeoGebra. GeoGebra is free for non-commercial use; commercial uses such as paid materials, training, or services require a GeoGebra license. Shared figures, images, and .ggb files should retain the attribution “Made with GeoGebra®” and a link to https://www.geogebra.org.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Geogebra MCP

haison8x/geogebra-mcp is an MCP server that connects AI clients to GeoGebra Calculator through a browser. Its main tools run construction commands, inspect objects and dependencies, evaluate geometric expressions, capture screenshots, style or delete objects, manage snapshots and undo, fit the view, and export figures.

Install it with an MCP configuration that runs `npx -y geogebra-mcp`, or register that command with Claude Code. Use Node.js 20 or newer and Chrome or Edge; if needed, install Playwright Chromium with `npx playwright install chromium`.

Yes, haison8x/geogebra-mcp works with Cursor through its MCP configuration. Add a server entry using the `npx` command and `geogebra-mcp` package, then restart the client.

It verifies constructions by combining state inspection, expression evaluation, and screenshots. An agent can read object definitions, values, coordinates, visibility, and dependencies; evaluate properties such as angles or collinearity; and visually review the drawing before making further edits.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGeogebra MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/haison8x-geogebra-mcp?style=directory)](https://allmcps.com/mcp/haison8x-geogebra-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/haison8x-geogebra-mcp"><img src="https://allmcps.com/api/badge/haison8x-geogebra-mcp?style=directory" alt="Geogebra MCP on AllMCPs" /></a>