Capture and compare an MCP tool manifest

First capture: create a baseline. Later captures: compare the current tool manifest with the previous successful capture. A missing baseline or failed request is never detected drift.

Supported transport: Stateless calls and MCP initialize/session handshakes are supported; capture metadata records stateless_json, stateless_sse, session_json or session_sse. Public HTTPS endpoints returning a JSON or SSE tools/list response only. Authentication, redirects, legacy GET-only SSE, pagination and IPv6-only endpoints are unsupported. Baselines and history are public; new captures are Ed25519-signed, while legacy captures remain unsigned; a change is not proof of an attack.

  1. Enter an endpoint you are authorized to check and whose manifest may be published.
  2. Select Capture baseline / compare. The first successful capture creates a baseline, including an empty tool list.
  3. Return later and capture again. Review any differences before approving the changed tools.

Submitting publishes this endpoint's tool manifest and signed capture. Legacy history remains unsigned.

BASELINE_AVAILABLE: Stored history only. Capture again to compare the current manifest.

{
  "server": "https://mcp.deepwiki.com/mcp",
  "tracked": true,
  "supported": true,
  "state": "BASELINE_AVAILABLE",
  "checked_live": false,
  "baseline": {
    "manifest_hash": "b3d04f6f5ed34dcc3fcd9bcad1d92f7046fddd1c6dc02cf1ca63fe1cd17f6d69",
    "tool_count": 3,
    "captured_at": "2026-10-07T12:24:15.928Z"
  },
  "tools": [
    {
      "name": "ask_wiki_question",
      "description": "Ask any question about a GitHub repository's codebase and get an AI-powered answer\ngrounded in its DeepWiki.",
      "inputSchema": {
        "properties": {
          "question": {
            "description": "The question to ask about the repository.",
            "type": "string"
          },
          "repoName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "description": "GitHub repository or list of repositories (max 10) in owner/repo format."
          }
        },
        "required": [
          "repoName",
          "question"
        ],
        "type": "object"
      }
    },
    {
      "name": "read_wiki_contents",
      "description": "View documentation about a GitHub repository.",
      "inputSchema": {
        "properties": {
          "repoName": {
            "description": "GitHub repository in owner/repo format (e.g. \"facebook/react\").",
            "type": "string"
          }
        },
        "required": [
          "repoName"
        ],
        "type": "object"
      }
    },
    {
      "name": "read_wiki_structure",
      "description": "Get a list of documentation topics for a GitHub repository.",
      "inputSchema": {
        "properties": {
          "repoName": {
            "description": "GitHub repository in owner/repo format (e.g. \"facebook/react\").",
            "type": "string"
          }
        },
        "required": [
          "repoName"
        ],
        "type": "object"
      }
    }
  ],
  "drift_detected": null,
  "drift_events": [],
  "limits": "Stateless calls and MCP initialize/session handshakes are supported; capture metadata records stateless_json, stateless_sse, session_json or session_sse. Public HTTPS endpoints returning a JSON or SSE tools/list response only. Authentication, redirects, legacy GET-only SSE, pagination and IPv6-only endpoints are unsupported. Baselines and history are public; new captures are Ed25519-signed, while legacy captures remain unsigned; a change is not proof of an attack.",
  "signed_capture": {
    "alg": "Ed25519",
    "kid": "capture-a46fe710c055398f3b6f43a1",
    "payload": {
      "schema": "dominion.capture.v1",
      "server_url": "https://mcp.deepwiki.com/mcp",
      "captured_at": "2026-10-07T12:24:15.928Z",
      "capture": {
        "tools": [
          {
            "name": "ask_wiki_question",
            "description": "Ask any question about a GitHub repository's codebase and get an AI-powered answer\ngrounded in its DeepWiki.",
            "inputSchema": {
              "properties": {
                "question": {
                  "description": "The question to ask about the repository.",
                  "type": "string"
                },
                "repoName": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  ],
                  "description": "GitHub repository or list of repositories (max 10) in owner/repo format."
                }
              },
              "required": [
                "repoName",
                "question"
              ],
              "type": "object"
            }
          },
          {
            "name": "read_wiki_contents",
            "description": "View documentation about a GitHub repository.",
            "inputSchema": {
              "properties": {
                "repoName": {
                  "description": "GitHub repository in owner/repo format (e.g. \"facebook/react\").",
                  "type": "string"
                }
              },
              "required": [
                "repoName"
              ],
              "type": "object"
            }
          },
          {
            "name": "read_wiki_structure",
            "description": "Get a list of documentation topics for a GitHub repository.",
            "inputSchema": {
              "properties": {
                "repoName": {
                  "description": "GitHub repository in owner/repo format (e.g. \"facebook/react\").",
                  "type": "string"
                }
              },
              "required": [
                "repoName"
              ],
              "type": "object"
            }
          }
        ],
        "metadata": {
          "probe_mode": "stateless_sse"
        }
      },
      "tools_list_sha256": "b3d04f6f5ed34dcc3fcd9bcad1d92f7046fddd1c6dc02cf1ca63fe1cd17f6d69"
    },
    "signature": "OzMeAWvVRiBQeC812vXoAn3BqEu9Cs7wkene0feP571VSp93JjtxjXI-CPi6W0Zvtqmhjv7wgGR5LWUY4oORAg"
  },
  "note": "Stored history only. Capture again to compare the current manifest."
}

Wait at least 60 seconds between captures. The store is eventually consistent; simultaneous captures may take time to appear. Scheduled monitoring: $29/month per compatible endpoint, best-effort alerts and no guaranteed interval.