Extension For
extension_forGet the file extension(s) for a MIME type, e.g. "image/jpeg" -> ["jpg","jpeg"]. Keyless, offline.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mime | Yes | A MIME type, e.g. "application/pdf". |
extension_forGet the file extension(s) for a MIME type, e.g. "image/jpeg" -> ["jpg","jpeg"]. Keyless, offline.
| Name | Required | Description | Default |
|---|---|---|---|
| mime | Yes | A MIME type, e.g. "application/pdf". |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / examplesAdded value: +[
+ {
+ "mime": "image/jpeg"
+ },
+ {
+ "mime": "application/json"
+ }
+]Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so tool is safe. Description adds 'Keyless, offline', which gives additional transparency about no dependencies and network usage, exceeding what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that starts with the action verb and includes a clear example and key attributes (keyless, offline). No superfluous words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple offline lookup with one parameter, the description is sufficient. It covers purpose, example, and unique traits. It could optionally note that the result is a list or mention case sensitivity, but these are minor additions. Given no output schema, the example partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage (one param 'mime' described). Description adds value by showing an example with multiple extensions returned ('jpg','jpeg'), clarifying that the output is a list and that one MIME type can map to several extensions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action: 'Get the file extension(s) for a MIME type' with a concrete example ('image/jpeg' -> ['jpg','jpeg']). It distinguishes from sibling tool 'lookup_mime' (reverse direction), making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies when to use: when you need extensions from a MIME type, especially offline (no network) and without keys. However, it does not explicitly state when not to use or mention alternatives like 'lookup_mime', but the contrast is clear from the example and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Several tools have overlapping purposes, such as the ask_pipeworx family (standard, beta, grounded) and the multiple Polymarket analysis tools (edges, arbitrage, fill_risk, edge_tracker, kalshi_spread, bet_research). The detailed descriptions help differentiate them, but an agent could still misselect between deep_research vs ask_pipeworx or polymarket_edges vs polymarket_arbitrage.
Naming patterns are mixed: many tools use verb_noun (discover_tools, validate_claim, compare_entities), but others are noun_noun (entity_profile, polymarket_edges), single verbs (remember, recall, forget), or unusual forms (extension_for, search_within, ask_pipeworx). The polymarket_ prefix and ask_pipeworx family provide some consistency, but overall the style is not uniform.
33 tools is a large number for the server's scope. While it covers many domains (data querying, entity research, Polymarket analysis, subscriptions, memory, utilities), there is redundancy: three ask_pipeworx variants and six Polymarket-specific tools inflate the count. Several tools could be merged or dropped without losing functionality, making the set feel heavier than necessary.
The toolset covers its core domains well: data querying (ask_pipeworx, deep_research), entity resolution (resolve_entity, entity_profile, compare_entities), Polymarket analysis (research, arbitrage, risk, edges, tracking, cross-venue), subscriptions (subscribe/unsubscribe/list/alerts), memory (remember/recall/forget), and utilities (MIME lookup, dependency scan). Minor gaps exist, such as no direct fetch tool for pipeworx:// citation URIs and no update operation for subscriptions, but these are not critical.