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., "@GeoGebra MCP Serversolve the equation x^2 - 5x + 6 = 0"
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.
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
Install dependencies:
cd mcp-geogebra
npm installMake the server executable:
chmod +x src/index.jsConfiguration
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 commandrounding(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 filenamedpi(number): Resolution (default: 72)
math_calculation
Evaluate mathematical expressions.
Parameters:
expression(string): Math expressionvariables(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 commandsproperties(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.mdAdding New Tools
Define tool in
src/tools.jsAdd handler method in
src/index.jsImplement client method in
src/geogebra-client.js
Testing
Run the server directly:
npm startLicense
MIT License
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.