{"apiVersion":"v1","directorySlug":"mvmotion-mcp-64fbf34e67","title":"MV Motion","description":"MV Motion Home","pageUrl":"https://www.mcpbundles.com/skills/mvmotion-mcp-64fbf34e67","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://www.mvmotion.com/api/mcp/mcp","hostedMcpUrl":null,"toolCount":48,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.mvmotion/mvmotion-mcp-64fbf34e67","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_global_map_summary","description":"Returns four headline counts for the entire dataset: dataPoints (total RobotaxiData rows on the platform), coveredCities (distinct cities with at least one record), providers (distinct operating companies), and peopleCoverage (sum of metropolitan-area populations that have any robotaxi record). Use for big-picture 'how big is the market overall' questions. Cached up to 1 hour; no inputs needed.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Global robotaxi market snapshot","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_global_map_summary","displayName":"Global robotaxi market snapshot"},{"name":"list_robotaxi_companies","description":"Returns { count, items } where items is every robotaxi operating company tracked in the dataset, alongside the count of RobotaxiData rows that company has. Use `count` for \"how many companies\" — do not tally the array yourself. Use to answer \"who operates robotaxis\" / \"which companies are tracked\" / to discover the canonical company ids needed by other tools. ~5 minute cache; safe to call freely.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"List robotaxi operating companies","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_robotaxi_companies","displayName":"List robotaxi operating companies"},{"name":"list_metropolitan_areas","description":"Returns { count, populationEpoch, items } where items is every metropolitan area tracked in the dataset with id, name, country, state, lat/lng, population (the 2030 GHSL figure — for other years, including 2020/2025/2030 and estimates in between, call get_metro_population_by_year), area, and a hasPolygon flag. Use `count` for \"how many metros\" — do not tally the array yourself. Use as a directory when the user references a city by name and you need the metro id for follow-up tool calls. Cached f","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"List all metropolitan areas","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_metropolitan_areas","displayName":"List all metropolitan areas"},{"name":"list_countries","description":"Returns { count, items } where items is every country tracked in the robotaxi geography hierarchy with id, name, total population, total area in square miles, center coordinates, and counts of metropolitan areas and states. Use `count` for \"how many countries\" — do not tally the array yourself. Use to discover the canonical country ids needed by coverage / region tools. Cached for 5 minutes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"List countries in the geography hierarchy","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_countries","displayName":"List countries in the geography hierarchy"},{"name":"list_states","description":"Returns { count, items } where items is every state (or equivalent sub-national division) tracked, with id, name, parent country reference, population, area, and metro count. Use `count` for \"how many states\" — do not tally the array yourself. Use to discover canonical state ids needed by region-coverage queries. Cached for 5 minutes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"List states / sub-national divisions","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_states","displayName":"List states / sub-national divisions"},{"name":"list_regions","description":"Returns { count, items } where items is every analytic region (group + member countries) — for example \"Middle East\", \"Europe\", \"United States\". Each row includes id, slug, name, member countryIds + countryNames, derived total area, derived center coordinates, and population-by-year. Use `count` for \"how many regions\". To get robotaxi data for a region, take its countryIds and pass them to get_robotaxi_data(countryIds). Cached for 5 minutes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"List analytic regions","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_regions","displayName":"List analytic regions"},{"name":"get_metropolitan_area_by_id","description":"Returns the full metro record (name, country, state, lat/lng, total population — the 2030 GHSL figure — plus the GHSL population for each available year (2020, 2025, 2030), total area in square miles, hasPolygon flag, timestamps). Use after list_metropolitan_areas to drill into a specific metro's detail. For any other calendar year (estimates between the GHSL years) call get_metro_population_by_year. The raw polygon geometry is intentionally omitted — the hasPolygon flag indicates whether covera","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Get full detail for a metropolitan area","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_metropolitan_area_by_id","displayName":"Get full detail for a metropolitan area"},{"name":"get_metro_population_by_year","description":"Returns each metropolitan area's total population for every calendar year in the requested range (default 2020–2030). The dataset holds GHSL population figures for 2020, 2025, 2030 (2020 is historical, 2030 is a forecast); years in between are linear estimates fitted through those figures, and years outside the range use the nearest available year. Each row lists which years are exact, estimated or clamped — always tell the user when a figure is an estimate. Use for \"what was the population of P","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"yearTo":{"type":"integer"},"metroIds":{"type":"array","items":{"type":"string"},"maxItems":120},"yearFrom":{"type":"integer"},"countryIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"title":"Metro population per calendar year (historical + forecast)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_metro_population_by_year","displayName":"Metro population per calendar year (historical + forecast)"},{"name":"list_published_content","description":"Returns paginated metadata for published content (research articles, primers, weekly news). Does NOT include body text — call get_content_by_slug for the full body. Metadata only: id, slug, title, summary, category, type, published date. Use to answer \"what research is available\" / \"latest articles\" / discover slugs for follow-up tools. To find articles by what their BODY says, use search_articles instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","maximum":50,"minimum":1},"types":{"type":"array","items":{"enum":["RESEARCH","PRIMER","WEEKLY_NEWS"],"type":"string"}},"search":{"type":"string"},"categories":{"type":"array","items":{"enum":["AUTONOMOUS_DRIVING","AUTOMOTIVE_AND_EVS","BATTERIES_AND_STORAGE","HUMANOID_ROBOTS"],"type":"string"}}},"additionalProperties":false},"title":"List published research, primers, and weekly news","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_published_content","displayName":"List published research, primers, and weekly news"},{"name":"search_articles","description":"Full-text search over the BODY of published research / primers / weekly news — NOT just titles. Use this (in preference to list_published_content) to find which article(s) cover what the user is asking about, then read the best hit with get_content_by_slug and cite it with an inline [cite:slug] token. ALSO use it as the FALLBACK whenever the robotaxi / chart data tools come up empty for an on-topic question, and for qualitative / explanatory questions — it searches research, primers, AND weekly","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","maximum":10,"minimum":1},"query":{"type":"string","minLength":1},"types":{"type":"array","items":{"enum":["RESEARCH","PRIMER","WEEKLY_NEWS"],"type":"string"}},"categories":{"type":"array","items":{"enum":["AUTONOMOUS_DRIVING","AUTOMOTIVE_AND_EVS","BATTERIES_AND_STORAGE","HUMANOID_ROBOTS"],"type":"string"}}},"additionalProperties":false},"title":"Full-text search across published article bodies","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_articles","displayName":"Full-text search across published article bodies"},{"name":"find_keyword_in_articles","description":"Scan EVERY published research article, primer, and weekly news body for an exact case-insensitive substring — no ranking, no stemming, nothing buried below a top-K cutoff. Returns each article containing the term with occurrence counts and surrounding text snippets. Use when search_articles missed or returned nothing for a specific term (product names, tickers, codes, rare keywords), and ALWAYS before concluding the research catalog does not mention something. Pass the bare distinctive term, not","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["keyword"],"properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"keyword":{"type":"string","maxLength":120,"minLength":2}},"additionalProperties":false},"title":"Literal keyword scan across all published article bodies","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_keyword_in_articles","displayName":"Literal keyword scan across all published article bodies"},{"name":"list_charts","description":"Returns { count, items } where items is every published chart with id, slug, title, description, icon, chart type (LINE/BAR/AREA/PIE), visibility, and publish date. Use `count` for \"how many charts\" — do not tally the array yourself. Use to discover the available chart slugs the chatbot can query, then call query_chart or one of the dynamically-registered get_chart_<slug> tools to fetch the actual chart data. Cached for 10 minutes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"List all published charts","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_charts","displayName":"List all published charts"},{"name":"read_current_page","description":"Returns the full text of the article the user currently has open on screen (research report, primer, or weekly news). Call this whenever the user refers to the page they are on rather than naming an article — e.g. \"what is on this page\", \"summarise this\", \"what does this article say\", \"explain this section\". Takes no arguments: the page is resolved server-side from the request, so you never need a slug and must not guess one. Returns `available: false` when the user is not on an article page, or","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Read the article the user is currently viewing","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"read_current_page","displayName":"Read the article the user is currently viewing"},{"name":"get_robotaxi_data","description":"Returns paginated robotaxi operational rows — one per company × metro × month, with phase, fleet counts (testing / deployment / launching / discontinued), ride flags, coverage, source, booking platforms, and services, all under plain-English keys. Use to answer specific questions like \"show me Waymo rows in San Francisco in 2025\" or, with countryIds, region-scoped questions like \"deployments in the Middle East\" (resolve member countries via list_regions first). NOT for \"which metros / companies","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","minimum":1},"dateTo":{"type":"string"},"phases":{"type":"array","items":{"enum":["TESTING","DEPLOYMENT","IMMINENT_LAUNCH","DISCONTINUED"],"type":"string"}},"search":{"type":"string"},"compact":{"type":"boolean"},"dateFrom":{"type":"string"},"metroIds":{"type":"array","items":{"type":"string"}},"pageSize":{"type":"integer","maximum":500,"minimum":1},"companyIds":{"type":"array","items":{"type":"string"}},"countryIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"title":"Paginated raw robotaxi operational data","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_robotaxi_data","displayName":"Paginated raw robotaxi operational data"},{"name":"get_metro_presence_by_year","description":"THE tool for any \"which markets / metros / cities / companies were present, active or operating in year X\" question, per-year footprint tables, and \"population covered by robotaxi operations per year\". Aggregates the ENTIRE dataset in the database (no paging, nothing dropped) and returns, per calendar year, the distinct metros that had at least one record, each with its country, the metro population RESOLVED FOR THAT YEAR (GHSL figures exist for 2020, 2025, 2030; years in between are interpolate","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"detail":{"enum":["summary","metros","operations"],"type":"string"},"phases":{"type":"array","items":{"enum":["TESTING","DEPLOYMENT","IMMINENT_LAUNCH","DISCONTINUED"],"type":"string"}},"yearTo":{"type":"integer"},"metroIds":{"type":"array","items":{"type":"string"}},"yearFrom":{"type":"integer"},"companyIds":{"type":"array","items":{"type":"string"}},"countryIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"title":"Which metros / companies were active in each year","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_metro_presence_by_year","displayName":"Which metros / companies were active in each year"},{"name":"get_metro_phase_coverage","description":"Returns cached phase-coverage rows for the requested metros: per company, per phase, population reached and area in square miles. Coverage = sum of (population in the company × metro × phase polygon union for the chosen epoch). Cache-read only; missing entries simply do not appear in the result — never triggers a compute path. Use to answer \"how many people does Waymo cover in San Francisco\" / \"compare Cruise vs Zoox coverage in Austin\". Always state the epoch in the answer.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["metropolitanAreaIds"],"properties":{"epoch":{"type":"integer"},"metropolitanAreaIds":{"type":"array","items":{"type":"string"},"maxItems":50,"minItems":1}},"additionalProperties":false},"title":"Per-metro phase coverage (population + area)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_metro_phase_coverage","displayName":"Per-metro phase coverage (population + area)"},{"name":"get_region_coverage","description":"Returns cached coverage rollups at country / state / world scope. Each row has total population + area per phase (deployment / launching / testing / discontinued). Sum the phase populations and divide by the country/state's total population to compute coverage percentage. Use to answer \"what % of US population is covered\" / \"rank countries by robotaxi coverage\". Always state the epoch in the answer.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["scope"],"properties":{"epoch":{"type":"integer"},"scope":{"enum":["WORLD","COUNTRY","STATE","METRO_SET"],"type":"string"},"scopeKeys":{"type":"array","items":{"type":"string"}},"companyIds":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"title":"Country / state / world coverage rollups","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_region_coverage","displayName":"Country / state / world coverage rollups"},{"name":"get_startup_population_snapshot","description":"Returns the canonical pre-computed population-coverage snapshot used by the public robotaxi map on initial load. Contains per metro × company × phase population + area entries for the latest time point, plus historicEntries for the previous few months, and populationMeta (epoch, dataset). Entries reference metros/companies by id — pair with list_metropolitan_areas / list_robotaxi_companies to resolve names. Best one-shot tool for \"what does the latest coverage look like\" questions; returns null","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Pre-computed coverage snapshot (every metro × company × phase)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_startup_population_snapshot","displayName":"Pre-computed coverage snapshot (every metro × company × phase)"},{"name":"get_fleet_and_rides_timeseries","description":"Returns total active-phase fleet count and total rides per bucket (month or quarter), optionally filtered by company and/or metro. DISCONTINUED rows are excluded so the series represents only currently-operating capacity. Use to answer \"how has Waymo's fleet grown over time\" / \"global rides trend last 12 months\". Each point has bucket (ISO date), fleet, rides.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"bucket":{"enum":["month","quarter"],"type":"string"},"dateTo":{"type":"string"},"dateFrom":{"type":"string"},"companyId":{"type":"string"},"metropolitanAreaId":{"type":"string"}},"additionalProperties":false},"title":"Fleet + rides time-series, monthly or quarterly","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_fleet_and_rides_timeseries","displayName":"Fleet + rides time-series, monthly or quarterly"},{"name":"get_company_active_metros","description":"Returns { count, items } where items is the distinct metros where a given company has an active operation (TESTING / IMMINENT_LAUNCH / DEPLOYMENT — DISCONTINUED excluded), ordered by most recent activity first. Each row has metropolitan area id + name, country, state, and the latest activity date. Use `count` for \"how many metros / markets\" — do not tally the array yourself. Use to answer \"where does Waymo operate\" / \"Cruise active markets\".","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["companyId"],"properties":{"companyId":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Where does a company currently operate?","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_company_active_metros","displayName":"Where does a company currently operate?"},{"name":"query_chart","description":"Returns a chart payload (series, axes, available filters, available groupings) for one published chart, optionally with overrides for filterValues / groupingKey / timePeriod. Omit overrides for the fastest, canonical view (matches the dashboard default).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","minLength":1},"timePeriod":{"enum":["monthly","quarterly","annual"],"type":"string"},"groupingKey":{"type":"string"},"filterValues":{"type":"object","additionalProperties":{}}},"additionalProperties":false},"title":"Query a published chart","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"query_chart","displayName":"Query a published chart"},{"name":"get_chart_filters","description":"Returns the available filter definitions for a chart (filter keys, their human-readable labels, value options for select filters, min/max for range filters). Use BEFORE calling query_chart with filterValues so you know the exact keys and allowed values. The option.value field (not option.label) is what gets passed back into query_chart's filterValues.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Discover filter options for a chart","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_filters","displayName":"Discover filter options for a chart"},{"name":"render_chart","description":"Visualize numbers you already obtained from another tool. Call this ONLY after fetching the underlying values from a data tool (`get_fleet_and_rides_timeseries`, `get_robotaxi_data`, `query_chart`, …). Do NOT invent points. Returns a chart payload that the chat UI renders inline using the same Chart.js stack as the public dashboard. The chart is a snapshot of the values you pass — it does NOT re-query the database.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title","chartType","xAxisType","series"],"properties":{"series":{"type":"array","items":{"type":"object","required":["label","data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["x","y"],"properties":{"x":{"type":["string","number"]},"y":{"type":["number","null"]}},"additionalProperties":false},"minItems":1},"color":{"type":"string"},"label":{"type":"string"}},"additionalProperties":false},"maxItems":8,"minItems":1},"dateBin":{"enum":["month","quarter","year"],"type":"string"},"chartType":{"enum":["LINE","BAR","AREA","PIE"],"type":"string"},"xAxisType":{"enum":["date","number","category"],"type":"string"},"xAxisLabel":{"type":"string"},"yAxisLabel":{"type":"string"}},"additionalProperties":false},"title":"Render an inline chart from already-fetched data","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"render_chart","displayName":"Render an inline chart from already-fetched data"},{"name":"render_kpi","description":"Display a single big number as a themed KPI tile inline with the answer. Call this ONLY after fetching the value from a data tool. Combine several render_kpi calls (and optionally render_chart) with HTML+Tailwind layout wrappers in your response to compose a multi-tile dashboard. The tile is a snapshot — passing different values later will not retroactively change the rendered card.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["label","value"],"properties":{"unit":{"type":"string","maxLength":20},"delta":{"type":"object","required":["value","direction"],"properties":{"value":{"type":"string","maxLength":20},"direction":{"enum":["up","down","flat"],"type":"string"}},"additionalProperties":false},"label":{"type":"string","maxLength":80,"minLength":1},"value":{"type":"string","maxLength":40,"minLength":1},"helpText":{"type":"string","maxLength":160}},"additionalProperties":false},"title":"Render an inline KPI tile from an already-fetched value","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"render_kpi","displayName":"Render an inline KPI tile from an already-fetched value"},{"name":"render_sources","description":"SYSTEM/LEGACY tool — you normally do NOT call this. Cite articles with inline [cite:slug] tokens in your prose instead; the system builds the sources card from your tokens automatically (validation, deep links, numbering — all handled). This endpoint remains callable only for legacy flows; if you do call it, pass each slug plus a short word-for-word phrase from the article, and never invent a slug or quote.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["sources"],"properties":{"sources":{"type":"array","items":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","minLength":1},"quote":{"type":"string","minLength":1}},"additionalProperties":false},"minItems":1}},"additionalProperties":false},"title":"Cite research articles with a deep-link to the exact passage","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"render_sources","displayName":"Cite research articles with a deep-link to the exact passage"},{"name":"render_report_links","description":"Turn a list of reports into clickable links. Call this when the user wants to browse, list, or see the latest/recent reports (or a filtered set): after fetching them with list_published_content / search_articles, pass their slugs here (newest first) to render an access-checked card of \"Read the report\" links beneath your prose. The server resolves each slug to its real title + date and gates access (premium reports show locked). Pass ONLY slugs you retrieved this turn; never invent one. This is","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slugs"],"properties":{"slugs":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"additionalProperties":false},"title":"Render a clickable list of report links","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"render_report_links","displayName":"Render a clickable list of report links"},{"name":"get_content_by_slug","description":"Returns a published research article, primer, or weekly news by slug. By default a LONG article comes back as a numbered SECTION OUTLINE (headings + sizes + previews), not the whole body — read only what you need: call again with sections:[i,…] to fetch specific sections, or mode:\"full\" for the entire article. Short articles are returned whole automatically (bodyMode tells you which you got). Access is enforced server-side: when the user cannot read the article you get `{ available: false, reaso","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"mode":{"enum":["outline","full"],"type":"string"},"slug":{"type":"string","minLength":1},"sections":{"type":"array","items":{"type":"integer","minimum":0}}},"additionalProperties":false},"title":"Fetch a published content item by slug","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_content_by_slug","displayName":"Fetch a published content item by slug"},{"name":"list_depots","description":"Returns { count, items } of robotaxi DEPOT FACILITIES (the real-estate sites fleets operate from: parking, charging, cleaning, maintenance). One item per facility — the latest monthly snapshot — with slug, name, tenants (robotaxi companies using it), facility operator, phase (DEPLOYMENT / IMMINENT_LAUNCH / DISCONTINUED), type, vehicle capacity, geography (city / metro / state / country / region) and opening date. Use `count` for \"how many depots\" — do not tally the array. Filters combine with AN","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"city":{"type":"string","minLength":1},"metro":{"type":"string","minLength":1},"phase":{"enum":["DEPLOYMENT","IMMINENT_LAUNCH","DISCONTINUED"],"type":"string"},"query":{"type":"string","minLength":1},"state":{"type":"string","minLength":1},"company":{"type":"string","minLength":1},"country":{"type":"string","minLength":1}},"additionalProperties":false},"title":"List robotaxi depot facilities","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_depots","displayName":"List robotaxi depot facilities"},{"name":"get_depot_details","description":"Returns the full record of one robotaxi depot facility by `slug` (discover slugs via list_depots): tenants, operator, phase, capacity (with estimation note), coordinates, address, project timeline dates (acquisition / permitting / construction / opening), massing (land and build area, floors, parking spaces and bays), indoor/outdoor parking breakdown, energy (chargers, plugs, AC/DC stalls and ports, grid capacity, battery storage, photovoltaics), throughput (cars charged / cleaned / serviced per","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","minLength":1},"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$"}},"additionalProperties":false},"title":"Full record for one depot facility","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_depot_details","displayName":"Full record for one depot facility"},{"name":"get_chart_collisions_over_1_mph_per_million_miles","description":"Dataset tracking reported crashes involving Automated Driving Systems over time, comparing incident frequency with autonomous vehicle miles driven to evaluate safety performance and crash frequency.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Collisions (over 1 mph) per Million Miles","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_collisions_over_1_mph_per_million_miles","displayName":"Collisions (over 1 mph) per Million Miles"},{"name":"get_chart_autonomous_mileage","description":". Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Autonomous Mileage","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_autonomous_mileage","displayName":"Autonomous Mileage"},{"name":"get_chart_robotaxi_depot_capacity","description":"Total vehicle parking capacity across robotaxi depot facilities over time. Defaults to depots in deployment - use the Phase filter to include facilities that are launching. Group by company, region, country, or depot type.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Dedicated Robotaxi Depot Parking Capacity","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_robotaxi_depot_capacity","displayName":"Dedicated Robotaxi Depot Parking Capacity"},{"name":"get_chart_number_of_robotaxi_depots","description":"Number of robotaxi depot facilities over time, from the depot dataset behind the map. Defaults to depots in deployment — use the Phase filter to include facilities that are launching. Group by company, region, country, or depot type.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Number of Robotaxi Depots","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_number_of_robotaxi_depots","displayName":"Number of Robotaxi Depots"},{"name":"get_chart_robotaxi_costs","description":". Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Robotaxi Costs","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_robotaxi_costs","displayName":"Robotaxi Costs"},{"name":"get_chart_population_living_in_geofenced_areas","description":"Time-series representation of MV Motion proprietary database RobotaxiMap.com - The most detailed database of global robotaxi deployments.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Population Living in Geofenced Areas","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_population_living_in_geofenced_areas","displayName":"Population Living in Geofenced Areas"},{"name":"get_chart_robotaxi_rides","description":"Time-series representation of MV Motion proprietary database RobotaxiMap.com - The most detailed database of global robotaxi deployments.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Robotaxi Rides","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_robotaxi_rides","displayName":"Robotaxi Rides"},{"name":"get_chart_robotaxi_fleet_size","description":"Time-series representation of MV Motion proprietary database RobotaxiMap.com - The most detailed database of global robotaxi deployments.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Robotaxi Fleet Size","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_robotaxi_fleet_size","displayName":"Robotaxi Fleet Size"},{"name":"get_chart_number_of_metro_areas","description":"Time-series representation of MV Motion proprietary database RobotaxiMap.com - The most detailed database of global robotaxi deployments.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Number of Metro Areas","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_number_of_metro_areas","displayName":"Number of Metro Areas"},{"name":"get_chart_california_average_trip_distance","description":"Average trip distances, as reported by California Public Utilities Commission.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"California - Average Trip Distance","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_california_average_trip_distance","displayName":"California - Average Trip Distance"},{"name":"get_chart_california_utilization_rate","description":"Monthly utilization rate calculated as share of passenger-carrying vehicle miles traveled on total vehicle miles traveled, as reported by California Public Utilities Commission.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"California - Utilization Rate","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_california_utilization_rate","displayName":"California - Utilization Rate"},{"name":"get_chart_california_daily_trips_per_car","description":"Average trips per car per day of CPUC-certified robotaxi companies. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"California - Daily Trips per Car","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_california_daily_trips_per_car","displayName":"California - Daily Trips per Car"},{"name":"get_chart_beijing_testing_mileage","description":"The chart reports annual autonomous kilometers driven during open-road testing in Beijing, using figures from the Beijing Autonomous Vehicle Road Test Report. The report is published by Beijing’s intelligent connected vehicle testing ecosystem, led by Beijing Innovation Center for Mobility Intelligent, and summarizes licensed test vehicles, companies, mileage and outcomes.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Beijing - Testing Mileage","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_beijing_testing_mileage","displayName":"Beijing - Testing Mileage"},{"name":"get_chart_california_waymo_market_share","description":"This time series shows Waymo’s estimated share of California ride-hailing trips, calculated using Waymo trip data reported to the CPUC and estimated Lyft and Uber trip volumes derived from company earnings calls and reports.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"California - Waymo Market Share","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_california_waymo_market_share","displayName":"California - Waymo Market Share"},{"name":"get_chart_california_testing_miles","description":". Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"California - Testing Miles","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_california_testing_miles","displayName":"California - Testing Miles"},{"name":"get_chart_waymo_miles_as_a_share_of_vmt","description":". Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Waymo - Miles as a Share of VMT","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_waymo_miles_as_a_share_of_vmt","displayName":"Waymo - Miles as a Share of VMT"},{"name":"get_chart_beijing_testing_fleets","description":"The chart reports annual testing fleets driven during open-road testing in Beijing, using figures from the Beijing Autonomous Vehicle Road Test Report. The report is published by Beijing’s intelligent connected vehicle testing ecosystem, led by Beijing Innovation Center for Mobility Intelligent, and summarizes licensed test vehicles, companies, mileage and outcomes.. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For f","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Beijing - Testing Fleets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_beijing_testing_fleets","displayName":"Beijing - Testing Fleets"},{"name":"get_chart_phoenix_modal_share_of_airport_trips","description":"Phoenix Sky Harbor International Airport - Monthly Commercial Ground Transportation Report. Returns the canonical chart payload (series, axes, filters, available groupings) — same data the dashboard shows by default. For filtered / re-grouped / re-bucketed views use query_chart with the chart slug instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Phoenix - Modal Share of Airport Trips","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_phoenix_modal_share_of_airport_trips","displayName":"Phoenix - Modal Share of Airport Trips"},{"name":"get_chart_california_miles_per_intervention","description":"This time series compares supervised and unsupervised autonomous testing miles with disengagement data reported to the California Department of Motor Vehicles. The dataset is used to analyze disengagement frequency relative to miles driven and to assess changes in operational reliability over time. It can also help identify periods where a decline in miles per disengagement may reflect companies expanding testing into more complex or challenging operating environments, rather than simply worseni","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"California - Miles per Intervention","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_chart_california_miles_per_intervention","displayName":"California - Miles per Intervention"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=MV-Motion&config=eyJ1cmwiOiAiaHR0cHM6Ly93d3cubXZtb3Rpb24uY29tL2FwaS9tY3AvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22MV-Motion%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.mvmotion.com%2Fapi%2Fmcp%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22MV-Motion%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.mvmotion.com%2Fapi%2Fmcp%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=MV+Motion&connectorUrl=https%3A%2F%2Fwww.mvmotion.com%2Fapi%2Fmcp%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"MV-Motion\" --url \"https://www.mvmotion.com/api/mcp/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/mvmotion-mcp-64fbf34e67","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/mvmotion-mcp-64fbf34e67/tools/{tool}","mcpServerUrl":"https://www.mvmotion.com/api/mcp/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/mvmotion-mcp-64fbf34e67?live=1"}