Сервер символической алгебры MCP
Sympy-MCP — это сервер Model Context Protocol, позволяющий LLM автономно выполнять символьную математику и компьютерную алгебру. Он предоставляет клиентам MCP многочисленные инструменты из основных функций SymPy для манипулирования математическими выражениями и уравнениями.
Почему?
Языковые модели абсолютно ужасны в символической манипуляции. Они галлюцинируют переменные, создают случайные константы, переставляют термины и вообще создают беспорядок. Но у нас есть системы компьютерной алгебры, специально созданные для символической манипуляции, поэтому мы можем использовать вызов инструментов для организации последовательности преобразований, чтобы символическое ядро выполняло всю тяжелую работу.
Конечно, вы можете заставить LLM генерировать код Mathematica или Python, но если вы хотите использовать LLM в качестве агента или калькулятора «на лету», лучше использовать сервер MCP и предоставлять символьные инструменты напрямую.
Сервер предоставляет подмножество возможностей символьной математики, включая решение алгебраических уравнений, интегрирование и дифференцирование, векторное исчисление, тензорное исчисление для общей теории относительности, а также обыкновенные и частные дифференциальные уравнения.
Например, вы можете попросить его на естественном языке решить дифференциальное уравнение:
Решите затухающий гармонический осциллятор с вынуждающим членом: система масса-пружина-демпфер, описываемая дифференциальным уравнением, где m — масса, c — коэффициент затухания, k — жесткость пружины, а F(t) — внешняя сила.
Loading...
Или с использованием общей теории относительности:
Вычислите след тензора Риччи Loading..., используя обратную метрику Loading... для пространства-времени Анти-де Ситтера, чтобы определить его постоянную скалярную кривизну Loading....
Использование
Сначала вам понадобится УФ .
- Homebrew -
brew install uv
- Curl -
curl -LsSf https://astral.sh/uv/install.sh | sh
Затем вы можете установить и запустить сервер с помощью следующих команд:
Теперь вы должны увидеть сервер, доступный в приложении Claude Desktop. Для других клиентов см. ниже.
Если вам нужна полностью автономная версия, которая запускается одной командой, вы можете использовать следующее. Обратите внимание, что это запуск произвольного кода из Github, поэтому будьте осторожны.
Если вы хотите выполнить расчеты общей теории относительности, вам необходимо установить библиотеку einsteinpy
.
Доступные инструменты
Сервер sympy-mcp предоставляет следующие инструменты для символьной математики:
Инструмент | Идентификатор инструмента | Описание |
---|---|---|
Введение переменной | intro | Вводит переменную с указанными предположениями и сохраняет ее |
Множественные переменные | intro_many | Вводит несколько переменных с указанными предположениями одновременно |
Анализатор выражений | introduce_expression | Анализирует строку выражения, используя доступные локальные переменные, и сохраняет ее |
Латексный принтер | print_latex_expression | Печатает сохраненное выражение в формате LaTeX вместе с переменными предположениями. |
Алгебраический решатель | solve_algebraically | Решает уравнение алгебраически относительно заданной переменной в заданной области |
Линейный решатель | solve_linear_system | Решает систему линейных уравнений |
Нелинейный решатель | solve_nonlinear_system | Решает систему нелинейных уравнений |
Функция Переменная | introduce_function | Вводит функциональную переменную для использования в дифференциальных уравнениях. |
Решатель ОДУ | dsolve_ode | Решает обыкновенное дифференциальное уравнение |
Решатель уравнений в частных производных | pdsolve_pde | Решает уравнение в частных производных |
Стандартная метрика | create_predefined_metric | Создает предопределенную метрику пространства-времени (например, Шварцшильда, Керра, Минковского) |
Метрический поиск | search_predefined_metrics | Поиск доступных предопределенных метрик |
Калькулятор тензора | calculate_tensor | Вычисляет тензоры из метрики (тензоры Риччи, Эйнштейна, Вейля) |
Пользовательская метрика | create_custom_metric | Создает пользовательский метрический тензор из предоставленных компонентов и символов. |
Тензорный LaTeX | print_latex_tensor | Печатает сохраненное выражение тензора в формате LaTeX |
Упроститель | simplify_expression | Упрощает математическое выражение с помощью функции канонизации SymPy |
Замена | substitute_expression | Заменяет переменную выражением в другом выражении. |
Интеграция | integrate_expression | Интегрирует выражение относительно переменной |
Дифференциация | differentiate_expression | Дифференцирует выражение по переменной |
Координаты | create_coordinate_system | Создает трехмерную систему координат для операций векторного исчисления |
Вектор поля | create_vector_field | Создает векторное поле в указанной системе координат. |
Завиток | calculate_curl | Вычисляет ротор векторного поля |
Дивергенция | calculate_divergence | Вычисляет дивергенцию векторного поля |
Градиент | calculate_gradient | Вычисляет градиент скалярного поля |
Конвертер единиц | convert_to_units | Преобразует количество в заданные целевые единицы |
Упрощенный блок | quantity_simplify_units | Упрощает количество с единицами измерения |
Создатель Матрицы | create_matrix | Создает матрицу SymPy из предоставленных данных |
Определитель | matrix_determinant | Вычисляет определитель матрицы |
Обратная матрица | matrix_inverse | Вычисляет обратную матрицу |
Собственные значения | matrix_eigenvalues | Вычисляет собственные значения матрицы |
Собственные векторы | matrix_eigenvectors | Вычисляет собственные векторы матрицы |
По умолчанию переменные предопределены с предположениями (аналогично тому, как работает функция symbols() в SymPy). Если не указано иное, предположения по умолчанию таковы, что переменная является комплексной, коммутативной, термом над комплексным полем Loading....
Свойство | Ценить |
---|---|
commutative | истинный |
complex | истинный |
finite | истинный |
infinite | ЛОЖЬ |
Настройка рабочего стола Клода
Обычно команда mcp install
автоматически добавляет сервер в файл claude_desktop_config.json
. Если этого не произошло, вам нужно найти файл конфигурации и добавить следующее:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавьте следующее к объекту mcpServers
, заменив /ABSOLUTE_PATH_TO_SYMPY_MCP/server.py
на абсолютный путь к файлу sympy-mcp server.py
.
Настройка курсора
В файле ~/.cursor/mcp.json
добавьте следующее, где ABSOLUTE_PATH_TO_SYMPY_MCP
— это путь к файлу sympy-mcp server.py.
Настройка VS-кода
VS Code и VS Code Insiders теперь поддерживают MCP в режиме агента . Для VS Code вам может потребоваться включить Chat > Agent: Enable
в настройках.
- Настройка в один клик:
ИЛИ вручную добавьте конфигурацию в settings.json
(глобальный):
- Нажмите «Пуск» над конфигурацией сервера, откройте файл Python или математический файл, переключитесь в режим агента в чате и попробуйте команды типа «интегрировать x^2» или «решить x^2 = 1», чтобы начать.
Установка Клайна
Для использования с Cline вам необходимо вручную запустить сервер MCP сначала с помощью команд в разделе «Использование». После запуска сервера MCP откройте Cline и выберите «Серверы MCP» вверху.
Затем выберите «Удаленные серверы» и добавьте следующее:
- Имя сервера:
sympy-mcp
- URL-адрес сервера:
http://127.0.0.1:8081/sse
Настройка 5ire
Еще один клиент MCP, поддерживающий несколько моделей (o3, o4-mini, DeepSeek-R1 и т. д.) на бэкэнде — это 5ire.
Чтобы настроить 5ire , откройте 5ire, перейдите в Инструменты -> Создать и установите следующие конфигурации:
- Ключ инструмента:
sympy-mcp
- Имя: SymPy MCP
- Команда:
/opt/homebrew/bin/uv run --with einsteinpy --with mcp[cli] --with pydantic --with sympy mcp run /ABSOLUTE_PATH_TO/server.py
Замените /ABSOLUTE_PATH_TO/server.py
фактическим путем к вашему файлу sympy-mcp server.py.
Работает в контейнере
Вы можете создать и запустить сервер с помощью Docker локально:
Кроме того, вы можете извлечь готовый образ из GitHub Container Registry:
Чтобы настроить Claude Desktop для запуска контейнера Docker, отредактируйте файл claude_desktop_config.json
:
Или использовать готовый контейнер с GitHub:
Эта конфигурация сообщает Claude Desktop о необходимости запуска контейнера Docker при необходимости. Обязательно соберите образ Docker ( docker build -t sympy-mcp .
) перед использованием Claude Desktop с этой конфигурацией.
Другие методы установки также можно адаптировать для работы с Docker, если изменить команду uv на команду docker run.
Пример взаимодействия 1: Дифференциальные уравнения
Вот пример того, как работает вызов инструментов в разговоре с помощником на основе искусственного интеллекта с использованием этого сервера MCP:
Пользователь : Решить затухающий гармонический осциллятор с вынуждающим членом: система масса-пружина-демпфер, описываемая дифференциальным уравнением, где m — масса, c — коэффициент затухания, k — жесткость пружины, а F(t) — внешняя сила.
Loading...
Помощник : (Внутренний вызов инструмента) intro_many
для введения переменных:
Помощник : (Внутренний вызов инструмента) introduce_function
для определения x(t):
Помощник : (Внутренний вызов инструмента) introduce_expression
для создания дифференциального уравнения:
Помощник : (Внутренний вызов инструмента) print_latex_expression
для удобного отображения уравнения:
Результат:
Loading...
Помощник : (Внутренний вызов инструмента) introduce_function
для определения F(t):
Помощник : (Внутренний вызов инструмента) dsolve_ode
для решения дифференциального уравнения:
Результат:
Loading...
Пример взаимодействия 2: Общая теория относительности
Пользователь : Вычислить след тензора Риччи Loading..., используя обратную метрику Loading... для пространства-времени Анти-де Ситтера, чтобы определить его постоянную скалярную кривизну Loading....
Помощник : (Внутренний вызов инструмента) create_predefined_metric
для создания метрики Анти-де Ситтера:
Помощник : (Внутренний вызов инструмента) calculate_tensor
для вычисления тензора Риччи:
Помощник : (Внутренний вызов инструмента) print_latex_tensor
для отображения тензора Риччи:
Результат:
Loading...
Помощник : (Внутренний вызов инструмента) calculate_tensor
для вычисления скаляра Риччи:
Помощник : (Внутренний вызов инструмента) print_latex_tensor
для отображения скаляра Риччи:
Результат:
Loading...
Отказ от ответственности за безопасность
Этот сервер работает на вашем компьютере и предоставляет языковой модели доступ к запуску логики Python. В частности, он использует parse_expr
Sympy для разбора математических выражений, что использует eval
под капотом, фактически позволяя выполнять произвольный код. Запуская сервер, вы доверяете коду, который генерирует Клод. Запуск в образе Docker немного безопаснее, но все равно хорошей идеей будет просмотреть код перед его запуском.
Лицензия
Авторские права 2025 г. Стивен Диль.
Этот проект лицензирован по лицензии Apache 2.0. Подробности смотрите в файле LICENSE .
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Сервер протокола контекста модели, позволяющий магистрам права автономно выполнять символьную математику и компьютерную алгебру с помощью функциональных возможностей SymPy для манипулирования математическими выражениями и уравнениями.
- Почему?
- Использование
- Доступные инструменты
- Настройка рабочего стола Клода
- Настройка курсора
- Настройка VS-кода
- Установка Клайна
- Настройка 5ire
- Работает в контейнере
- Пример взаимодействия 1: Дифференциальные уравнения
- Пример взаимодействия 2: Общая теория относительности
- Отказ от ответственности за безопасность
- Лицензия
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.Last updated -1313TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to perform precise numerical calculations by evaluating mathematical expressions.Last updated -148PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that connects LLMs to the Compiler Explorer API, enabling them to compile code, explore compiler features, and analyze optimizations across different compilers and languages.Last updated -Python
- AsecurityFlicenseAqualityA Model Context Protocol server that allows LLMs to interact with Python environments, execute code, and manage files within a specified working directory.Last updated -98Python