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
- Sign in to app.mapping.travel.
- Open Developers → MCP from the sidebar.
- 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:
Inventory — upload_hotel_inventory
Mapping — trigger_mapping_job, check_job_status, list_recent_jobs, get_job_results, get_all_historical_results, download_results, get_historical_mappings
Search — search_golden_dataset, search_golden_dataset_by_geo
Statistics — get_coverage_statistics
Reporting & Audit — report_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
- Full connection guide: docs.mapping.travel/mcp/connect
- Tool reference: docs.mapping.travel/mcp/tools
- Pricing: mapping.travel/#pricing