Servidor MCP de álgebra simbólica
Sympy-MCP es un servidor de Protocolo de Contexto de Modelo que permite a los LLM realizar matemáticas simbólicas y álgebra computacional de forma autónoma. Ofrece numerosas herramientas de la funcionalidad principal de SymPy a clientes MCP para manipular expresiones y ecuaciones matemáticas.
¿Por qué?
Los modelos de lenguaje son pésimos en la manipulación simbólica. Alucinan variables, inventan constantes aleatorias, permutan términos y, en general, crean un caos. Pero contamos con sistemas de álgebra computacional diseñados específicamente para la manipulación simbólica, lo que nos permite usar herramientas para orquestar una secuencia de transformaciones, de modo que el núcleo simbólico se encargue de todo el trabajo pesado.
Si bien es posible hacer que un LLM genere código Mathematica o Python, si desea utilizar el LLM como agente o calculadora sobre la marcha, es una mejor experiencia utilizar el servidor MCP y exponer las herramientas simbólicas directamente.
El servidor expone un subconjunto de capacidades de matemática simbólica que incluyen resolución de ecuaciones algebraicas, integración y diferenciación, cálculo vectorial, cálculo tensorial para relatividad general y ecuaciones diferenciales tanto ordinarias como parciales.
Por ejemplo, puedes pedirle en lenguaje natural que resuelva una ecuación diferencial:
Resuelva el oscilador armónico amortiguado con término de forzamiento: el sistema masa-resorte-amortiguador descrito por la ecuación diferencial donde m es masa, c es el coeficiente de amortiguamiento, k es la constante del resorte y F(t) es una fuerza externa.
Loading...
O involucrando la relatividad general:
Calcula la traza del tensor de Ricci Loading... usando la métrica inversa Loading... para el espacio-tiempo Anti-de Sitter para determinar su curvatura escalar constante Loading....
Uso
Primero necesitas rayos ultravioleta .
- Homebrew -
brew install uv
- Curl -
curl -LsSf https://astral.sh/uv/install.sh | sh
Luego puedes instalar y ejecutar el servidor con los siguientes comandos:
Debería ver el servidor disponible en la aplicación Claude Desktop. Para otros clientes, consulte a continuación.
Si quieres una versión completamente independiente que se ejecute con un solo comando, puedes usar lo siguiente. Ten en cuenta que se ejecuta código arbitrario de Github, así que ten cuidado.
Si desea realizar cálculos de relatividad general, necesita instalar la biblioteca einsteinpy
.
Herramientas disponibles
El servidor sympy-mcp proporciona las siguientes herramientas para matemáticas simbólicas:
Herramienta | Identificación de la herramienta | Descripción |
---|---|---|
Introducción de variables | intro | Introduce una variable con supuestos específicos y la almacena |
Variables múltiples | intro_many | Introduce múltiples variables con supuestos específicos simultáneamente |
Analizador de expresiones | introduce_expression | Analiza una cadena de expresión utilizando variables locales disponibles y la almacena |
Impresora LaTeX | print_latex_expression | Imprime una expresión almacenada en formato LaTeX, junto con suposiciones variables |
Solucionador algebraico | solve_algebraically | Resuelve una ecuación algebraicamente para una variable dada en un dominio dado |
Solucionador lineal | solve_linear_system | Resuelve un sistema de ecuaciones lineales |
Solucionador no lineal | solve_nonlinear_system | Resuelve un sistema de ecuaciones no lineales |
Variable de función | introduce_function | Introduce una variable de función para su uso en ecuaciones diferenciales. |
Solucionador de EDO | dsolve_ode | Resuelve una ecuación diferencial ordinaria |
Solucionador de EDP | pdsolve_pde | Resuelve una ecuación diferencial parcial |
Métrica estándar | create_predefined_metric | Crea una métrica espacio-temporal predefinida (por ejemplo, Schwarzschild, Kerr, Minkowski) |
Búsqueda métrica | search_predefined_metrics | Busca métricas predefinidas disponibles |
Calculadora de tensores | calculate_tensor | Calcula tensores a partir de una métrica (tensores de Ricci, Einstein, Weyl) |
Métrica personalizada | create_custom_metric | Crea un tensor métrico personalizado a partir de los componentes y símbolos proporcionados |
Tensor LaTeX | print_latex_tensor | Imprime una expresión tensorial almacenada en formato LaTeX |
Simplificador | simplify_expression | Simplifica una expresión matemática utilizando la función canonicalize de SymPy |
Sustitución | substitute_expression | Sustituye una variable con una expresión en otra expresión |
Integración | integrate_expression | Integra una expresión con respecto a una variable |
Diferenciación | differentiate_expression | Derivamos una expresión con respecto a una variable |
Coordenadas | create_coordinate_system | Crea un sistema de coordenadas 3D para operaciones de cálculo vectorial. |
Campo vectorial | create_vector_field | Crea un campo vectorial en el sistema de coordenadas especificado |
Rizo | calculate_curl | Calcula el rizo de un campo vectorial |
Divergencia | calculate_divergence | Calcula la divergencia de un campo vectorial |
Gradiente | calculate_gradient | Calcula el gradiente de un campo escalar |
Convertidor de unidades | convert_to_units | Convierte una cantidad a unidades objetivo dadas |
Simplificador de unidades | quantity_simplify_units | Simplifica una cantidad con unidades. |
Creador de matrices | create_matrix | Crea una matriz SymPy a partir de los datos proporcionados |
Determinante | matrix_determinant | Calcula el determinante de una matriz |
Matriz inversa | matrix_inverse | Calcula la inversa de una matriz |
Valores propios | matrix_eigenvalues | Calcula los valores propios de una matriz |
vectores propios | matrix_eigenvectors | Calcula los vectores propios de una matriz |
Por defecto, las variables se predefinen con supuestos (similar al funcionamiento de la función symbols() en SymPy). A menos que se especifique lo contrario, se asume por defecto que una variable es compleja y conmutativa, con un término en el cuerpo complejo Loading....
Propiedad | Valor |
---|---|
commutative | verdadero |
complex | verdadero |
finite | verdadero |
infinite | FALSO |
Configuración del escritorio de Claude
Normalmente, el comando mcp install
agregará automáticamente el servidor al archivo claude_desktop_config.json
. Si no es así, busque el archivo de configuración y agregue lo siguiente:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
Agregue lo siguiente al objeto mcpServers
, reemplazando /ABSOLUTE_PATH_TO_SYMPY_MCP/server.py
con la ruta absoluta al archivo sympy-mcp server.py
.
Configuración del cursor
En su ~/.cursor/mcp.json
, agregue lo siguiente, donde ABSOLUTE_PATH_TO_SYMPY_MCP
es la ruta al archivo sympy-mcp server.py.
Configuración de VS Code
VS Code y VS Code Insiders ahora admiten MCP en modo agente . Para VS Code, es posible que deba habilitar Chat > Agent: Enable
en la configuración.
- Configuración con un solo clic:
O agregue manualmente la configuración a su settings.json
(global):
- Haga clic en "Iniciar" sobre la configuración del servidor, abra un archivo Python o matemático, cambie al modo agente en el chat y pruebe comandos como "integrar x^2" o "resolver x^2 = 1" para comenzar.
Configuración de Cline
Para usar Cline , primero debe ejecutar manualmente el servidor MCP con los comandos de la sección "Uso". Una vez que el servidor MCP esté en ejecución, abra Cline y seleccione "Servidores MCP" en la parte superior.
Luego seleccione “Servidores remotos” y agregue lo siguiente:
- Nombre del servidor:
sympy-mcp
- URL del servidor:
http://127.0.0.1:8081/sse
Configuración de 5ire
Otro cliente MCP que admite múltiples modelos (o3, o4-mini, DeepSeek-R1, etc.) en el backend es 5ire.
Para configurar con 5ire , abra 5ire y vaya a Herramientas -> Nuevo y configure las siguientes configuraciones:
- Clave de herramienta:
sympy-mcp
- Nombre: SymPy MCP
- Comando:
/opt/homebrew/bin/uv run --with einsteinpy --with mcp[cli] --with pydantic --with sympy mcp run /ABSOLUTE_PATH_TO/server.py
Reemplace /ABSOLUTE_PATH_TO/server.py
con la ruta real a su archivo sympy-mcp server.py.
Corriendo en contenedor
Puede construir y ejecutar el servidor usando Docker localmente:
Alternativamente, puede extraer la imagen prediseñada de GitHub Container Registry:
Para configurar Claude Desktop para que inicie el contenedor Docker, edite su archivo claude_desktop_config.json
:
O utilizar el contenedor prediseñado desde GitHub:
Esta configuración indica a Claude Desktop que inicie el contenedor Docker cuando sea necesario. Asegúrese de compilar la imagen de Docker ( docker build -t sympy-mcp .
) antes de usar Claude Desktop con esta configuración.
Los otros métodos de instalación también se pueden adaptar para funcionar con Docker si cambia el comando uv para utilizar el comando docker run en su lugar.
Ejemplo de interacción 1: ecuaciones diferenciales
A continuación se muestra un ejemplo de cómo funciona la llamada de herramientas en una conversación con un asistente de IA que utiliza este servidor MCP:
Usuario : Resuelva el oscilador armónico amortiguado con término de forzamiento: el sistema masa-resorte-amortiguador descrito por la ecuación diferencial donde m es masa, c es el coeficiente de amortiguamiento, k es la constante del resorte y F(t) es una fuerza externa.
Loading...
Asistente : (Llamada a herramienta interna) intro_many
para introducir variables:
Asistente : (Llamada a la herramienta interna) introduce_function
para definir x(t):
Asistente : (Llamada a la herramienta interna) introduce_expression
para crear la ecuación diferencial:
Asistente : (Llamada a la herramienta interna) print_latex_expression
para mostrar la ecuación correctamente:
Resultado:
Loading...
Asistente : (Llamada a la herramienta interna) introduce_function
para definir F(t):
Asistente : (Llamada a la herramienta interna) dsolve_ode
para resolver la ecuación diferencial:
Resultado:
Loading...
Ejemplo de interacción 2: Relatividad general
Usuario : Calcule la traza del tensor de Ricci Loading... usando la métrica inversa Loading... para el espacio-tiempo Anti-de Sitter para determinar su curvatura escalar constante Loading....
Asistente : (Llamada a la herramienta interna) create_predefined_metric
para crear la métrica Anti-de Sitter:
Asistente : (Llamada a la herramienta interna) calculate_tensor
para calcular el tensor de Ricci:
Asistente : (Llamada a la herramienta interna) print_latex_tensor
para mostrar el tensor de Ricci:
Resultado:
Loading...
Asistente : (Llamada a la herramienta interna) calculate_tensor
para calcular el escalar de Ricci:
Asistente : (Llamada a la herramienta interna) print_latex_tensor
para mostrar el escalar de Ricci:
Resultado:
Loading...
Descargo de responsabilidad de seguridad
Este servidor se ejecuta en tu ordenador y permite que el modelo de lenguaje ejecute la lógica de Python. En particular, utiliza parse_expr
de Sympy para analizar expresiones matemáticas, que a su vez utiliza eval
internamente, lo que permite la ejecución de código arbitrario. Al ejecutar el servidor, confías en el código que genera Claude. Ejecutar en la imagen de Docker es un poco más seguro, pero aun así es recomendable revisar el código antes de ejecutarlo.
Licencia
Derechos de autor 2025 Stephen Diehl.
Este proyecto está licenciado bajo la licencia Apache 2.0. Consulte el archivo de licencia para obtener más información.
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
Un servidor de protocolo de contexto de modelo que permite a los LLM realizar de forma autónoma matemáticas simbólicas y álgebra computacional a través de la funcionalidad de SymPy para manipular expresiones y ecuaciones matemáticas.
- ¿Por qué?
- Uso
- Herramientas disponibles
- Configuración del escritorio de Claude
- Configuración del cursor
- Configuración de VS Code
- Configuración de Cline
- Configuración de 5ire
- Corriendo en contenedor
- Ejemplo de interacción 1: ecuaciones diferenciales
- Ejemplo de interacción 2: Relatividad general
- Descargo de responsabilidad de seguridad
- Licencia
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