MCP server providing persistent SageMath sessions (Sage REPL over the Model Context Protocol)
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mcp-sage","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-sage An MCP server providing persistent [SageMath](https://www.sagemath.org) sessions to any MCP-compatible host: Claude Code, Claude Desktop, Cursor, or an agent harness such as [mcp-minion](https://github.com/szeider/mcp-solver). Without this server, each SageMath computation runs in isolation: loading a list of graphs, analyzing one, then querying its automorphism group would require reloading the graph file three times. The Sage REPL server maintains state across calls, enabling iterative mathematical exploration. ## Quickstart Installed from [PyPI](https://pypi.org/project/mcp-sage/) (the package is `mcp-sage`; the unrelated `sage-mcp` on PyPI is a different project): ```bash uvx mcp-sage ``` Claude Code / Claude Desktop config (`.mcp.json` or `~/.claude.json`): ```json { "mcpServers": { "sage-repl": { "command": "uvx", "args": ["mcp-sage"] } } } ``` Alternatively, the server is a single file using UV's inline dependency syntax (PEP 723), so a checkout runs without installation: ```bash uv run sage_repl_server.py ``` An optional `--directory /path/to/workdir` argument sets the server's working directory, so that relative paths in Sage code (e.g. a file written by the agent) resolve inside a chosen run folder. ## Tools | Tool | Purpose | |------|---------| | `sage_start` | Create a new named session (auto-created on first `sage_exec` if omitted) | | `sage_exec` | Execute Sage/Python code and return results | | `sage_interrupt` | Send Ctrl+C to stop long-running computations | | `sage_stop` | Terminate a session and release resources | | `sage_list` | Show all active sessions | `sage_exec` returns structured output with separate fields for the expression result, stdout, stderr, and any errors. A configurable timeout (default 60 seconds) prevents hanging on infinite loops. ## Architecture The server drives SageMath through the Jupyter kernel protocol rather than raw subprocess management: reliable prompt detection, cle…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.