quickstart-resources/weather-server-rust
Repository files (latest commit first)
Filename Latest commit message Latest commit date
olaservo d6cf28629f Update to rmcp 3.1.0
rmcp left beta on 2026-07-28 and reached 3.1.0 on 2026-07-31, so the pin
moves off 3.0.0-beta.2.

get_info now sets server_info. ServerInfo::default() reports rmcp own crate
name and version, so the server was identifying itself as rmcp 3.1.0
rather than weather 1.0.0 as the other three quickstarts do.

The hand-written list_tools stays: rmcp-macros 3.1.0 still generates
ttl_ms: None, cache_scope: None, which a strict client rejects.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 15:36:38 -07:00
..
src Update to rmcp 3.1.0 2026-08-09 15:36:38 -07:00
Cargo.lock Update to rmcp 3.1.0 2026-08-09 15:36:38 -07:00
Cargo.toml Update to rmcp 3.1.0 2026-08-09 15:36:38 -07:00
README.md Add structured output to the Rust weather server and client 2026-08-09 15:36:38 -07:00

A Simple MCP Weather Server written in Rust

See the Build an MCP server tutorial for more information.

Structured output

Both tools declare an output_schema and return structured_content. get_forecast returns an object; get_alerts returns a top-level JSON array, which protocol revision 2026-07-28 is the first to allow — see Structured Content in the spec.

Note that an array-rooted schema requires a 2026-07-28 client: rmcp sends it as written on every connection rather than projecting it down, so an older client rejects the tool list.

list_tools is hand-written because #[tool_handler] omits the SEP-2549 ttl_ms and cache_scope fields, which are required on a paginated result at this revision.