paraporoco/Wolfram-MCP
If you are the rightful owner of Wolfram-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Wolfram Language MCP Server integrates powerful mathematical computation capabilities with Claude Desktop using the Model Context Protocol.
Wolfram Language MCP Server
A Model Context Protocol (MCP) server that provides powerful mathematical computation capabilities via Wolfram Language/Mathematica integration. Built with FastMCP for seamless integration with Claude Desktop.
Features
- Mathematical Calculations - Evaluate complex expressions
- Equation Solving - Solve algebraic and differential equations
- Calculus Operations - Integration and differentiation
- Matrix Operations - Linear algebra computations
- Statistical Analysis - Statistical measures and data analysis
- Symbolic Mathematics - Simplify, factor, and expand expressions
- Arbitrary Code Execution - Execute any Wolfram Language code
- Data Visualization Workflow - Generate data with Wolfram, visualize with React/Python
Prerequisites
- Python 3.10+
- Wolfram Mathematica 14.0+ or Wolfram Engine (free for developers)
- Claude Desktop
Installation
1. Install Wolfram Mathematica or Wolfram Engine
Option A: Wolfram Mathematica (Commercial)
- Download from Wolfram Research
Option B: Wolfram Engine (Free for developers)
- Download from Wolfram Engine
- Requires free license activation
2. Install the MCP Server
# Clone the repository
git clone https://github.com/paraporoco/Wolfram-MCP.git
cd Wolfram-MCP
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
3. Configure Claude Desktop
Add to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"wolfram": {
"command": "C:\\Users\\YOUR_USERNAME\\Projects\\Wolfram-MCP\\venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\YOUR_USERNAME\\Projects\\Wolfram-MCP\\wolfram_mcp_server.py"
]
}
}
}
Note: Adjust paths according to your installation location.
4. Verify Installation
Restart Claude Desktop and ask:
Can you test the Wolfram connection?
Claude should use the wolfram_test_connection tool and report success.
Available Tools
| Tool | Description | Example |
|---|---|---|
wolfram_calculate | Evaluate mathematical expressions | 2 + 2, Integrate[x^2, x] |
wolfram_solve | Solve equations | Solve x^2 - 5x + 6 == 0 for x |
wolfram_integrate | Compute integrals | Integrate x^2 with respect to x |
wolfram_differentiate | Compute derivatives | Differentiate x^3 + 2x^2 + x |
wolfram_simplify | Simplify expressions | Simplify (x^2 - 1)/(x - 1) |
wolfram_factor | Factor expressions | Factor x^2 - 5x + 6 |
wolfram_expand | Expand expressions | Expand (x + 1)^3 |
wolfram_matrix_operations | Matrix computations | Inverse of {{1,2},{3,4}} |
wolfram_statistics | Statistical analysis | Mean of {1, 2, 3, 4, 5} |
wolfram_execute | Execute arbitrary Wolfram code | Table[Prime[n], {n, 1, 10}] |
wolfram_test_connection | Test Wolfram connection | Verify setup |
Visualization Workflow
The Wolfram MCP excels at mathematical computation but returns symbolic representations rather than rendered images. For visual graphs and charts, use the hybrid workflow:
Wolfram (Computation) → Data Extraction → Visualization Tool (Rendering)
📖 - Comprehensive documentation on creating beautiful, interactive charts
Quick Example
- Generate data with Wolfram:
Table[{x, Sin[x], Cos[x]}, {x, 0, 2*Pi, 0.1}]
- Visualize with React or Python:
- See for interactive React charts
- See for publication-quality matplotlib plots
📁 - Complete working examples with code
Usage Examples
Basic Mathematics
What is the integral of x^2?
Solve the equation x^2 - 5x + 6 = 0
Advanced Calculus
Find the derivative of sin(x) * cos(x)
Compute the definite integral of x^2 from 0 to 1
Linear Algebra
Calculate the inverse of the matrix {{1,2},{3,4}}
Find the eigenvalues of {{4,1},{2,3}}
Statistics
What is the mean of the dataset {1, 2, 3, 4, 5}?
Calculate the standard deviation of {10, 20, 30, 40, 50}
Symbolic Math
Simplify (x^2 - 1)/(x - 1)
Factor x^2 - 5x + 6
Expand (x + 1)^3
Configuration
The server defaults to using WolframScript at:
C:\Program Files\Wolfram Research\Mathematica\14.0\wolframscript.exe
To use a different version or location, modify the paths in wolfram_mcp_server.py:
WOLFRAM_SCRIPT_PATH = r"C:\Your\Custom\Path\wolframscript.exe"
MATH_KERNEL_PATH = r"C:\Your\Custom\Path\MathKernel.exe"
Troubleshooting
"Wolfram Language Not Found"
- Verify Mathematica/Wolfram Engine is installed
- Check the paths in
wolfram_mcp_server.pymatch your installation - Ensure Wolfram Engine is activated (run
wolframscriptin terminal)
"Connection Test Failed"
- Make sure your Mathematica license is active
- Try running
wolframscript -code "2+2"in your terminal - Check that the executable path is correct
"Execution Timed Out"
- Complex calculations may need more time
- Use
wolfram_executewith a custom timeout parameter - Consider simplifying the expression
Development
Project Structure
Wolfram-MCP/
├── wolfram_mcp_server.py # Main server implementation
├── requirements.txt # Python dependencies
├── README.md # Documentation
├── LICENSE # MIT License
└── venv/ # Virtual environment (not in git)
Running Tests
# Test the connection directly
python wolfram_mcp_server.py
# Use with Claude Desktop to test all tools
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT License - see file for details
Acknowledgments
- Built with FastMCP by Marvin
- Powered by Wolfram Language
- Designed for Claude Desktop
Links
Support
For issues and questions:
- Open an issue on GitHub
- Check existing issues for solutions
- Refer to Wolfram Language documentation for syntax help
Made with ❤️ for the Claude + Wolfram community