Back to Blog
TutorialMay 24, 20266 min read

Connect Claude, Cursor, and Other AI Agents to Mapping.Travel via MCP

By Mapping Engineering

The Mapping MCP server gives AI agents like Claude Desktop, Cursor, and Continue direct access to the mapping.travel platform — uploading inventory, running mapping jobs, searching the golden dataset, filing mismatch reports, and reading the audit log, all through the Model Context Protocol. No SDK, no glue code, no terminal switching.

What MCP Is

Model Context Protocol is an open protocol published by Anthropic that defines how AI clients connect to external tools. The MCP client (Claude Desktop, Cursor, etc.) and the MCP server speak the same protocol, so any compliant client works with any compliant server.

The Mapping MCP server is hosted — it runs at https://mcp.mapping.travel. You don't install or update anything locally. Your client connects over HTTP with an API key in the X-API-Key header; we forward that to the mapping.travel REST API on your behalf.

Requirements

  • A Professional, Professional Max, or Enterprise plan. MCP is gated to paid tiers because it exposes the full automation surface. Standard REST API keys remain available on all tiers including Basic.
  • An MCP-typed API key. These have the prefix mt_mcp_live_ and are issued from the Developers → MCP section of the dashboard.
  • An MCP-compatible client. Claude Desktop, Cursor, and Continue all ship with first-class MCP support; custom agents built with the MCP SDK work too.

Get a Key

  1. Sign in to app.mapping.travel.
  2. Open Developers → MCP from the sidebar.
  3. Click + New Key, give it a name (e.g. "Claude Desktop"), copy the plaintext key. You won't see it again.

Connect Claude Desktop

Claude Desktop currently spawns MCP servers over stdio, so we bridge through the mcp-remote shim. Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mapping-travel": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@0.1.37",
        "https://mcp.mapping.travel/mcp",
        "--header",
        "X-API-Key: mt_mcp_live_..."
      ]
    }
  }
}

Restart Claude Desktop. The Mapping tools appear under the wrench icon — there are 18 of them across 5 categories.

Connect Cursor

Cursor supports the Streamable HTTP transport natively. Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mapping-travel": {
      "url": "https://mcp.mapping.travel/mcp",
      "headers": { "X-API-Key": "mt_mcp_live_..." }
    }
  }
}

Connect Continue

Continue's MCP support lives under experimental for now. Edit ~/.continue/config.json:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "streamable-http",
          "url": "https://mcp.mapping.travel/mcp",
          "headers": { "X-API-Key": "mt_mcp_live_..." }
        }
      }
    ]
  }
}

Available Tools

The agent discovers tools at runtime by calling get_mcp_schemas — that's the source of truth as the surface evolves. As of today, the 18 tools cover:

Inventoryupload_hotel_inventory

Mappingtrigger_mapping_job, check_job_status, list_recent_jobs, get_job_results, get_all_historical_results, download_results, get_historical_mappings

Searchsearch_golden_dataset, search_golden_dataset_by_geo

Statisticsget_coverage_statistics

Reporting & Auditreport_mismatch, update_mismatch_state, list_mismatch_reports, list_duplicate_reports, get_audit_log, set_mapping_mode_preference, get_mcp_schemas

MCP-typed keys are restricted to these endpoints by a server-side allow-list. Billing operations, legal acceptance, supplier writes, and export webhook configuration are off-limits to MCP keys by design — those require a standard API key issued through the same dashboard.

Example Workflows

Map a new inventory file end-to-end without leaving Claude. Drop a CSV onto a conversation and ask: "Upload this as a new inventory file, then run a mapping job in STANDARD mode and tell me when it finishes." Claude calls upload_hotel_inventory, then trigger_mapping_job, then polls check_job_status until the job completes, then summarizes match counts via get_job_results.

Triage mismatches as you find them. While reviewing a recent mapping run, paste a row that looks wrong: "This mapping seems off — file a mismatch report with reason 'name mismatch, location seems wrong'." Claude calls report_mismatch with the right IDs; the report lands in your queue for review.

Look up a hotel in the golden dataset. "Find the canonical entry for 'Hilton Paris Opera' — what's our reference ID?" Claude calls search_golden_dataset and returns the match plus confidence.

Investigate recent activity. "What's happened on this org in the last hour?" Claude calls get_audit_log with sinceIso set to one hour ago and summarizes the events.

Architecture

The hosted MCP server is a stateless HTTP proxy. Each tool call from your agent carries the X-API-Key header; we extract it per-request, forward it unchanged to api.mapping.travel, and return the response. There's no session state on our side and no local cache; revoking a key in the dashboard takes effect on the next call.

Tier enforcement happens at two points: when you issue an MCP key (BASIC org → 403), and on every request (a Professional org that downgrades sees their MCP keys stop authenticating within 30 seconds). The endpoint allow-list is checked on every request too.

When to Use MCP vs. the REST API

Use MCP for interactive and agent-driven workflows — anything where an LLM is reading and reasoning over the data. The protocol is designed for tool-using conversation, not throughput.

Use the direct REST API for high-volume automated pipelines, scheduled batch jobs, and any service that doesn't have a conversational LLM in the loop. The same API key types (STANDARD for REST, MCP for the protocol) are issued from the same dashboard; you can have both in your account at once and meter them separately.

Troubleshooting

401 Unauthorized. Your X-API-Key is missing or invalid. Regenerate from Developers → MCP.

403 MCP_TIER_REQUIRED. Your org's subscription tier is BASIC. Upgrade to Professional or above at /billing.

403 MCP_ENDPOINT_DENIED. You're trying to reach an endpoint outside the MCP allow-list. Use a standard API key from the same dashboard.

Server unreachable. The hosted server may be in maintenance; status page coming soon, otherwise contact support.

Schema mismatch or unknown tool. Your client may be caching an old tool list. Reconnect and have the agent call get_mcp_schemas to refresh.

More