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 f24bf97412 Say "structured content", not "structured output"
The spec never uses the phrase "structured output". It defines two separate
things under Tool Result: "Structured Content" (the `structuredContent` field)
and "Output Schema" (the `outputSchema` field). Collapsing them into
"structured output" conflates the two.

It is also actively confusing here. In LLM tooling "structured output" means
constrained decoding — making the *model* emit conforming JSON. These clients
call a model API, so a reader could reasonably take the phrase to mean the
tool constrains the model's response, which is the opposite of what is going
on: the tool describes the shape of its own result.

Headings and prose now say "structured content". References to real
identifiers are left alone: the Python SDK's own docs page is called
Structured Output and lives at docs/servers/structured-output.md, and its
decorator parameter is `structured_output`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 21:20:39 -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 Say "structured content", not "structured output" 2026-08-09 21:20:39 -07:00
mcp-client-rust Update quickstart URLs (#140) 2026-05-16 08:59:02 -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 Say "structured content", not "structured output" 2026-08-09 21:20:39 -07:00
weather-server-rust Update quickstart URLs (#140) 2026-05-16 08:59:02 -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.