Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

GGB Web

БесплатноНе проверен

A Model Context Protocol server that enables AI to interact with GeoGebra for mathematical visualization, offering over 25 tools for geometry, functions, algebr

GitHubEmbed

Описание

A Model Context Protocol server that enables AI to interact with GeoGebra for mathematical visualization, offering over 25 tools for geometry, functions, algebra, and more.

README

GeoGebra MCP 服务器 - 通过 Model Context Protocol 让 AI 与 GeoGebra 数学可视化软件交互。

功能特性

  • MCP 协议支持 - 完整的 Model Context Protocol 实现,支持 stdio 和 HTTP/SSE 两种传输方式
  • 实时 Web 可视化 - 内置 Web 服务器,通过浏览器实时查看数学构造
  • 丰富的数学工具 - 25+ GeoGebra 工具,涵盖几何、函数、代数运算
  • 教育模板 - 预置教育场景模板,快速创建课堂演示
  • 多实例协调 - 智能锁文件机制,多个 MCP 实例共享同一 Web 服务器

快速开始

1. 安装依赖

git clone [email protected]:kms9/ggb-web-mcp.git
cd ggb-web-mcp
npm install

2. 构建项目

npm run build

3. 启动服务

npm start

服务启动后:

  • MCP 服务器: 通过 stdin/stdout 与 AI 客户端通信
  • Web 可视化: 访问 http://localhost:3000 查看实时数学构造

配置 AI 客户端

Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "geogebra": {
      "command": "node",
      "args": ["/path/to/ggb-web-mcp/dist/cli.js"]
    }
  }
}

Cursor IDE

在 Cursor 设置中添加 MCP 服务器配置:

{
  "mcp": {
    "servers": {
      "geogebra": {
        "command": "node",
        "args": ["/path/to/ggb-web-mcp/dist/cli.js"]
      }
    }
  }
}

CLI 命令

# 启动 MCP 服务器
npm start

# 开发模式(热重载)
npm run dev

# 查看帮助
node dist/cli.js --help

# 设置日志级别
node dist/cli.js --log-level debug

# 指定端口
node dist/cli.js --port 3001

命令行参数

参数 说明 默认值
-h, --help 显示帮助信息 -
-v, --version 显示版本号 -
--log-level 日志级别 (error, warn, info, debug) info
--port Web 服务器端口 3000

HTTP API 端点

Web 服务器提供以下 HTTP API:

MCP 端点

端点 方法 说明
/mcp/sse GET SSE 连接,接收服务器推送消息
/mcp/message POST 发送 JSON-RPC 请求
/mcp/tools GET 获取可用工具列表
/mcp/tools/:name POST 执行指定工具
/mcp/info GET 获取服务器信息

GeoGebra API

端点 方法 说明
/api/geogebra/state GET 获取当前构造状态
/api/geogebra/clear POST 清空当前构造
/api/geogebra/command POST 执行 GeoGebra 命令

示例请求

# 获取工具列表
curl http://localhost:3000/mcp/tools

# 创建一个点
curl -X POST http://localhost:3000/mcp/tools/geogebra_create_point \
  -H "Content-Type: application/json" \
  -d '{"name": "A", "x": 1, "y": 2}'

# 执行 GeoGebra 命令
curl -X POST http://localhost:3000/api/geogebra/command \
  -H "Content-Type: application/json" \
  -d '{"command": "Circle(A, 3)"}'

可用工具

基础工具

工具名 说明
geogebra_eval_command 执行任意 GeoGebra 命令
geogebra_get_objects 获取所有对象信息
geogebra_clear_construction 清空当前构造
geogebra_export_png 导出 PNG 图片
geogebra_export_svg 导出 SVG 图片

几何工具

工具名 说明
geogebra_create_point 创建点
geogebra_create_line 创建直线(两点)
geogebra_create_line_equation 创建直线(方程)
geogebra_create_circle 创建圆
geogebra_create_polygon 创建多边形

函数工具

工具名 说明
geogebra_plot_function 绘制函数图像
geogebra_plot_parametric 绘制参数方程
geogebra_plot_implicit 绘制隐函数
geogebra_plot_inequality 绘制不等式区域

代数工具

工具名 说明
geogebra_solve_equation 求解方程
geogebra_solve_system 求解方程组
geogebra_simplify 化简表达式
geogebra_expand 展开表达式
geogebra_factor 因式分解
geogebra_derivative 求导数
geogebra_integral 求积分

动画工具

工具名 说明
geogebra_create_slider 创建滑块
geogebra_animate_slider 启动/停止动画
geogebra_set_animation_speed 设置动画速度

教育工具

工具名 说明
geogebra_list_educational_templates 列出教育模板
geogebra_create_from_template 从模板创建构造

环境配置

创建 .env 文件(可选):

# 服务器配置
PORT=3000
LOG_LEVEL=info
NODE_ENV=development

# GeoGebra 配置
GEOGEBRA_APP_NAME=classic
GEOGEBRA_WIDTH=800
GEOGEBRA_HEIGHT=600
GEOGEBRA_HEADLESS=true

# 性能配置
INSTANCE_POOL_SIZE=2
RESPONSE_TIMEOUT=30000

配置说明

变量 说明 默认值
PORT Web 服务器端口 3000
LOG_LEVEL 日志级别 info
GEOGEBRA_HEADLESS 无头模式(不显示浏览器窗口) true
INSTANCE_POOL_SIZE GeoGebra 实例池大小 2

开发指南

项目结构

ggb-web-mcp/
├── src/
│   ├── cli.ts              # CLI 入口
│   ├── index.ts            # 主入口
│   ├── server.ts           # MCP 服务器
│   ├── tools/              # 工具定义
│   │   ├── geogebra-tools.ts
│   │   ├── educational-templates.ts
│   │   └── performance-tools.ts
│   ├── types/              # 类型定义
│   ├── utils/              # 工具函数
│   └── web/                # Web 服务器
│       └── server.ts
├── tests/                  # 测试文件
├── examples/               # 使用示例
└── docs/                   # 文档

常用脚本

# 开发模式
npm run dev

# 构建
npm run build

# 运行测试
npm test

# 测试覆盖率
npm run test:coverage

# 代码检查
npm run lint

# 清理构建产物
npm run clean

添加新工具

  1. src/tools/geogebra-tools.ts 中定义工具:
{
  tool: {
    name: 'geogebra_my_tool',
    description: '工具描述',
    inputSchema: {
      type: 'object',
      properties: {
        param1: { type: 'string', description: '参数说明' }
      },
      required: ['param1']
    }
  },
  handler: async (params) => {
    // 实现逻辑
    return {
      content: [{ type: 'text', text: JSON.stringify(result) }]
    };
  }
}
  1. 工具会自动注册到工具注册表中

系统要求

  • Node.js >= 18.0.0
  • npm 或 yarn

许可证

MIT License

相关链接

from github.com/kms9/ggb-web-mcp

Установка GGB Web

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/kms9/ggb-web-mcp

FAQ

GGB Web MCP бесплатный?

Да, GGB Web MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для GGB Web?

Нет, GGB Web работает без API-ключей и переменных окружения.

GGB Web — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить GGB Web в Claude Desktop, Claude Code или Cursor?

Открой GGB Web на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare GGB Web with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai