A transit MCP server supports Claude Code with route docs and live ETAs. Which MCP design fits?
Select an answer to reveal the explanation.
Short Explanation
Route docs as resources, live ETAs as tools, talking over stdio—that's a clean transit MCP for Claude Code. You don't want that flipped, and prompts, sampling, roots, or notifications aren't swaps for the real thing.
Full Explanation
A transit MCP server supporting Claude Code should offer resources for relatively stable route documentation and tools for live ETA queries, using stdio as the local transport Claude Code expects for process-attached MCP servers. Resources fit docs and schedules that agents can read as context; tools fit on-demand live calls with arguments, authentication, and structured errors. Exposing route docs as tools and live ETA as resources over SSE inverts the correct MCP pattern: documentation belongs in resources for agent context, live ETA belongs in tools for structured on-demand calls, and SSE is not the local stdio transport Claude Code expects for process-attached servers. Providing prompts for route lookup and sampling for live ETA misuses MCP primitives: prompts are not a structured document-access mechanism, sampling is not a live-data interface, and live ETA requires tool calls with arguments and structured errors. Registering route docs as roots and streaming live ETA via notifications misuses MCP: roots designate workspace roots, not documentation, and notifications are async alerts rather than the on-demand structured tool calls live ETA requires. Exam caveat: stdio is appropriate for local Claude Code sessions; networked multi-client deployments may need socket transports instead—choose transport for the topology, and do not treat resources as a substitute for live ETA tools. Operational check: list MCP resources for route docs, invoke a live-ETA tool with a route or stop argument over stdio, confirm Claude Code receives structured results rather than sampling output or prompt text, and verify that route docs are not registered as roots and live ETA is not streamed via notifications.