@ottotheagent/otto-dsh
Book real flights, hotels, and cars with Otto from DeepSeek Harness (dsh). Mounts the otto-travel MCP connector so the agent can search fares, compare, and book — flight, hotel, car, trip planning, itinerary.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗Otto Travel — DeepSeek Harness (dsh) plugin
Created: 2026-08-14 · Last Updated: 2026-08-14
Book real flights, hotels, and cars with Otto from inside DeepSeek Harness
(dsh). This plugin mounts
Otto's remote MCP connector into a dsh composition; the agent then calls Otto's
tools like any other, and bookings execute inside Otto (real Spotnana PNR, the
authenticated user's stored payment method).
It is the dsh counterpart of Otto's Claude Code / Cowork plugin — both wrap the
same production MCP endpoint, https://api.ottotheagent.com/mcp. There is no
Otto-side code to change: Otto is already the MCP server, dsh is just another
client.
What you get
Otto's tools land in the model namespace as mcp__otto__:
mcp__otto__search_flights · query_flights · book_flight ·
search_hotels · get_hotel_rooms · book_hotel · search_cars ·
book_car · get_bookings · cancel_booking · read_skill ·
list_managed_travelers · read_preferences / write_preference ·
read_loyalty_programs / write_loyalty_program · task_status
Skill-gating, rate-limiting, input validation, delegate access, and client identity are all enforced server-side — the plugin adds nothing that could weaken them.
Auth — use an Otto API key (not interactive OAuth)
Otto's /mcp endpoint accepts either an OAuth JWT or a static Bearer API key
(server/mcp/auth.py). dsh-mcp-client sends a fixed Authorization
header, so the API-key path is the right one for dsh (it also works headless,
where interactive OAuth does not):
- Mint a key: https://ottotheagent.com → Settings → Agent API keys (or
POST /api/v1/agent/api_keys). Keys are prefixedotto_sk_.