WolframAlpha LLM MCP Server
# WolframAlpha LLM MCP Server
<img src="assets/wolfram-llm-logo.png" width="256" alt="WolframAlpha LLM MCP Logo" />
A Model Context Protocol (MCP) server that provides access to WolframAlpha's LLM API. https://products.wolframalpha.com/llm-api/documentation
<div>
<img src="assets/readme-screen-1.png" width="609" alt="WolframAlpha MCP Server Example 1" /><br/><br/>
<img src="assets/readme-screen-2.png" width="609" alt="WolframAlpha MCP Server Example 2" />
</div>
## Features
- Query WolframAlpha's LLM API with natural language questions
- Answer complicated mathematical questions
- Query facts about science, physics, history, geography, and more
- Get structured responses optimized for LLM consumption
- Support for simplified answers and detailed responses with sections
## Available Tools
- `ask_llm`: Ask WolframAlpha a question and get a structured llm-friendly response
- `get_simple_answer`: Get a simplified answer
- `validate_key`: Validate the WolframAlpha API key
## Installation
```bash
git clone https://github.com/Garoth/wolframalpha-llm-mcp.git
npm install
```
## Configuration
1. Get your WolframAlpha API key from [developer.wolframalpha.com](https://developer.wolframalpha.com/)
2. Add it to your Cline MCP settings file inside VSCode's settings (ex. ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
```json
{
"mcpServers": {
"wolframalpha": {
"command": "node",
"args": ["/path/to/wolframalpha-mcp-server/build/index.js"],
"env": {
"WOLFRAM_LLM_APP_ID": "your-api-key-here"
},
"disabled": false,
"autoApprove": [
"ask_llm",
"get_simple_answer",
"validate_key"
]
}
}
}
```
## Development
### Setting Up Tests
The tests use real API calls to ensure accurate responses. To run the tests:
1. Copy the example environment file:
```bash
cp .env.example .env
```
2. Edit `.env` and add your WolframAlpha API key:
```
WOLFRAM_LLM_APP_ID=your-api-key-here
```
Note: The `.env` file is gitignored to prevent committing sensitive information.
3. Run the tests:
```bash
npm test
```
### Building
```bash
npm run build
```
## License
MIT
TDQS
Scored across 3 tools
The tools 'ask_llm' and 'get_simple_answer' have overlapping purposes—both process WolframAlpha queries to return answers, with only subtle differences in output format. An agent could easily confuse them, as the descriptions don't clearly delineate distinct use cases, leading to potential misselection.
The naming follows a consistent snake_case pattern across all tools, with clear verb_noun structures (e.g., ask_llm, get_simple_answer). However, 'validate_key' deviates slightly by not directly involving query processing, though it maintains the same stylistic convention.
With only 3 tools, the count feels thin for a server named 'WolframAlpha LLM MCP Server', which suggests broader functionality. While the tools cover core querying and key validation, the limited number may restrict agent capabilities in handling diverse WolframAlpha tasks.
The tool surface is significantly incomplete for interacting with WolframAlpha's capabilities. It lacks operations for different query types (e.g., computational, visual, step-by-step), error handling, or advanced features, leaving obvious gaps that could cause agent failures in complex scenarios.