71 lines
2.9 KiB
Markdown
71 lines
2.9 KiB
Markdown
# RMCP Roadmap
|
|
|
|
This roadmap tracks the path to SEP-1730 Tier 1 for the Rust MCP SDK.
|
|
|
|
Server conformance: 87.5% (28/32) · Client conformance: 80.0% (16/20)
|
|
|
|
---
|
|
|
|
## Tier 2 → Tier 1
|
|
|
|
### Conformance
|
|
|
|
#### Server (87.5% → 100%)
|
|
|
|
- [ ] Fix `prompts-get-with-args` — prompt argument handling returns incorrect result (arg1/arg2 not substituted)
|
|
- [ ] Fix `prompts-get-embedded-resource` — embedded resource content in prompt responses (invalid content union)
|
|
- [ ] Fix `elicitation-sep1330-enums` — enum inference handling per SEP-1330 (missing enumNames for legacy titled enum)
|
|
- [ ] Fix `dns-rebinding-protection` — validate `Host` / `Origin` headers on Streamable HTTP transport (accepts invalid headers with 200)
|
|
|
|
#### Client (80.0% → 100%)
|
|
|
|
- [ ] Fix `auth/metadata-var3` — AS metadata discovery variant 3 (no authorization support detected)
|
|
- [ ] Fix `auth/scope-from-www-authenticate` — use scope parameter from WWW-Authenticate header on 403 insufficient_scope
|
|
- [ ] Fix `auth/scope-step-up` — handle 403 `insufficient_scope` and re-authorize with upgraded scopes
|
|
- [ ] Fix `auth/2025-03-26-oauth-endpoint-fallback` — legacy OAuth endpoint fallback for pre-2025-06-18 servers (no authorization support detected)
|
|
|
|
### Governance & Policy
|
|
|
|
- [ ] Create `VERSIONING.md` — document semver scheme, what constitutes a breaking change, and how breaking changes are communicated
|
|
|
|
### Documentation (26/48 → 48/48 features with prose + examples)
|
|
|
|
#### Undocumented features (14)
|
|
|
|
- [ ] Tools — image results
|
|
- [ ] Tools — audio results
|
|
- [ ] Tools — embedded resources
|
|
- [ ] Prompts — embedded resources
|
|
- [ ] Prompts — image content
|
|
- [ ] Elicitation — URL mode
|
|
- [ ] Elicitation — default values
|
|
- [ ] Elicitation — complete notification
|
|
- [ ] Ping
|
|
- [ ] SSE transport — legacy (client)
|
|
- [ ] SSE transport — legacy (server)
|
|
- [ ] Pagination
|
|
- [ ] Protocol version negotiation
|
|
- [ ] JSON Schema 2020-12 support *(upgrade from partial)*
|
|
|
|
#### Partially documented features (7)
|
|
|
|
- [ ] Tools — error handling *(add dedicated prose + example)*
|
|
- [ ] Resources — reading binary *(add dedicated example)*
|
|
- [ ] Elicitation — form mode *(add prose docs, not just example README)*
|
|
- [ ] Elicitation — schema validation *(add prose docs)*
|
|
- [ ] Elicitation — enum values *(add prose docs)*
|
|
- [ ] Capability negotiation *(add dedicated prose explaining the builder API)*
|
|
- [ ] Protocol version negotiation *(document version negotiation behavior)*
|
|
|
|
---
|
|
|
|
## Informational (not scored for tiering)
|
|
|
|
These draft/extension scenarios are tracked but do not count toward tier advancement:
|
|
|
|
| Scenario | Tag | Status |
|
|
|---|---|---|
|
|
| `auth/resource-mismatch` | draft | ❌ Failed |
|
|
| `auth/client-credentials-jwt` | extension | ❌ Failed — JWT `aud` claim verification error |
|
|
| `auth/client-credentials-basic` | extension | ✅ Passed |
|
|
| `auth/cross-app-access-complete-flow` | extension | ❌ Failed — sends `authorization_code` grant instead of `jwt-bearer` |
|