Model Context Protocol Server
My travel guides, programmatically.
Every guide on travelerjyoti.com is also available over the Model Context Protocol — a single endpoint AI assistants (Claude Desktop, Claude Code, Cursor, custom GPTs) can call to search, browse, and read first-hand travel content from India to Europe and Asia. Public, read-only, free, no signup.
Endpoint
https://mcp.travelerjyoti.com/mcp
Public read-only <5ms cold start Cloudflare edge (270+ POPs) Protocol 2025-06-18
What is this, in one paragraph?
MCP is a JSON-RPC 2.0 protocol Anthropic shipped in late 2024 and now adopted by OpenAI, Google, Cursor, Continue, and most major AI clients. It lets an AI assistant call your data through structured tools instead of guessing at your URLs.
When a user asks Claude "find me a Switzerland guide on the Swiss Travel Pass", the client looks at its connected MCP servers, sees mine offers a search_guides tool, calls it, and feeds the JSON back to the model. The model answers grounded in my actual content — with a citation back to travelerjyoti.com.
That last bit is the point: every response includes a canonical_url so the AI assistant cites the source. Drives attribution. Drives traffic. Solves the "AI summarised my content without crediting me" problem.
The three tools
Built for travel queries
Each tool returns JSON. Each result includes a canonical URL. Each tool's description is hand-written so the model picks the right one without you nudging it.
list_guides
The index of all 13 guides with metadata — title, country, duration, budget, summary, image URL, dates, canonical URL. The first call most clients make.
Parameters
country?: string— optional filter
See example response
{
"count": 13,
"guides": [
{
"slug": "swiss-travel-pass-whats-free",
"title": "What's 100% Free with the Swiss Travel Pass",
"country": "Switzerland",
"duration": "3 hours",
"budget": "Free with pass",
"canonical_url": "https://travelerjyoti.com/destinations/swiss-travel-pass-whats-free/",
"updatedAt": "2026-05-19"
},
…
]
}
get_guide
The full clean Markdown of one guide plus its FAQs and full frontmatter. Use when you already know the slug, or after search_guides identified the best match.
Parameters
slug: string— required
See example response
{
"slug": "mount-pilatus-free-cap",
"title": "How to Get a Free Pilatus Cap…",
"country": "Switzerland",
"canonical_url": "https://travelerjyoti.com/destinations/mount-pilatus-free-cap/",
"body": "# Mount Pilatus Free Cap\n\nThis is one of those…",
"faqs": [
{ "question": "…", "answer": "…" }
]
}
search_guides
Keyword-scored search across title, body, and FAQs. Returns ranked matches with a snippet showing why each scored — gives the model enough to decide which to read fully.
Parameters
query: string— requiredlimit?: number— min 1, default 5
See example response
{
"query": "Swiss Travel Pass",
"matches": 3,
"results": [
{
"slug": "swiss-travel-pass-whats-free",
"score": 57,
"snippet": "…every public train, bus, tram…",
"canonical_url": "https://travelerjyoti.com/destinations/swiss-travel-pass-whats-free/"
},
…
]
}
Quick connect
Connect in 60 seconds
Pick your client. Paste. Done.
Claude Code
Local to one projectclaude mcp add travelerjyoti --transport http https://mcp.travelerjyoti.com/mcp
Claude Desktop
Add toclaude_desktop_config.json
{
"mcpServers": {
"travelerjyoti": {
"url": "https://mcp.travelerjyoti.com/mcp"
}
}
}
Cursor
Settings → MCP Servers{
"travelerjyoti": {
"type": "streamable-http",
"url": "https://mcp.travelerjyoti.com/mcp"
}
}
curl (raw protocol)
For debuggingcurl -X POST https://mcp.travelerjyoti.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search_guides",
"arguments":{"query":"Swiss Travel Pass"}}}'
For other clients (Continue, custom GPTs, LangChain, etc.) — point them at the same endpoint with Streamable HTTP transport. Auto-discovery metadata at /.well-known/mcp.json.
FAQ
Common questions
Is it free? Do I need an API key?
How fresh is the data?
npm run deploy redeploys the MCP server with the new content. Latency from publish to MCP availability is usually under 5 minutes.What's the rate limit?
Can I use the content from this MCP in my product?
canonical_url in every result specifically so attribution is one field away.How does this differ from /llms-full.txt?
/llms-full.txt is a one-shot fetch — any AI engine ingests the entire archive at once, no integration needed. MCP is interactive — clients call specific tools with specific arguments and get structured JSON back. Both exist because they serve different audiences: llms-full is for search/answer engines that crawl, MCP is for assistants that converse.Why isn't this on the official MCP servers directory yet?
Built it for myself, made it public.
If you build something with this server, I'd genuinely love to hear about it. Email me, tag me, or just drop a comment on the YouTube channel.