Skip to main content
Glama

GeoGebra MCP Server

A Model Context Protocol (MCP) server that provides access to GeoGebra's computation and drawing capabilities through a standardized interface.

Features

Computation Tools

  • eval_command: Execute GeoGebra commands

  • eval_command_cas: Computer Algebra System calculations

  • math_calculation: Mathematical expression evaluation

  • geometry_construction: Geometric constructions and property calculations

Drawing & Export Tools

  • export_png: Export constructions as PNG images

  • export_pdf: Export constructions as PDF documents

  • set_xml: Load constructions from XML

  • get_xml: Get current construction as XML

  • refresh_views: Refresh all views

Installation

  1. Install dependencies:

cd mcp-geogebra
npm install
  1. Make the server executable:

chmod +x src/index.js

Configuration

Add to your MCP client configuration (e.g., for Claude Code):

{
  "mcpServers": {
    "geogebra": {
      "command": "node",
      "args": ["/path/to/mcp-geogebra/src/index.js"],
      "env": {
        "GEOGEBRA_BASE_URL": "http://localhost:3000"
      }
    }
  }
}

Usage Examples

Basic Math Calculation

// Calculate integral of x^2 from 0 to 1
{
  "name": "math_calculation",
  "arguments": {
    "expression": "Integral(x^2, 0, 1)"
  }
}

CAS Calculation

// Solve quadratic equation
{
  "name": "eval_command_cas", 
  "arguments": {
    "command": "Solve(x^2 - 4 = 0, x)",
    "rounding": "2"
  }
}

Geometry Construction

// Create triangle and get area
{
  "name": "geometry_construction",
  "arguments": {
    "construction": "A=(0,0); B=(4,0); C=(0,3); poly1=Polygon(A,B,C)",
    "properties": ["area", "perimeter"]
  }
}

Export Image

// Export as high-quality PNG
{
  "name": "export_png",
  "arguments": {
    "exportScale": 2.0,
    "transparent": true,
    "dpi": 600
  }
}

API Reference

eval_command

Execute a GeoGebra command.

Parameters:

  • command (string): GeoGebra command to execute

Example: "f(x)=x^2; Integral(f,0,1)"

eval_command_cas

Execute CAS command with precision control.

Parameters:

  • command (string): CAS command

  • rounding (string): Rounding precision (default: "2")

Example: "Solve(x^3 - 2x + 1 = 0, x)"

export_png

Export construction as PNG image.

Parameters:

  • exportScale (number): Scale factor (default: 1.0)

  • transparent (boolean): Transparent background (default: false)

  • dpi (number): Resolution (default: 300)

  • greyscale (boolean): Greyscale output (default: false)

export_pdf

Export construction as PDF document.

Parameters:

  • scale (number): Scale factor (default: 1.0)

  • filename (string): Output filename

  • dpi (number): Resolution (default: 72)

math_calculation

Evaluate mathematical expressions.

Parameters:

  • expression (string): Math expression

  • variables (object): Variable values

Example:

{
  "expression": "a^2 + b^2",
  "variables": {"a": 3, "b": 4}
}

geometry_construction

Create geometric constructions and get properties.

Parameters:

  • construction (string): Construction commands

  • properties (array): Properties to calculate

Supported properties: area, perimeter, coordinates

Environment Variables

  • GEOGEBRA_BASE_URL: Base URL of GeoGebra server (default: http://localhost:3000)

Development

Project Structure

mcp-geogebra/
├── src/
│   ├── index.js          # Main server entry point
│   ├── tools.js          # Tool definitions
│   └── geogebra-client.js # GeoGebra API client
├── package.json
└── README.md

Adding New Tools

  1. Define tool in src/tools.js

  2. Add handler method in src/index.js

  3. Implement client method in src/geogebra-client.js

Testing

Run the server directly:

npm start

License

MIT License

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/FallenAngels520/geogebra-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server