Skip to content

fix: address 2025-11-25 conformance audit findings#951

Merged
DaleSeo merged 6 commits into
mainfrom
fix/spec-conformance
Jul 3, 2026
Merged

fix: address 2025-11-25 conformance audit findings#951
DaleSeo merged 6 commits into
mainfrom
fix/spec-conformance

Conversation

@DaleSeo

@DaleSeo DaleSeo commented Jul 2, 2026

Copy link
Copy Markdown
Member

Motivation and Context

A conformance audit of rmcp against the MCP 2025-11-25 spec (schema cross-check plus the official conformance suite v0.1.16) surfaced four small, independent fixes:

  • OperationProcessor interpreted ttl as seconds and applied it via Duration::from_secs, but the spec defines ttl in milliseconds — a spec-conformant ttl: 60000 became a ~16.7h deadline.
  • ResourceContents::text() / ContentBlock::embedded_text defaulted mimeType to "text", which is not a valid MIME type. Now text/plain.
  • Refresh-token requests omitted the RFC 8707 resource parameter, which the spec requires on all token requests. Authorization and code-exchange requests already included it.
  • The in-tree conformance server declared prompt arguments name/style while the official runner sends arg1/arg2, making prompts-get-with-args the only failing server scenario.

Also adds a CI workflow that runs the official server conformance suite on PRs (related: #684).

How Has This Been Tested?

Official conformance suite v0.1.16 against the in-tree server: 40/40 (was 39/40).

Breaking Changes

None

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

@github-actions github-actions Bot added T-test Testing related changes T-CI Changes to CI/CD workflows and configuration T-config Configuration file changes T-core Core library changes T-model Model/data structure changes T-transport Transport layer changes labels Jul 2, 2026
@DaleSeo DaleSeo marked this pull request as ready for review July 2, 2026 14:10
@DaleSeo DaleSeo requested a review from a team as a code owner July 2, 2026 14:10
@DaleSeo DaleSeo merged commit bdf0c32 into main Jul 3, 2026
20 checks passed
@DaleSeo DaleSeo deleted the fix/spec-conformance branch July 3, 2026 02:42
@github-actions github-actions Bot mentioned this pull request Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-CI Changes to CI/CD workflows and configuration T-config Configuration file changes T-core Core library changes T-model Model/data structure changes T-test Testing related changes T-transport Transport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants