- Home
- MCP servers
- GeoGebra
GeoGebra
- javascript
2
GitHub Stars
javascript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"fallenangels520-geogebra-mcp": {
"command": "node",
"args": [
"/path/to/mcp-geogebra/src/index.js"
],
"env": {
"GEOGEBRA_BASE_URL": "http://localhost:3000"
}
}
}
}This MCP server gives you access to GeoGebra’s computation and drawing capabilities through a standardized interface. You can perform math calculations, CAS tasks, geometric constructions, and export constructions to PNG or PDF, all from a single, consistent MCP endpoint.
How to use
You connect to this GeoGebra MCP Server from your MCP client by configuring an MCP server entry that points to the local or remote server. The server exposes a set of tools you can invoke to perform mathematical calculations, CAS queries, geometry operations, and exports. Use the provided tool names to issue requests through your client, and adjust the base URL when running the server so your client can reach it.
How to install
Prerequisites: you need Node.js and npm installed on your system. You also need access to the project files for GeoGebra MCP Server.
- Navigate to your project folder containing the GeoGebra MCP Server files
Install dependencies and prepare the server for execution with the following commands.
cdd mcp-geogebra
npm install
Make the server executable if you will run it directly as a script.
chmod +x src/index.js
Start the server. You can use the standard start command provided by the project, which typically runs the server in the background or foreground as an MCP endpoint.
npm start
Configuration
Configure your MCP client to connect to the GeoGebra MCP Server. Use the following example to wire the server into your client configuration, replacing the path to the index script as needed and setting the base URL for the GeoGebra server.
{
"mcpServers": {
"geogebra": {
"command": "node",
"args": ["/path/to/mcp-geogebra/src/index.js"],
"env": {
"GEOGEBRA_BASE_URL": "http://localhost:3000"
}
}
}
}
Usage examples
Here are representative MCP tool invocations to perform common tasks. Use these as references when building requests in your MCP client.
{
"name": "math_calculation",
"arguments": {
"expression": "Integral(x^2, 0, 1)"
}
}
{
"name": "eval_command_cas",
"arguments": {
"command": "Solve(x^2 - 4 = 0, x)",
"rounding": "2"
}
}
{
"name": "geometry_construction",
"arguments": {
"construction": "A=(0,0); B=(4,0); C=(0,3); poly1=Polygon(A,B,C)",
"properties": ["area", "perimeter"]
}
}
{
"name": "export_png",
"arguments": {
"exportScale": 2.0,
"transparent": true,
"dpi": 600
}
}
API Reference
This section documents the core tools exposed by the server and their parameters.
eval_command executes a GeoGebra command.
Parameters: command (string) GeoGebra command to execute.
eval_command_cas runs CAS commands with optional rounding.
Parameters: command (string) CAS command; rounding (string) precision (default: 2).
export_png exports constructions as a PNG image.
Parameters: exportScale (number); transparent (boolean); dpi (number); greyscale (boolean).
geometry_construction creates geometric constructions and returns requested properties.
Parameters: construction (string); properties (array) like area, perimeter, coordinates.
Available tools
eval_command
Execute a GeoGebra command to perform the specified calculation or action.
eval_command_cas
Execute CAS (Computer Algebra System) commands with optional numeric rounding.
math_calculation
Evaluate mathematical expressions and return results.
geometry_construction
Create geometric constructions and compute properties like area and perimeter.
export_png
Export the current construction as a high-quality PNG image.
export_pdf
Export the current construction as a PDF document.
set_xml
Load a construction from an XML representation.
get_xml
Retrieve the current construction as XML.
refresh_views
Refresh all views of the current construction.