GeoGebra MCP Server

GeoGebra MCP Server

Provides 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.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured