Overview
Computational knowledge engine for math, science, and data analysis.
Setup
Run with npx:
npx -y @modelcontextprotocol/server-wolfram-alphaConfiguration
WOLFRAM_ALPHA_APP_ID environment variableDocumentation
Wolfram Alpha MCP
Overview
Wolfram Alpha MCP is a Model Context Protocol server that provides access to Wolfram Alpha's computational knowledge engine. It enables AI agents to perform complex calculations, data analysis, natural language queries, and access curated computational data across science, mathematics, engineering, and more.
Wolfram Alpha is unique in its ability to compute answers from structured data and algorithms rather than simply retrieving web pages. This makes it invaluable for AI agents that need to perform mathematical computations, analyze data, or access authoritative factual information.
Features
- Computational Queries: Solve math problems, equations, and calculus
- Data Access: Access curated data on chemistry, physics, geography, and more
- Natural Language Processing: Understand and compute from natural language
- Visualization: Generate plots, charts, and diagrams
- Unit Conversion: Convert between units and handle dimensional analysis
- Statistical Analysis: Compute statistics, distributions, and hypothesis tests
- Financial Data: Access stock prices, economic indicators, and financial metrics
- Knowledge Domains: 100+ domains including math, science, geography, health
Installation
npx -y @modelcontextprotocol/server-wolfram-alpha
Or install globally:
npm install -g @modelcontextprotocol/server-wolfram-alpha
Configuration
Add to your Claude Desktop config:
{
"mcpServers": {
"wolfram-alpha": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-wolfram-alpha"],
"env": {
"WOLFRAM_ALPHA_APP_ID": "your-app-id"
}
}
}
}
Get a free App ID from Wolfram Alpha Developer Portal.
Available Tools
| Tool | Description |
|---|---|
compute | Execute a Wolfram Alpha query and get results |
solve | Solve mathematical equations and expressions |
plot | Generate plots and visualizations |
data | Retrieve structured data (elements, countries, etc.) |
convert | Convert units and perform dimensional analysis |
stats | Compute statistical measures and distributions |
finance | Access financial data and calculations |
Usage Examples
Mathematical Computation
from mcp import ClientSession, StdioClientTransport
import asyncio
async def compute():
transport = StdioClientTransport(
command="npx",
args=["-y", "@modelcontextprotocol/server-wolfram-alpha"]
)
async with ClientSession(transport) as session:
await session.initialize()
# Solve an equation
result = await session.call_tool(
"solve",
arguments={"equation": "x^2 + 5x + 6 = 0"}
)
print(f"Solution: {result.solutions}")
# Compute an expression
result = await session.call_tool(
"compute",
arguments={"query": "integral of x^2 sin(x) dx"}
)
print(f"Result: {result.result}")
Data Retrieval
async def get_data():
# Get information about an element
result = await session.call_tool(
"data",
arguments={"entity": "Element:Gold"}
)
print(f"Atomic number: {result.atomic_number}")
print(f"Melting point: {result.melting_point}")
# Get country data
result = await session.call_tool(
"data",
arguments={"entity": "Country:Japan"}
)
print(f"Population: {result.population}")
print(f"GDP: {result.gdp}")
Unit Conversion
async def convert_units():
result = await session.call_tool(
"convert",
arguments={
"from": "100 miles",
"to": "kilometers"
}
)
print(f"100 miles = {result.value} {result.unit}")
# Complex conversion
result = await session.call_tool(
"convert",
arguments={
"from": "60 mph",
"to": "m/s"
}
)
Plotting
async def generate_plot():
result = await session.call_tool(
"plot",
arguments={
"function": "sin(x) * cos(2x)",
"range": "x=0..10",
"format": "png"
}
)
# Returns plot image URL
print(f"Plot URL: {result.image_url}")
Statistical Analysis
async def statistics():
result = await session.call_tool(
"stats",
arguments={
"data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
"computations": ["mean", "median", "std", "variance"]
}
)
print(f"Mean: {result.mean}")
print(f"Median: {result.median}")
print(f"Standard deviation: {result.std}")
Financial Data
async def financial_data():
result = await session.call_tool(
"finance",
arguments={"symbol": "AAPL"}
)
print(f"Current price: {result.price}")
print(f"Market cap: {result.market_cap}")
print(f"PE ratio: {result.pe_ratio}")
Advanced Features
Natural Language Queries
result = await session.call_tool(
"compute",
arguments={"query": "How many calories in an apple?"}
)
print(result.result)
result = await session.call_tool(
"compute",
arguments={"query": "distance from Earth to Mars"}
)
print(result.result)
Complex Calculations
# Matrix operations
result = await session.call_tool(
"compute",
arguments={"query": "inverse of {{1,2},{3,4}}"}
)
# Differential equations
result = await session.call_tool(
"solve",
arguments={"equation": "y'' + y = sin(x)"}
)
# Series expansions
result = await session.call_tool(
"compute",
arguments={"query": "Taylor series of exp(x) at x=0"}
)
Multi-step Computations
# Chain computations
def analyze_dataset(data):
# Statistical summary
stats = session.call_tool("stats", {"data": data})
# Distribution fit
fit = session.call_tool("compute", {"query": f"distribution fit {data}"})
# Visualization
plot = session.call_tool("plot", {"data": data, "type": "histogram"})
return {"stats": stats, "fit": fit, "plot": plot}
Pros
- ✅ Authoritative computational knowledge
- ✅ Handles complex mathematical computations
- ✅ Access to curated structured data
- ✅ Natural language query understanding
- ✅ Wide range of domains (100+)
- ✅ Visualization capabilities
- ✅ Free tier available
Cons
- ❌ Requires Wolfram Alpha App ID
- ❌ Rate limits on free tier
- ❌ Some queries require paid tier
- ❌ Limited to Wolfram's knowledge base
- ❌ Not suitable for real-time data
When to Use
- Mathematical computations — Solve equations, calculus, linear algebra
- Data analysis — Statistical analysis and visualization
- Scientific queries — Physics, chemistry, biology facts
- Unit conversions — Complex dimensional analysis
- Financial analysis — Stock data, economic indicators
- Educational tools — Homework help, concept explanations
- Engineering calculations — Technical computations
