MCP Capability Handshake Diff

Compares bounded client and server initialize capabilities, protocol versions, and caller-required features. It performs a local negotiation diff and does not connect to either peer.

Use when

  • Client and server MCP capabilities must be compared before connection.
  • A missing required capability or protocol-date mismatch needs explanation.

Do not use when

  • The peers must actually be connected or their initialize exchange captured.
  • A capability outside the published bounded vocabulary is required.

Invocation contract

HTTP
/v1/tools/mcp-capability-handshake-diff
Version
0.1.0
Mode
lookup
Idempotency
not required
Retention
Capability documents are compared in memory and are not retained.
Tested with
MCP initialize capability documents

Positive and negative examples

{
  "input": {
    "client": {
      "protocol_version": "2025-11-25",
      "capabilities": [
        "tools",
        "elicitation.form"
      ]
    },
    "server": {
      "protocol_version": "2025-11-25",
      "capabilities": [
        "tools",
        "tasks"
      ]
    },
    "required_capabilities": [
      "tools"
    ]
  },
  "output": {
    "compatible": true,
    "protocol_version_match": true,
    "effective_capabilities": [
      "tools"
    ],
    "client_only_capabilities": [
      "elicitation.form"
    ],
    "server_only_capabilities": [
      "tasks"
    ],
    "missing_required_on_client": [],
    "missing_required_on_server": []
  },
  "negative": [
    {
      "scenario": "The peers must actually be connected or their initialize exchange captured.",
      "expected_error": "INVALID_INPUT",
      "charged": false
    }
  ]
}

Deterministic errors

CodeRetryChargedRecovery
INVALID_INPUTfalsefalseCorrect the request to match input_schema.
TOOL_PAUSEDtruefalseWait for the operator to resume the tool.
RATE_LIMITEDtruefalseRetry after the response Retry-After interval.
DEPENDENCY_UNAVAILABLEtruefalseRetry with the same idempotency identity.

Full machine manifest

The HTTP, OpenAPI, MCP, llms.txt, and ARD descriptions are generated from this same registry record.

Open JSON manifest →