Mirror of https://github.com/modelcontextprotocol/quickstart-resources — A repository of servers and clients from the Model Context Protocol tutorials
  • JavaScript 19.6%
  • Rust 17.3%
  • Go 16.6%
  • TypeScript 13.2%
  • Ruby 11.8%
  • Other 21.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
olaservo ce055ae1fe Drop the hand-written list_tools now that rmcp emits cache hints
`#[tool_handler]` generated `ttl_ms: None, cache_scope: None`, but both are
required on a paginated result at 2026-07-28, so a strict client rejected
tools/list before it could reach a tool call. The server worked around that by
hand-writing list_tools purely to set the two fields.

rust-sdk#1120 fixed the macro, released in rmcp 3.1.1: it now emits the fields
when the negotiated revision expects them and omits them otherwise. Both
lockfiles move to 3.1.2 and the override goes away, so the server is back to the
plain `#[tool_handler]` path the SDK documents.

Verified on the raw wire: after a 2026-07-28 handshake, tools/list carries
`ttlMs: 0` and `cacheScope: "public"` with no code setting them, and the smoke
test's strict client still validates both tools' structured content.
2026-08-09 17:52:24 -07:00
.github/workflows Assert on structured output in the smoke tests and update to v2 (#163) 2026-08-03 19:42:57 +02:00
mcp-client-go Update quickstart URLs (#140) 2026-05-16 08:59:02 -07:00
mcp-client-python Add structured content to the Python weather server and client and update to v2 (#164) 2026-08-09 14:46:03 +02:00
mcp-client-ruby Update quickstart URLs (#140) 2026-05-16 08:59:02 -07:00
mcp-client-rust Drop the hand-written list_tools now that rmcp emits cache hints 2026-08-09 17:52:24 -07:00
mcp-client-typescript Bump the npm_and_yarn group across 3 directories with 2 updates 2026-07-23 15:14:04 +00:00
tests Assert on structured output in the smoke tests and update to v2 (#163) 2026-08-03 19:42:57 +02:00
weather-server-go Update quickstart URLs (#140) 2026-05-16 08:59:02 -07:00
weather-server-python Add structured content to the Python weather server and client and update to v2 (#164) 2026-08-09 14:46:03 +02:00
weather-server-ruby Update quickstart URLs (#140) 2026-05-16 08:59:02 -07:00
weather-server-rust Drop the hand-written list_tools now that rmcp emits cache hints 2026-08-09 17:52:24 -07:00
weather-server-typescript Bump the npm_and_yarn group across 3 directories with 2 updates 2026-07-23 15:14:04 +00:00
.gitattributes Add .gitattributes to mark lock files as generated 2025-12-12 09:52:25 -06:00
.gitignore Assert on structured output in the smoke tests and update to v2 (#163) 2026-08-03 19:42:57 +02:00
LICENSE chore: update licensing to Apache 2.0 for new contributions 2026-01-12 22:49:32 +00:00
README.md Update quickstart URLs (#140) 2026-05-16 08:59:02 -07:00
SECURITY.md docs: add security notes for network-exposed MCP servers 2026-02-07 12:55:02 +01:00

Quickstart Resources

A repository of servers and clients from the following Model Context Protocol tutorials:

Security Note

These examples are intentionally minimal. If you expose an MCP server over a network (HTTP/SSE/WebSocket), add authentication and basic hardening (CORS allowlist, request size limits, timeouts, rate limits, and log redaction). See SECURITY.md.