SageMath — MCP-сервер для Claude Code: что делает и как установить
MCP-сервер, который даёт агенту песочницу SageMath с сохранением состояния: 40 инструментов для символьной математики и проверка заявленных результатов.
claude mcp add sagemath-mcp -- uvx sagemath-mcpЧто делает SageMath
Каждая MCP-сессия получает собственный worker-процесс Sage, поэтому переменные, функции и предположения переживают переход от вызова к вызову. Внутри 40 инструментов: символьное дифференцирование и интегрирование, теория чисел, линейная алгебра, дифференциальные уравнения, графики, комбинаторика, группы, эллиптические кривые. Отдельно стоит verify_claim — он прогоняет заявленный результат по лестнице доказательств и отвечает proved, refuted, supported или undecided, приложив обоснование.
Код вызывающего по умолчанию закрыт: импорты, интерфейсы к внешним CAS, работа с файлами и отрисовка не проходят. Политика пропускает 98.9% из 438 124 документированных примеров самой SageMath, каждый отказ привязан к именованному правилу. Ставится через pip install "sagemath-mcp[passagemath]" на Python 3.12 — около 1 ГБ, без Docker и без сборки Sage.
На 3.13 и новее пакет memory-allocator компилируется из исходников, а для этого нужен C-компилятор; uvx без --python берёт самый свежий Python и на установке падает. macOS и Linux работают, на Windows нативный запуск частичный, там нужен контейнер или WSL. Ещё момент: pip-версия крутится с вашими правами, так что для чужого кода или общей машины берите контейнер.
Какие задачи решает
- посчитать интеграл или предел, не уходя из чата в Sage REPL
- сохранить переменные и предположения между вызовами инструментов
- перепроверить готовое утверждение через
verify_claim - построить график функции или граф группы по описанию
- разложить большое число на множители и посмотреть на простые делители
Примеры запросов агенту
- Разложи 2^67 − 1 на множители и скажи, какие из делителей простые
- Объяви x вещественным и посчитай предел sin(x)/x при x → 0
- Прогони
verify_claimна утверждении, что многочлен x^4+1 неприводим над Q
Как установить SageMath
Командой платформы
claude mcp add sagemath-mcp -- uvx sagemath-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from sagemath-mcp <команда>
Командой платформы
codex mcp add sagemath -- uvx sagemath-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from sagemath-mcp <команда>
Файл настроек
{
"mcpServers": {
"sagemath": {
"command": "uvx",
"args": [
"sagemath-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from sagemath-mcp <команда>
Файл настроек
{
"servers": {
"sagemath": {
"type": "stdio",
"command": "uvx",
"args": [
"sagemath-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from sagemath-mcp <команда>
Командой платформы
gemini mcp add sagemath uvx sagemath-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from sagemath-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о SageMath
Как установить SageMath MCP в Claude Code?
Одной командой: claude mcp add sagemath-mcp -- uvx sagemath-mcp. Она регистрирует сервер под именем sagemath-mcp и запускает его через uvx.
Что делает SageMath MCP?
Даёт агенту 40 инструментов SageMath в песочнице: считает символьные выражения, проверяет утверждения, рисует графики. Состояние сессии держится между вызовами.
Какой Python нужен для работы?
Python 3.12: на нём сервер проходит CI, и только для него все зависимости приезжают готовыми колёсами. На 3.13 и новее memory-allocator собирается из исходников, поэтому нужен C-компилятор.