Search Viator tours and activities — products, availability, attractions, destinations.
Search Viator tours and activities — products, availability, attractions, destinations.
This is a well-designed MCP server for the Viator Partner API with solid security practices. Authentication is properly enforced via API key (deferred until first use), credentials are handled securely via environment variables, and input validation is comprehensive. The code is clean with good error handling. Minor code quality improvements could raise the score, but no significant security vulnerabilities were identified. Supply chain analysis found 2 known vulnerabilities in dependencies (0 critical, 1 high severity). Package verification found 1 issue.
7 files analyzed · 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: VIATOR_API_KEY
Environment variable: VIATOR_LANGUAGE
Environment variable: VIATOR_CACHE_TTL
Environment variable: VIATOR_STATIC_CACHE_TTL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-chrischall-viator-mcp": {
"env": {
"VIATOR_API_KEY": "your-viator-api-key-here",
"VIATOR_LANGUAGE": "your-viator-language-here",
"VIATOR_CACHE_TTL": "your-viator-cache-ttl-here",
"VIATOR_STATIC_CACHE_TTL": "your-viator-static-cache-ttl-here"
},
"args": [
"-y",
"@chrischall/viator-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
MCP server for the Viator Partner API (v2) — search tours, activities and experiences for Claude. Search the catalog with structured filters or free text, get product details and availability schedules, browse attractions and destinations, all over stdio.
Developed and maintained by AI (Claude Code). Use at your own discretion.
{
"mcpServers": {
"viator": {
"command": "npx",
"args": ["-y", "@chrischall/viator-mcp"],
"env": { "VIATOR_API_KEY": "your-viator-partner-api-key" }
}
}
}
Get a key by signing up as a Viator affiliate at partnerresources.viator.com — the Basic Access tier is free. This server targets that tier: read-only search/content/availability; no booking endpoints (product results carry a productUrl for booking on viator.com, tagged with your affiliate id).
| Area | Tools |
|---|---|
| Products | vt_search_products, vt_get_product, vt_list_product_tags |
| Search | vt_search_freetext |
| Attractions | vt_search_attractions, vt_get_attraction |
| Availability | vt_get_availability_schedule |
| Reference | vt_list_destinations, vt_get_locations, vt_get_exchange_rates |
All tools are read-only. vt_search_products and vt_search_freetext accept compact: true for slim summaries (code, title, price, rating, booking URL) instead of full records.
| Variable | Required | Description |
|---|---|---|
VIATOR_API_KEY | yes | Viator Partner API key (sent as exp-api-key) |
VIATOR_API_BASE_URL | no | API host (default production; set https://api.sandbox.viator.com/partner for a sandbox key) |
VIATOR_LANGUAGE | no | Accept-Language for response text (default en-US) |
VIATOR_CACHE_TTL | no | Seconds to cache identical reads (default 60; 0 disables) |
VIATOR_STATIC_CACHE_TTL | no | Seconds to cache reference data — destinations, tags, locations, exchange rates (default 3600) |
Viator rate-limits per endpoint on a rolling 10-second window and answers 429/503 with Retry-After; the client honors it (one retry) and the response cache absorbs repeated identical calls.
npm install
npm test # vitest; no real network calls
npm run build # tsc + esbuild bundle
The API surface this server is coded against is pinned in docs/VIATOR-API.md.
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.