From 02eee051910d4c48712ac17e52e4bf0c530ae158 Mon Sep 17 00:00:00 2001 From: Christoph Steinl Date: Sun, 11 Oct 2026 17:14:53 +0200 Subject: [PATCH] Add SageMath MCP (sagemath-mcp) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01P1eo9kHhPHfBTGcehPwGbA --- registry/mcps/sagemath-mcp/entry.json | 30 ++++++++++++++++++++++++++ registry/mcps/sagemath-mcp/icon.png | Bin 0 -> 24904 bytes 2 files changed, 30 insertions(+) create mode 100644 registry/mcps/sagemath-mcp/entry.json create mode 100644 registry/mcps/sagemath-mcp/icon.png diff --git a/registry/mcps/sagemath-mcp/entry.json b/registry/mcps/sagemath-mcp/entry.json new file mode 100644 index 0000000..e2a56e0 --- /dev/null +++ b/registry/mcps/sagemath-mcp/entry.json @@ -0,0 +1,30 @@ +{ + "$schema": "../../../schemas/mcp.schema.json", + "id": "sagemath-mcp", + "type": "mcp", + "name": "SageMath MCP", + "tagline": "Sandboxed SageMath for exact and symbolic mathematics", + "description": "40 tools over a sandboxed SageMath session that persists between calls: calculus, number theory, linear algebra, graphs, groups, elliptic curves, plotting, and verify_claim to re-check a stated result. Runs locally through uvx; the first launch downloads about 1 GB of Sage wheels (passagemath). macOS and Linux. An independent project by XBP Europe, not affiliated with the SageMath developers.", + "author": { + "name": "XBP Europe" + }, + "tags": [ + "research", + "data" + ], + "verified": false, + "featured": false, + "install": { + "args": [ + "sagemath", + "--", + "uvx", + "--from", + "sagemath-mcp[passagemath]", + "sagemath-mcp" + ] + }, + "icon": "./icon.png", + "homepage": "https://github.com/XBP-Europe/sagemath-mcp", + "repo": "https://github.com/XBP-Europe/sagemath-mcp" +} diff --git a/registry/mcps/sagemath-mcp/icon.png b/registry/mcps/sagemath-mcp/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d26ef1922326d20b20c40a3543153be08835801 GIT binary patch literal 24904 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 Ova>#IRd&of{(k{>dW;qT literal 0 HcmV?d00001