From 89701b5cca254ee9ab5b4bb48c376e029b1ae3f4 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:41:47 +0000 Subject: [PATCH 1/7] Update docs/sdk/reference/protocol-conformance.mdx Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/sdk/reference/protocol-conformance.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sdk/reference/protocol-conformance.mdx b/docs/sdk/reference/protocol-conformance.mdx index e36e9924a1..3b7dd94e8a 100644 --- a/docs/sdk/reference/protocol-conformance.mdx +++ b/docs/sdk/reference/protocol-conformance.mdx @@ -115,6 +115,10 @@ writeFileSync( | `checkIds` | `MCPCheckId[]` | No | all checks | Restrict checks to specific ids | | `fetchFn` | `typeof fetch` | No | `fetch` | Custom fetch implementation | | `clientName` | `string` | No | SDK default | Custom MCP client name | +| `protocolVersion` | `string` | No | | Pin to a specific MCP protocol version (`2025-03-26`, `2025-06-18`, `2025-11-25`, or `2026-07-28`). Absent means legacy era. | +| `logProbe` | `{ toolName: string; arguments?: Record }` | No | | Tool to call so the server emits log records, used by `modern-logs-require-log-level`. Without this, that check reports `could-not-run` — silence on an ordinary request cannot distinguish a conforming server from one that never logs. | +| `inputRequiredProbe` | `{ toolName: string; arguments?: Record }` | No | | Tool to call to trigger an `input_required` round trip, used by `modern-undeclared-capability-error`. Without this, that check reports `could-not-run`. | +| `fixtures` | `MCPConformanceFixtures` | No | | Safe-to-execute tool calls and prompt renders that widen coverage for `modern-tool-output-schema-conformant` and `wire-schema-valid`. | ## Available categories and check ids From 1e963a0eb263d8479bb7eb5abacd8be2916df2d9 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:42:04 +0000 Subject: [PATCH 2/7] Update docs/sdk/reference/protocol-conformance.mdx Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/sdk/reference/protocol-conformance.mdx | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/sdk/reference/protocol-conformance.mdx b/docs/sdk/reference/protocol-conformance.mdx index 3b7dd94e8a..805188de2d 100644 --- a/docs/sdk/reference/protocol-conformance.mdx +++ b/docs/sdk/reference/protocol-conformance.mdx @@ -154,6 +154,30 @@ Check ids: - `get-stream-or-405` (2025 revisions only) - `session-id-visible-ascii` (2025 revisions only) - `post-response-content-type` +- `modern-client-handshake` (2026-07-28 only) +- `modern-server-discover` (2026-07-28 only) +- `modern-result-type-present` (2026-07-28 only) +- `modern-cacheable-result-hints` (2026-07-28 only) +- `modern-cache-hint-coverage` (2026-07-28 only) +- `modern-cache-hint-values-valid` (2026-07-28 only) +- `modern-cache-scope-stable-across-pages` (2026-07-28 only) +- `modern-protocol-version-header-mismatch` (2026-07-28 only) +- `modern-method-header-mismatch` (2026-07-28 only) +- `modern-name-header-mismatch` (2026-07-28 only) +- `modern-unsupported-version-error` (2026-07-28 only) +- `modern-missing-method-header-rejected` (2026-07-28 only) +- `modern-header-names-case-insensitive` (2026-07-28 only) +- `modern-undeclared-capability-error` (2026-07-28 only) — requires `inputRequiredProbe`; reports `could-not-run` without it +- `modern-no-session-id` (2026-07-28 only) — reports `could-not-run` when no successful exchange occurred (e.g. every request returned 401) +- `modern-removed-methods-not-found` (2026-07-28 only) +- `modern-resource-not-found-invalid-params` (2026-07-28 only) +- `modern-resource-read-no-empty-contents` (2026-07-28 only) +- `modern-tool-output-schema-conformant` (2026-07-28 only) — requires `fixtures.toolCalls`; reports `could-not-run` without it +- `modern-logs-require-log-level` (2026-07-28 only) — requires `logProbe`; reports `could-not-run` without it +- `modern-subscription-ack-precedes-notifications` (2026-07-28 only) +- `modern-subscription-filter-and-tagging` (2026-07-28 only) +- `modern-subscription-graceful-close` (2026-07-28 only) +- `wire-schema-valid` ## Result types From 7a6d4039c072d1d1f783ec46cc4075f790c7e2d2 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:42:14 +0000 Subject: [PATCH 3/7] Update docs/sdk/reference/protocol-conformance.mdx Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/sdk/reference/protocol-conformance.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/reference/protocol-conformance.mdx b/docs/sdk/reference/protocol-conformance.mdx index 805188de2d..da9403382c 100644 --- a/docs/sdk/reference/protocol-conformance.mdx +++ b/docs/sdk/reference/protocol-conformance.mdx @@ -198,7 +198,7 @@ Check ids: Each `MCPCheckResult` includes a `skipReason` field whenever `status` is `"skipped"`: - `"not-applicable"` — the check cannot apply to this server (era-gated check on the wrong protocol version, unadvertised capability, localhost-only requirement against a remote server). These never hold a run back. -- `"could-not-run"` — the check applies but was never exercised (broken session, missing `inputRequiredProbe`, subscription stream unavailable). These make the run `incomplete`. +- `"could-not-run"` — the check applies but was never exercised (broken session, missing `inputRequiredProbe` or `logProbe`, no successful exchange for `modern-no-session-id`, subscription stream unavailable). These make the run `incomplete`. `MCPConformanceSuite.run()` returns an `MCPConformanceSuiteResult`: From dda5dbe6b42101684ac04bde395f1c1a8d929574 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:42:29 +0000 Subject: [PATCH 4/7] Update docs/sdk/reference/protocol-conformance.mdx Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/sdk/reference/protocol-conformance.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/sdk/reference/protocol-conformance.mdx b/docs/sdk/reference/protocol-conformance.mdx index da9403382c..62944698e9 100644 --- a/docs/sdk/reference/protocol-conformance.mdx +++ b/docs/sdk/reference/protocol-conformance.mdx @@ -243,6 +243,8 @@ Current readiness checks: - `readiness-parse-error-handling` — fires when the server accepts an unparseable JSON body as success without returning a JSON-RPC `-32700` parse error. No MCP revision mandates a specific response to malformed input, so this is `MAY` advice rather than a check. - `readiness-session-termination` — on 2025-era runs, fires when a session-termination `DELETE` returns a 5xx. On 2026-era runs, fires when `GET` or `DELETE` traffic from an older client is not answered with HTTP 405 (the 2026 backward-compat `SHOULD`). +- `readiness-protocol-version-header-required` — fires when the server accepts a POST that omits `MCP-Protocol-Version`. The header is required by SEP-2243, but servers supporting pre-2025-06-18 clients may treat its absence as `2025-03-26`, so this is `MAY` advice. +- `readiness-resource-error-echoes-uri` — fires when a resource-not-found error does not echo the requested URI in `error.data.uri`. SEP-2164 shows this in an example but does not state it as a MUST or SHOULD. ## CI reporting From cc1121dd73bbf803c19db0e60f2c11288482442d Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:42:44 +0000 Subject: [PATCH 5/7] Update docs/reference/public-api.mdx Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/reference/public-api.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/reference/public-api.mdx b/docs/reference/public-api.mdx index a15feb76c8..cec4d57cc3 100644 --- a/docs/reference/public-api.mdx +++ b/docs/reference/public-api.mdx @@ -259,6 +259,7 @@ plugin pins whose version no longer exists. | Endpoint | What it does | | --- | --- | | `POST .../validate` | Connect, initialize, and capture a capability snapshot | + | `POST .../doctor` | Full health workflow: probe → connect → initialize → capabilities | | `POST .../check-oauth` | Does this server require an OAuth grant? | | `POST .../tools` | List the server's tools | From e7fdebffc66432dde013698d17d9a3af009b2c0d Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:42:51 +0000 Subject: [PATCH 6/7] Update docs/reference/public-api.mdx Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/reference/public-api.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/reference/public-api.mdx b/docs/reference/public-api.mdx index cec4d57cc3..a15feb76c8 100644 --- a/docs/reference/public-api.mdx +++ b/docs/reference/public-api.mdx @@ -259,7 +259,6 @@ plugin pins whose version no longer exists. | Endpoint | What it does | | --- | --- | | `POST .../validate` | Connect, initialize, and capture a capability snapshot | - | `POST .../doctor` | Full health workflow: probe → connect → initialize → capabilities | | `POST .../check-oauth` | Does this server require an OAuth grant? | | `POST .../tools` | List the server's tools | From 3f7df33ac2ada5ab48b84eb196a01e0680bb33fb Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:44:03 +0000 Subject: [PATCH 7/7] Update docs/reference/openapi.json Generated-By: mintlify-agent Mintlify-Source: dashboard-editor --- docs/reference/openapi.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/reference/openapi.json b/docs/reference/openapi.json index 002f9f7aca..2f0cc19c3f 100644 --- a/docs/reference/openapi.json +++ b/docs/reference/openapi.json @@ -17467,7 +17467,7 @@ "ProjectServerCreateRequest": { "type": "object", "description": "Creates a saved server in the project. Server names are unique per workspace — a clash responds `409`. Scope comes from the path: `projectId`, `serverId` and `workspaceId` are rejected in the body.", - "required": ["name", "enabled", "transportType"], + "required": ["name", "transportType"], "additionalProperties": false, "properties": { "name": { @@ -17475,7 +17475,9 @@ "minLength": 1 }, "enabled": { - "type": "boolean" + "type": "boolean", + "default": true, + "description": "Whether the server is enabled. Defaults to `true` when omitted." }, "transportType": { "type": "string",