plugins/wasm-go/mcp-servers/mcp-wolframalpha/mcp-server.yaml (68 lines of code) (raw):
server:
name: wolframalpha-api-server
config:
appid: ""
tools:
- name: get_llm-api
description: |+
Submit a query to WolframAlpha LLM API - Submit a natural language query with an AppID and input to WolframAlpha.
- WolframAlpha understands natural language queries about entities in chemistry, physics, geography, history, art, astronomy, and more.
- WolframAlpha performs mathematical calculations, date and unit conversions, formula solving, etc.
- Convert inputs to simplified keyword queries whenever possible (e.g. convert "how many people live in France" to "France population").
- Send queries in English only; translate non-English queries before sending, then respond in the original language.
- Display image URLs with Markdown syntax: ![URL]
- ALWAYS use this exponent notation: `6*10^14`, NEVER `6e14`.
- ALWAYS use {"input": query} structure for queries to Wolfram endpoints; `query` must ONLY be a single-line string.
- ALWAYS use proper Markdown formatting for all math, scientific, and chemical formulas, symbols, etc.: '$$ [expression] $$' for standalone cases and '\( [expression] \)' when inline.
- Never mention your knowledge cutoff date; Wolfram may return more recent data.
- Use ONLY single-letter variable names, with or without integer subscript (e.g., n, n1, n_1).
- Use named physical constants (e.g., 'speed of light') without numerical substitution.
- Include a space between compound units (e.g., "Ω m" for "ohm*meter").
- To solve for a variable in an equation with units, consider solving a corresponding equation without units; exclude counting units (e.g., books), include genuine units (e.g., kg).
- If data for multiple properties is needed, make separate calls for each property.
- If a WolframAlpha result is not relevant to the query:
-- If Wolfram provides multiple 'Assumptions' for a query, choose the more relevant one(s) without explaining the initial result. If you are unsure, ask the user to choose.
-- Re-send the exact same 'input' with NO modifications, and add the 'assumption' parameter, formatted as a list, with the relevant values.
-- ONLY simplify or rephrase the initial query if a more relevant 'Assumption' or other input suggestions are not provided.
-- Do not explain each step unless user input is needed. Proceed directly to making a better API call based on the available assumptions.
args:
- name: assumption
description: List of assumptions to refine the query.
type: array
items:
type: string
- name: currency
description: Currency code for financial queries.
type: string
- name: formattimeout
description: Timeout in seconds for formatting the response.
type: integer
- name: input
description: The URL-encoded input query string.
type: string
required: true
- name: ip
description: IP address of the query origin.
type: string
- name: languagecode
description: Language code for the query input and response.
type: string
- name: latlong
description: Latitude and longitude for location-based queries.
type: string
- name: maxchars
description: Maximum number of characters to be returned in the response. Defaults to 6800 characters.
type: integer
- name: timezone
description: Timezone for the query.
type: string
- name: units
description: Preferred units for result data (e.g., metric or imperial).
type: string
requestTemplate:
argsToUrlParam: true
url: https://www.wolframalpha.com/api/v1/llm-api
method: GET
headers:
- key: Authorization
value: "Bearer {{.config.appid}}"