Skip to content

WIP feat: update types present in both schema versions (T7) - #275

Draft
sideeffffect wants to merge 4 commits into
softwaremill:2026-07-28-protocol-supportfrom
sideeffffect:feat/t7-shared-types
Draft

sideeffffect wants to merge 4 commits into
softwaremill:2026-07-28-protocol-supportfrom
sideeffffect:feat/t7-shared-types

Conversation

@sideeffffect

@sideeffffect sideeffffect commented Sep 23, 2026 •

Copy link
Copy Markdown

WIP. Stacked on #273 (T6) → #271 (T3). Base is 2026-07-28-protocol-support, so the diff also shows T3+T6 until they merge — review the T7 delta: sideeffffect/chimp@feat/t6-subscriptions...feat/t7-shared-types

T7 — #245: update types present in both schema versions

  • new Icon and Annotations types
  • icons on Implementation, ToolDefinition, Resource, ResourceTemplate, Prompt, ResourceLink
  • annotations and _meta on content blocks (Text/Image/Audio/ResourceContent) and on Resource/ResourceTemplate
  • Implementation.websiteUrl/description, PromptReference.title, ResourceLink.title/size
  • server DSL builders (icons/annotations) on the resource, resource-template and prompt builders
  • client doc snippets updated for the ToolContent.Text field additions (mdoc)
  • schema conformance tests for the new fields

All additive (optional, default None) → 2025-11-25 wire unchanged. Verified: core + server unit suites green; all four conformance combos green (client/server × 2025-11-25 / 2026-07-28).

Note: tool-builder .icons(...) deferred (threads through the multi-step Tool[I,O] chain); ToolDefinition still carries icons at the protocol level.

Closes #245.

Stack (bottom → top, all on 2026-07-28-protocol-support)

#271 (T3) → #273 (T6) → #275 (T7, this PR) → #276 (T5) → #274 (T8)

🤖 Generated with Claude Code

sideeffffect and others added 3 commits September 22, 2026 17:47
…ue T8 (softwaremill#246)

T3 (softwaremill#241): run client and server conformance at both 2025-11-25 and
2026-07-28 in CI (4 steps). Rename conformance-baseline.yml to
conformance-baseline-2025-11-25.yml and add a client section to
conformance-baseline-2026-07-28.yml (37 server, 37 client scenarios still
failing, all needing later tickets). Both conformance tasks select the
per-spec-version baseline from --requirements / --spec-version. Update both
conformance READMEs with the two-revision and single-scenario commands.

T8 (softwaremill#246): the modern-result envelope, server/discover and -32022 validation
landed in softwaremill#260 (already on this base). Remaining server rules (-32602 missing
_meta, -32020 header/_meta mismatch, HTTP 400/404 plain-JSON, notifications
gating, server-context request facts, the test_missing_capability /
test_logging_tool fixtures) are the WIP continuation tracked by this PR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add the 2026-07-28 subscription datatypes and their schema conformance tests:
SubscriptionFilter, SubscriptionsListenParams/Request, SubscriptionsListenResult,
SubscriptionsAcknowledgedParams and the acknowledged-notification wrapper. Add the
reserved _meta key io.modelcontextprotocol/subscriptionId. Types only — serving is T8.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
)

Add the 2026-07-28 shared metadata:
- new Icon and Annotations types
- icons on Implementation, ToolDefinition, Resource, ResourceTemplate, Prompt, ResourceLink
- annotations and _meta on content blocks (Text/Image/Audio/ResourceContent) and Resource/ResourceTemplate
- Implementation.websiteUrl/description, PromptReference.title, ResourceLink.title/size
- server DSL builders (icons/annotations) on the resource, resource-template and prompt builders
- schema conformance tests for the new fields against the 2026-07-28 schema

All additive (optional, default None) so the 2025-11-25 wire is unchanged. Tool-builder
`.icons(...)` deferred (threads through the multi-step Tool[I,O] chain); ToolDefinition
still carries icons at the protocol level.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ange

The mdoc client examples/quickstart matched ToolContent.Text with two
patterns; T7 added annotations and _meta. Switch to a type pattern so
the snippets survive further field additions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@max-peroch

Copy link
Copy Markdown
Contributor

Is plumbing .icons(...) on McpServer into initialize serverInfo already planned here or as a follow-up? Happy to send a small patch on this branch if not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants