Tomtom
Server Details
TomTom MCP — wraps the TomTom Search & Routing APIs (api.tomtom.com)
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 30.5% over 60 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- pipeworx-io/mcp-tomtom
- GitHub Stars
- 0
- Server Listing
- mcp-tomtom
TDQS
Scored across 40 tools
The three near-identical routers (ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded) are explicitly described as the same engine with experimental/grounding variations, and the four Polymarket tools overlap (partition_overround appears in both polymarket_arbitrage and polymarket_edges). Company-info tools (entity_profile, company_facts, recent_changes, compare_entities, validate_claim) also blur boundaries, though the very long descriptions do help an agent pick correctly in most cases.
Names are uniformly snake_case with a mostly predictable verb_noun or noun_phrase style (resolve_entity, validate_claim, search_poi, company_facts, recent_alerts). The main deviation is the suffix-based ask_pipeworx_beta/_grounded family and the inconsistent verb-vs-noun split, but nothing is chaotic or uses mixed casing.
40 tools is heavy and sits above the comfortable 3-15 band; the breadth (companies, drugs, econ, prediction markets, geo, memory, subscriptions, meta-tools) partly justifies the size. However several tools are thin variants or redundant wrappers rather than distinct capabilities, so the count is larger than the surface genuinely requires.
The set covers a very wide domain surface with proper lifecycle support in the stateful areas (remember/recall/forget; subscribe/list_subscriptions/unsubscribe/recent_alerts) and strong read coverage across data sources. Gaps are minor and mostly single-domain specializations (weather only via kalshi_weather_edge, no generic entity write/list operations), which agents can work around.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
release_calendar_markets2 fields changed- added
Output schema / properties / empty_reasonAdded value: +{ + "description": "Present ONLY on a zero-release window: \"no_releases_in_window\". The window was queried and nothing is scheduled — this is an answer, not a failure.", + "type": "string" +} - added
Output schema / properties / hintAdded value: +{ + "description": "Present ONLY on a zero-release window: what to change (usually a wider `hours`).", + "type": "string" +}
7 tool updates
- Changed
ask_pipeworx3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
ask_pipeworx_beta3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
ask_pipeworx_grounded3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
deep_research8 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / inputAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / promptAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / qAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / queryAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"The research question, in natural language. Broad/multi-part is fine — decomposition is the point."New value: +"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases." - added
Input schema / properties / textAdded value: +{ + "description": "Alias for question.", + "type": "string" +}
- Changed
forget4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to delete"New value: +"Memory key to delete. Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
recall4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to retrieve (omit to list all keys)"New value: +"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
remember9 fields changed- added
Input schema / properties / contentAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / dataAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\")"New value: +"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / textAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / vAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - changed
Input schema / properties / value / descriptionPrevious value: -"Value to store (any text — findings, addresses, preferences, notes)"New value: +"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON."
23 tool updates
- Changed
ai_visibility_check1 field changed- added
Input schema / examplesAdded value: +[ + { + "entity": "Tesla" + } +]
- Changed
ask_pipeworx_beta1 field changed- added
Input schema / examplesAdded value: +[ + { + "question": "What is the current US unemployment rate?" + } +]
- Changed
ask_pipeworx_grounded1 field changed- added
Input schema / examplesAdded value: +[ + { + "question": "What was Apple's fiscal 2023 revenue?" + } +]
- Changed
company_facts5 fields changed- added
Input schema / examplesAdded value: +[ + { + "attribute": "revenue", + "company": "AAPL", + "period": { + "fiscal_year": 2023, + "type": "annual" + } + } +] - added
Input schema / properties / as_ofAdded value: +{ + "description": "Past ISO timestamp with timezone. Replay the latest answer actually recorded by that instant; no invented history or live fallback.", + "type": "string" +} - added
Input schema / properties / exclude_publishersAdded value: +{ + "description": "Publisher ids forbidden for fact retrieval: sec, fmp, alphavantage. Case and surrounding whitespace are normalized; unknown ids are refused. Excluding sec currently leaves no eligible fact source and returns unavailable/sources_excluded with the selection reasons. Identity and fiscal-calendar lookups may still use SEC; no excluded financial concept is fetched.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / freshnessAdded value: +{ + "description": "cached (default) permits an eligible stored answer; fresh requires an upstream refresh and never silently falls back to stale data.", + "enum": [ + "cached", + "fresh" + ], + "type": "string" +} - added
Input schema / properties / max_ageAdded value: +{ + "description": "Maximum age in seconds of the upstream publication, not our fetch. Older or undated facts are withheld.", + "maximum": 3155760000, + "minimum": 0, + "type": "number" +}
- Changed
compare_entities1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "values": [ + "AAPL", + "MSFT" + ] + } +]
- Changed
deep_research1 field changed- added
Input schema / examplesAdded value: +[ + { + "depth": "quick", + "question": "What is the current US unemployment rate and how has it changed over the past year?" + } +]
- Changed
entity_profile1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
generate_llms_txt1 field changed- added
Input schema / examplesAdded value: +[ + { + "url": "https://pipeworx.io" + } +]
- Changed
pipeworx_feedback1 field changed- added
Input schema / examplesAdded value: +[ + { + "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.", + "type": "other" + } +]
- Changed
pipeworx_trending1 field changed- added
Input schema / examplesAdded value: +[ + { + "window": "7d" + } +]
- Changed
polymarket_arbitrage1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "Fed rate decision" + } +]
- Changed
polymarket_edge_tracker1 field changed- added
Input schema / examplesAdded value: +[ + { + "days": 14, + "window": "1wk" + } +]
- Changed
polymarket_edges3 fields changed- added
Input schema / examplesAdded value: +[ + { + "limit": 5, + "window": "1wk" + } +] - changed
Input schema / properties / min_edge_pp / descriptionPrevious value: -"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage."New value: +"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage and Polymarket's own taker fee." - changed
Input schema / properties / slippage_pp / descriptionPrevious value: -"Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading fees as of 2024 but bid/ask + thin depth typically eats 20-50bp per trade. Bump for very thin partitions; drop to 0 if you have a smarter fill model."New value: +"Assumed execution slippage in percentage points per leg (default 0.3), for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kelly sizing, ON TOP OF Polymarket's own taker fee — which is NOT zero (rate 0.04-0.07 depending on category, read off each market's own published fee schedule; see fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fill model — the fee still applies regardless."
- Changed
polymarket_fill_risk1 field changed- added
Input schema / examplesAdded value: +[ + { + "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636", + "side": "buy_yes", + "size_usd": 1000 + } +]
- Changed
recent_changes1 field changed- added
Input schema / examplesAdded value: +[ + { + "since": "30d", + "type": "company", + "value": "AAPL" + } +]
- Changed
remember1 field changed- added
Input schema / examplesAdded value: +[ + { + "key": "target_ticker", + "value": "AAPL" + } +]
- Changed
resolve_entity1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
scan_competitor_ai_presence1 field changed- added
Input schema / examplesAdded value: +[ + { + "entities": [ + "Pipeworx", + "Zapier" + ] + } +]
- Changed
scan_dependency1 field changed- added
Input schema / examplesAdded value: +[ + { + "package": "left-pad" + } +]
- Changed
search_poi1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "_apiKey": "your-tomtom-api-key", - "lat": 40.748, - "lon": -73.985, - "query": "coffee", - "radius": 1000 - }, - { - "_apiKey": "your-tomtom-api-key", - "limit": 5, - "query": "gas station" - } -]New value: +[ + { + "lat": 40.748, + "lon": -73.985, + "query": "coffee", + "radius": 1000 + }, + { + "limit": 5, + "query": "gas station" + } +]
- Changed
search_within1 field changed- added
Input schema / examplesAdded value: +[ + { + "query": "supply-chain risk", + "text": "Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter." + } +]
- Changed
suggest_questions1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "finance" + } +]
- Changed
validate_claim1 field changed- added
Input schema / examplesAdded value: +[ + { + "claim": "Apple's fiscal 2023 revenue was $383 billion" + } +]
5 tool updates
- Added
company_facts - Added
kalshi_weather_edge - Added
release_calendar_markets - Added
resolution_audit - Added
resolution_diff
1 tool update
- Changed
bet_research2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "market": "when-will-bitcoin-hit-150k" - }, - { - "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k" - } -]New value: +[ + { + "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination" + }, + { + "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination" + } +] - changed
Input schema / properties / market / descriptionPrevious value: -"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
2 tool updates
- Changed
bet_research2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "market": "will-bitcoin-reach-100k-in-july-2026" - }, - { - "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026" - } -]New value: +[ + { + "market": "when-will-bitcoin-hit-150k" + }, + { + "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k" + } +] - changed
Input schema / properties / market / descriptionPrevious value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
- Changed
polymarket_kalshi_spread2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "topic": "fed" - }, - { - "topic": "btc" - } -]New value: +[ + { + "topic": "fed" + }, + { + "topic": "btc" + }, + { + "topic": "bitcoin" + }, + { + "topic": "fed rate decision" + } +] - changed
Input schema / properties / topic / descriptionPrevious value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
Related MCP Connectors
OpenTripMap MCP — wraps the OpenTripMap Places API (dev.opentripmap.org)
Geoapify MCP — wraps the Geoapify Location Platform (geoapify.com)
HERE MCP — premium geocoding, places, and TRAFFIC-AWARE routing from HERE
Radar MCP — wraps the Radar Geocoding / Search API (radar.com)
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceGeocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data via MCP.304 npm6Apache 2.0
- MIT
- AlicenseAqualityAmaintenanceProvides seamless access to TomTom's location services including search, routing, traffic and static maps data, enabling easy integration of precise geolocation data into AI workflows and development environments.14326 npm57Apache 2.0
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools for Google Maps services including directions, geocoding, distance matrix, and places search.13Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.