Skip to main content
Glama
Wolfram Alpha MCP Server

Wolfram Alpha MCP Server

by henryhawke

Wolfram Alpha MCP Server

A Model Context Protocol (MCP) server that provides access to Wolfram Alpha's computational knowledge engine through natural language queries.

Features

  • 🧮 Mathematical Calculations: Solve equations, perform complex calculations, and work with mathematical formulas

  • šŸ”¬ Scientific Computing: Access physics, chemistry, and scientific data

  • šŸŒ Geographic Information: Get information about countries, cities, and geographic features

  • šŸ“š Knowledge Base: Query facts about history, art, astronomy, and more

  • šŸ“Š Data Analysis: Generate plots, analyze datasets, and perform statistical calculations

  • šŸ”„ Multiple Interpretations: Handle ambiguous queries with assumption-based clarification

Related MCP server: Wolfram Alpha MCP Server

Tools

wolfram_query

Query Wolfram Alpha for computational, mathematical, scientific, and factual information.

This has been invaluable to me as LLMs have such a tough time with math computation so Wolfram Alpha comes in so handy.

Parameters:

  • input (required): The natural language query to send to Wolfram Alpha

  • maxchars (optional): Maximum number of characters in the response (default: 6800)

  • assumption (optional): Assumption to use when Wolfram Alpha provides multiple interpretations

  • units (optional): Unit system preference (e.g., "metric", "imperial")

  • currency (optional): Currency preference for financial calculations

  • countrycode (optional): Country code for localized results

  • languagecode (optional): Language code for results

  • location (optional): Location for location-specific queries

  • timezone (optional): Timezone for time-related calculations

wolfram_query_with_assumptions

Query Wolfram Alpha with specific assumptions when the initial query returns multiple interpretations.

Parameters:

  • input (required): The exact same input from the previous query

  • assumption (required): The assumption value to use from the previous query result

  • maxchars (optional): Maximum number of characters in the response (default: 6800)

Setup

Prerequisites

  1. Node.js: Version 18.0.0 or higher

  2. Wolfram Alpha App ID: Get one from the Wolfram Alpha Developer Portal

Installing via Smithery

To install wolfram-llm-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @henryhawke/wolfram-llm-mcp --client claude

Installation

  1. Clone this repository:

    git clone <repository-url>
    cd wolfram-alpha-mcp-server
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Configuration

Set your Wolfram Alpha App ID as an environment variable:

export WOLFRAM_ALPHA_APP_ID=your_app_id_here

Or create a .env file:

WOLFRAM_ALPHA_APP_ID=your_app_id_here

Getting a Wolfram Alpha App ID

  1. Visit the Wolfram Alpha Developer Portal

  2. Sign up for a Wolfram ID or log in

  3. Go to the "My Apps" tab

  4. Click "Sign up to get your first AppID"

  5. Complete the survey and create your app

  6. Copy your App ID for use with this MCP server

Usage

Running the Server

npm start

Example Queries

  • Mathematics: "solve x^2 + 5x + 6 = 0"

  • Physics: "speed of light in vacuum"

  • Chemistry: "molecular weight of caffeine"

  • Geography: "population of Tokyo"

  • Astronomy: "distance to Andromeda galaxy"

  • History: "when was the Eiffel Tower built"

  • Unit Conversion: "convert 100 fahrenheit to celsius"

  • Financial: "apple stock price"

Handling Multiple Interpretations

When Wolfram Alpha provides multiple interpretations of a query, the server will include available assumptions in the response. You can then use the wolfram_query_with_assumptions tool to get more specific results.

Best Practices

  1. Query Optimization: Convert complex questions to simplified keyword queries when possible

    • Instead of: "how many people live in France"

    • Use: "France population"

  2. Language: Send queries in English only; translate non-English queries before sending

  3. Mathematical Notation: Use proper mathematical notation

    • Use 6*10^14 instead of 6e14

    • Use single-letter variable names with optional subscripts

  4. Units: Include spaces between compound units (e.g., "Ī© m" for "ohm*meter")

Error Handling

The server provides comprehensive error handling for common issues:

  • Invalid App ID: Check your WOLFRAM_ALPHA_APP_ID environment variable

  • Uninterpretable Input: The query cannot be understood by Wolfram Alpha

  • Network Issues: Connection problems with the Wolfram Alpha API

  • Timeouts: Query too complex or service temporarily unavailable

Development

Scripts

  • npm run build: Compile TypeScript to JavaScript

  • npm run dev: Watch mode for development

  • npm start: Run the compiled server

Project Structure

src/
ā”œā”€ā”€ index.ts          # Main server implementation
package.json          # Package configuration and MCP metadata
tsconfig.json         # TypeScript configuration
README.md            # This file

API Reference

This server implements the Model Context Protocol (MCP) specification and uses the Wolfram Alpha LLM API.

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Available Tools

2 tools
wolfram_queryB

Query Wolfram Alpha for computational, mathematical, scientific, and factual information. Supports natural language queries about entities in chemistry, physics, geography, history, art, astronomy, mathematics, and more.

Inputs: input (required), maxchars, assumption, units, +12 more.

wolfram_query_with_assumptionsA

Query Wolfram Alpha with specific assumptions when the initial query returns multiple interpretations. Use this when you need to clarify ambiguous queries.

Inputs: input (required), assumption (required), maxchars.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: wolfram_query handles general queries, while wolfram_query_with_assumptions is specifically for disambiguating queries when multiple interpretations arise. There is no overlap or confusion between them.

    Naming Consistency5/5

    Both tools follow a consistent snake_case naming pattern with 'wolfram_query' as the base, and the second tool adds a descriptive suffix '_with_assumptions'. This makes the naming predictable and easy to understand.

    Tool Count3/5

    With only 2 tools, the server feels thin for a domain as broad as Wolfram Alpha's capabilities (covering computational, mathematical, scientific, and factual information). While the tools cover basic querying and disambiguation, more specialized operations might be expected.

    Completeness4/5

    The tools provide core query functionality and a mechanism for handling ambiguous queries, which covers essential use cases. However, there are minor gaps, such as lack of tools for structured data retrieval, image generation, or step-by-step solutions, which are common in Wolfram Alpha's offerings.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      C
      quality
      D
      maintenance
      Enables querying WolframAlpha's LLM API for natural language questions, providing structured and simplified answers optimized for LLM consumption.
      3
      55
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables users to query Wolfram Alpha's computational knowledge engine through natural language. Provides access to mathematical computations, scientific data, and factual information via the Wolfram Alpha API.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables scientific computing, mathematical problem solving, and step-by-step mathematical solutions through Wolfram Alpha's mobile API. Supports real-time streaming responses and multiple output formats for enhanced mathematical and scientific queries.
      1
      MIT