{
  "markdown": "# travel.art MCP server\n\nModel Context Protocol server for [travel.art](https://travel.art/) — art-tourism data (biennales, art fairs, museum visitor guides) exposed to AI agents.\n\nLive at **https://mcp.travel.art/**. Public, unauthenticated, free.\n\n## What it does\n\nFour tools, accessible via MCP Streamable HTTP (request/response mode, JSON-RPC 2.0 over HTTP POST):\n\n### `find_art_events`\n\nSearch travel.art's catalogue of biennales, art fairs, and festivals.\n\n```json\n{\n  \"name\": \"find_art_events\",\n  \"arguments\": {\n    \"query\": \"biennale\",      // optional free-text\n    \"country\": \"IT\",          // optional ISO 3166-1 alpha-2\n    \"type\": \"art-fair\",       // optional: biennale | art-fair | festival\n    \"activeOn\": \"2026-06-20\",  // optional ISO 8601 date\n    \"startsAfter\": \"2026-09-01\",\n    \"endsBefore\": \"2026-12-31\"\n  }\n}\n```\n\nReturns events with dates, venues, ticket info, summaries, and the canonical `guideUrl` linking to travel.art's full editorial visitor guide.\n\n### `find_museum_guide`\n\nSearch travel.art's catalogue of museum visitor guides.\n\n```json\n{\n  \"name\": \"find_museum_guide\",\n  \"arguments\": {\n    \"query\": \"louvre\",\n    \"city\": \"Paris\",\n    \"country\": \"FR\"\n  }\n}\n```\n\nReturns museums with current 2026 ticket info (including the Louvre's two-tier €22 EU / €32 non-EU pricing under *Louvre Nouvelle Renaissance*), opening hours, essential works in viewing order, route durations, and `guideUrl` to the full guide.\n\n### `find_layover_itinerary`\n\nSearch travel.art's catalogue of 3–6 hour art-focused layover plans from major European hub airports.\n\n```json\n{\n  \"name\": \"find_layover_itinerary\",\n  \"arguments\": {\n    \"query\": \"caravaggio\",        // optional free-text\n    \"city\": \"Rome\",               // optional\n    \"country\": \"IT\",              // optional\n    \"airport\": \"FCO\",             // optional IATA code (e.g., MXP, CDG, AMS)\n    \"maxDurationHours\": 4         // optional ceiling\n  }\n}\n```\n\nReturns itineraries with airports served, time-on-ground budget, art focus (artist / museum / theme), key venues, 2026-verified highlights (booking rules, Monday-closure traps, transit math), and `guideUrl` to the full hour-by-hour guide.\n\n### `recommend_art_trip`\n\nRecommend an art-tourism itinerary for a city. Grounded only in travel.art's published content — no fabrication.\n\n```json\n{\n  \"name\": \"recommend_art_trip\",\n  \"arguments\": {\n    \"city\": \"Florence\",\n    \"startDate\": \"2026-06-15\",\n    \"endDate\": \"2026-06-18\"\n  }\n}\n```\n\nReturns events active during the trip dates plus museum guides for the city, with `guideUrl` for each.\n\n## Quick test\n\n```bash\n# Health check\ncurl https://mcp.travel.art/health\n\n# List tools (MCP)\ncurl -X POST https://mcp.travel.art/ \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}'\n\n# Call a tool\ncurl -X POST https://mcp.travel.art/ \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"find_art_events\",\"arguments\":{\"country\":\"IT\"}}}'\n```\n\n## Configure your MCP client\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or the Windows/Linux equivalent:\n\n```json\n{\n  \"mcpServers\": {\n    \"travel-art\": {\n      \"url\": \"https://mcp.travel.art/\"\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The three tools should appear in the available tools list.\n\n### Cursor, Continue, mcp-inspector, your own agent\n\nAny MCP-capable client that supports Streamable HTTP transport works the same way — point it at `https://mcp.travel.art/`.\n\n### Run locally over stdio\n\nThe same catalogue and the same three tools are also available as a local **stdio** MCP server, for clients that prefer a spawned process over a remote URL (and so directory evaluators can introspect the server without hitting the hosted endpoint):\n\n```bash\ngit clone https://github.com/alexzavialov/travel-art-mcp.git\ncd travel-art-mcp\nnpm install\nnpm start          # → npx tsx src/stdio.ts\n```\n\nTo wire it into Claude Desktop as a local server instead of the remote URL:\n\n```json\n{\n  \"mcpServers\": {\n    \"travel-art\": {\n      \"command\": \"npx\",\n      \"args\": [\"tsx\", \"src/stdio.ts\"]\n    }\n  }\n}\n```\n\nThe stdio server is functionally identical to the hosted endpoint — same `tools.ts`, same `data.ts`.\n\n## Catalogue\n\nAs of the latest publish:\n\n- **Art events (22):** 6 cornerstone events (Whitney Biennial, Venice Biennale, Art Basel Switzerland/Paris/Miami, Frieze London) + 16 catalogue events spanning 4 continents — Sydney/Yokohama/Gwangju/Lyon/Manifesta-16 Ruhr biennales; Art Basel Hong Kong, Frieze NY/Seoul, EXPO Chicago, TEFAF NY, The Armory Show, 1-54 London, Art SG art fairs; Rothko/Florence, Raphael/Met, Duchamp/MoMA museum exhibitions\n- **Museum essentials (12):** The Louvre, Musée d'Orsay, Vatican Museums + Sistine Chapel, Galleria degli Uffizi, Museo del Prado, British Museum, The Met, MoMA, Reina Sofía, Rijksmuseum, Van Gogh Museum, Tate Modern\n- **Layover itineraries (6):** Milan (Leonardo, 5h MXP/LIN), Rome (Caravaggio, 4h FCO/CIA), Florence (Renaissance, 6h FLR/PSA), Amsterdam (Rijks + Van Gogh, 4h AMS), Paris (Louvre lightning, 3h CDG/ORY), London (BM + Tate, 5h LHR/LGW/STN/LTN/LCY)\n- **Growing weekly** as new cornerstone articles publish on travel.art\n\nEach record includes a `lastVerified` ISO date; AI agents that weight freshness can prefer recently-verified records.\n\n## Source\n\n```\nsrc/\n  index.ts        # Worker entry — MCP HTTP protocol (JSON-RPC 2.0), GET info page, /health, /robots.txt\n  stdio.ts        # Local stdio entry — same tools over MCP stdio transport (@modelcontextprotocol/sdk)\n  tools.ts        # Tool definitions + handlers (shared by both entries)\n  data.ts         # Static dataset (typed events + museums)\npackage.json\ntsconfig.json\nwrangler.toml     # Cloudflare Workers config\n```\n\nStack: TypeScript. Two transports share one codebase: the **hosted** entry (`index.ts`) implements MCP HTTP (JSON-RPC 2.0) directly for Cloudflare Workers compatibility; the **local** entry (`stdio.ts`) uses `@modelcontextprotocol/sdk` over stdio. Both serve identical tools from `tools.ts` + `data.ts`.\n\n## Deploy your own copy\n\n```bash\ngit clone https://github.com/alexzavialov/travel-art-mcp.git\ncd travel-art-mcp\nnpm install\nnpx wrangler login                            # if not already\nnpx wrangler deploy\n```\n\nYou'll need a Cloudflare account (free tier is sufficient — 100k requests/day).\n\nTo bind to a custom domain, update `wrangler.toml` with a `routes` entry, OR use the Cloudflare dashboard's *Workers → your-worker → Settings → Triggers* to add a Custom Domain.\n\n## Contributing\n\nIssues and pull requests welcome.\n\nThe catalogue (`src/data.ts`) is hand-curated from published cornerstone articles on travel.art. Patches that add new events, museums, or destinations should ideally come with a corresponding visitor guide on travel.art so the `guideUrl` link resolves to substantive content — but exceptions for high-quality factual data (with primary sources cited) are considered.\n\n## License\n\n[MIT](LICENSE). Use it, fork it, deploy your own copy with your own catalogue.\n\n## Contact\n\n- Server-side issues / data corrections: <a href=\"mailto:mcp@travel.art\">mcp@travel.art</a>\n- General travel.art editorial: <a href=\"mailto:editor@travel.art\">editor@travel.art</a>\n- Project home: [travel.art](https://travel.art/)\n- Privacy policy: [travel.art/privacy/](https://travel.art/privacy/)\n",
  "bytes": 7415,
  "sha": "22591e2648f279e8aee7e495562770f7748fa0560c8fb3ba78badac7ed4890fe",
  "repo_slug": "alexzavialov/travel-art-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_art_travel_mcp_35d9a731/readme"
}