1. Conduid
  2. AI
  3. gebrai
MCP server · AI

gebrai

Model Context Protocol server for GeoGebra mathematical visualization

42Fair

Scored 23 hours ago · breakdown

About gebrai

gebrai is an MCP server published by git+gebrai in the AI category: model Context Protocol server for GeoGebra mathematical visualization.

The repository has 21 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

Install
npx @gebrai/gebrai
Claude Code
claude mcp add gebrai -- npx -y @gebrai/gebrai
npx
npx -y @gebrai/gebrai

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about gebrai

Powered by Claude · Grounded in docs

I know everything about gebrai. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

4 checks have not been run yet.

README

GeoGebra MCP Tool

A Model Context Protocol (MCP) server that enables AI models to interact with GeoGebra's mathematical software suite for creating interactive mathematical visualizations and dynamic constructions.

🎯 Overview

The GeoGebra MCP Tool bridges the gap between AI reasoning capabilities and mathematical visualization, allowing AI assistants to:

  • Create geometric constructions (points, lines, circles, polygons)
  • Plot mathematical functions and graphs
  • Perform algebraic computations with visual representation
  • Generate interactive mathematical demonstrations
  • Export visualizations in various formats

🚀 Quick Start Examples

  1. NPX (Recommended):
# Start the server
npx @gebrai/gebrai

# Or with custom log level
npx @gebrai/gebrai --log-level debug
  1. Connect to Claude Desktop - Add to your Claude configuration:
{
  "mcpServers": {
    "geogebra": {
      "command": "npx",
      "args": ["@gebrai/gebrai"]
    }
  }
}
  1. Start Creating - Ask Claude to create mathematical visualizations!

Need help? Check our Getting Started Guide for detailed instructions.

📦 Installation Options

NPX (No Installation)

npx @gebrai/gebrai

✅ No installation required
✅ Always uses latest version
✅ Perfect for testing

Global Installation

npm install -g @gebrai/gebrai

✅ Faster startup after installation
✅ Works offline
✅ Consistent version

Local Development

git clone <repository-url>
cd gebrai && npm install

✅ Full source code access
✅ Customization possible
✅ Development workflow

🛠️ CLI Usage

The GeoGebra MCP Tool provides a command-line interface with the following options:

Usage:
  npx @gebrai/gebrai [options]
  gebrai [options]              # if installed globally
  geogebra-mcp [options]        # alternative command

Options:
  -h, --help        Show help message
  -v, --version     Show version information
  --log-level LEVEL Set log level (error, warn, info, debug) [default: info]
  --port PORT       Set server port [default: stdin/stdout for MCP]

Examples:
  npx @gebrai/gebrai                    # Start MCP server
  npx @gebrai/gebrai --log-level debug  # Start with debug logging
  npx @gebrai/gebrai --help             # Show help

Prerequisites

  • Node.js 18.0.0 or higher
  • npm or yarn package manager

Installation

  1. Clone the repository:
git clone <repository-url>
cd gebrai
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Start the server:
npm start

Development Mode

For development with hot reload:

npm run dev

🛠️ Development

Project Structure

gebrai/
├── src/
│   ├── index.ts          # Main entry point
│   ├── server.ts         # MCP server implementation
│   ├── types/
│   │   └── mcp.ts        # MCP protocol types
│   ├── tools/
│   │   └── index.ts      # Tool registry and example tools
│   └── utils/
│       ├── logger.ts     # Logging utility
│       └── errors.ts     # Error handling
├── tests/
│   ├── setup.ts          # Test configuration
│   └── server.test.ts    # Server tests
├── package.json
├── tsconfig.json
└── README.md

Available Scripts

  • npm run dev - Start development server with hot reload
  • npm run build - Build the TypeScript project
  • npm start - Start the production server
  • npm test - Run the test suite
  • npm run test:watch - Run tests in watch mode
  • npm run test:coverage - Run tests with coverage report
  • npm run lint - Run ESLint
  • npm run lint:fix - Fix ESLint issues automatically

Testing

The project includes a comprehensive test suite using Jest:

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

📚 Documentation

For comprehensive documentation, visit our complete documentation which includes:

📖 Core Documentation

🔧 Tool Categories

🎓 Educational Resources

📝 Tutorials & Examples

📊 Tool Overview

The GeoGebra MCP Tool provides 40+ tools across four categories:

Category Tools Description Performance
Basic 3 tools Core MCP functionality < 100ms
GeoGebra 25+ tools Mathematical constructions < 2000ms
Educational 10+ tools Classroom activities < 2000ms
Performance 5 tools Monitoring & optimization < 500ms

Example Tools

  • Mathematical: geogebra_create_point, geogebra_plot_function, geogebra_export_png
  • Educational: geogebra_list_educational_templates, geogebra_create_lesson_plan
  • Performance: performance_get_stats, performance_warm_up_pool

🔧 Configuration

Environment Variables

  • PORT - Server port (default: 3000)
  • LOG_LEVEL - Logging level: error, warn, info, debug (default: info)
  • NODE_ENV - Environment: development, production, test

Example .env file

PORT=3000
LOG_LEVEL=info
NODE_ENV=development

🏗️ Architecture

Core Components

  1. MCP Server (src/server.ts)

    • Handles JSON-RPC 2.0 protocol
    • Routes requests to appropriate handlers
    • Manages server lifecycle
  2. Tool Registry (src/tools/index.ts)

    • Manages available tools
    • Handles tool execution
    • Provides tool discovery
  3. Error Handling (src/utils/errors.ts)

    • Standardized error responses
    • JSON-RPC error codes
    • Comprehensive error logging
  4. Logging (src/utils/logger.ts)

    • Structured logging with Winston
    • Configurable log levels
    • Development and production modes

Design Principles

  • Type Safety: Full TypeScript implementation with strict mode
  • Error Handling: Comprehensive error handling and validation
  • Modularity: Clean separation of concerns
  • Testability: Extensive test coverage
  • Extensibility: Easy to add new tools and features

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/new-tool
  3. Make your changes and add tests
  4. Ensure all tests pass: npm test
  5. Commit your changes: git commit -m 'Add new tool'
  6. Push to the branch: git push origin feature/new-tool
  7. Submit a pull request

Development Guidelines

  • Follow TypeScript best practices
  • Add tests for new functionality
  • Update documentation as needed
  • Use conventional commit messages
  • Ensure code passes linting

🔗 Related Projects

📞 Support

For questions, issues, or contributions, please:

  1. Check the Issues page
  2. Create a new issue if needed
  3. Join our community discussions

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About gebrai

How do I install gebrai?

Run npx @gebrai/gebrai, then add the server to your MCP client's configuration.

Is gebrai safe to use with an AI agent?

Its trust score is 42 out of 100 (fair). It passes 1 of the 2 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is gebrai still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.