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}}"