Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GGB_URLNoPage to open.https://www.geogebra.org/calculator
GGB_BROWSERNoBrowser channel: chrome or msedge. Leave empty to try chrome, msedge, then Playwright Chromium.
GGB_HEADLESSNo1 to run without a window (required in containers), 0 to show the GeoGebra window.1
GGB_PROFILE_DIRNoBrowser profile directory (keeps the GeoGebra login). Default: .geogebra-mcp/profile in the home directory.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ggb_run_commandsA

Run GeoGebra commands on the live figure, in order (English command names, e.g. "A = (-1, 6)", "M = Midpoint(B, C)", "ShowLabel(a, false)", "SetVisibleInView(h, 1, false)", "Delete(P)"). Assigning to an existing name REDEFINES that object and its dependents update. Returns, per command: ok, created/removed objects, warnings (undefined objects, names not created) and, for failures, hints about the likely cause.

ggb_get_stateA

List the objects currently in the figure: name, type, definition, value, point coordinates, visibility, dependsOn (parents) and usedBy (objects that would change or be deleted with it). Always call this before fixing a figure: the user may have edited it by hand.

ggb_screenshotA

Return a PNG image of the drawing area so you can check the figure visually (overlapping labels, figure off-screen, wrong shape). Set full_window to capture the whole GeoGebra window including the algebra panel.

ggb_evaluateA

Evaluate GeoGebra expressions against the current figure WITHOUT adding objects, to verify the construction. Examples: "Angle(B, A, C)", "Distance(B, M) == Distance(M, C)", "AreCollinear(A, H, O)", "AreParallel(Line(A, D), Line(B, C))", "Radius(omega)", "Area(poly1)".

ggb_set_styleC

Change how objects look: color, visibility, label, caption (text shown instead of the name), thickness, line style, point size, fill, fixed.

ggb_deleteA

Delete objects. WARNING: everything that depends on them is deleted too (see usedBy in ggb_get_state). To change an object, redefine it with ggb_run_commands instead.

ggb_clearA

Remove every object to start a new figure (can be reverted with ggb_undo).

ggb_undoA

Revert the last change(s) made through this server (run_commands, set_style, delete, clear, snapshot restore).

ggb_snapshotB

Save the current figure under a name, restore a saved one, or list saved names. Snapshots live while the server runs.

ggb_fit_viewA

Zoom/pan so every visible point and circle fits in the drawing area (1:1 axis ratio). Optionally show/hide axes and grid.

ggb_exportB

Save the figure to a local file: "ggb" (GeoGebra file, can be opened again in GeoGebra) or "png" (image).

Prompts

Interactive templates invoked by user choice

NameDescription
draw_geometry_problemDraw the figure of a plane-geometry problem on GeoGebra, verify it, and fix mistakes

Resources

Contextual data attached and managed by the client

NameDescription
rulesHow to build clean, literal geometry figures with GeoGebra commands
commandsCatalog of geometry commands with their syntax

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: ggb_run_commands mutates the figure while ggb_evaluate only reads, ggb_delete removes specific objects while ggb_clear wipes all, and ggb_snapshot (in-memory) is clearly separated from ggb_export (file). Overlaps are explicitly called out and resolved in the descriptions.

Naming Consistency5/5

All tools use the ggb_ prefix with snake_case, mostly verb_noun (ggb_run_commands, ggb_get_state, ggb_set_style, ggb_fit_view). The few single-verb names (ggb_delete, ggb_undo, ggb_clear) are natural and consistent with the convention.

Tool Count5/5

11 tools is well within the ideal 3-15 range and each tool earns its place by covering a distinct facet of figure manipulation. Nothing feels redundant or padded.

Completeness4/5

The surface covers execution, inspection, visual check, evaluation, styling, deletion, undo, snapshots, view fitting, export, and clearing—a strong lifecycle. Minor gaps exist (no import/load of an existing .ggb file, though snapshot restore partially covers this), but core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues