{
  "title": "MCP Blog Supporting Content Plan",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-25",
  "editorialNote": "Planned records are briefs, not published pages. Similar intents are reconciled to an existing canonical before publication.",
  "count": 61,
  "records": [
    {
      "title": "What Is MCP?",
      "url": "/what-is-mcp/",
      "searchIntent": "Informational definition",
      "packageSourceIds": [
        "S001",
        "S002",
        "S028"
      ],
      "sourceIds": [
        "S054",
        "S121",
        "S021"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Broader protocol-level definition; the parent page remains server-focused.",
      "cannibalizationGuard": "Avoid repeating the full server tutorial; focus on protocol scope and primitives.",
      "priority": "P1",
      "publicationStatus": "published"
    },
    {
      "title": "MCP Client vs Server vs Host",
      "url": "/mcp-client-vs-server-vs-host/",
      "searchIntent": "Role comparison",
      "packageSourceIds": [
        "S002",
        "S003"
      ],
      "sourceIds": [
        "S121",
        "S122"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "High-confusion architecture query deserving a dedicated role and responsibility guide.",
      "cannibalizationGuard": "Use comparison intent; canonical beginner definition remains on the parent.",
      "priority": "P0",
      "publicationStatus": "published"
    },
    {
      "title": "How Does an MCP Server Work?",
      "url": "/how-does-an-mcp-server-work/",
      "searchIntent": "Process explanation",
      "packageSourceIds": [
        "S002",
        "S003",
        "S004",
        "S008",
        "S011"
      ],
      "sourceIds": [
        "S121",
        "S122",
        "S123",
        "S127",
        "S130"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Supports step-by-step and diagram intent without turning the cornerstone into an implementation tutorial.",
      "cannibalizationGuard": "Focus on request lifecycle and host mediation, not the broad definition.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/how-mcp-works/"
    },
    {
      "title": "MCP Tools, Resources and Prompts Explained",
      "url": "/mcp-tools-resources-prompts/",
      "searchIntent": "Capability comparison",
      "packageSourceIds": [
        "S004",
        "S005",
        "S006"
      ],
      "sourceIds": [
        "S123",
        "S124",
        "S125"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Three primitives are frequently collapsed into tools and warrant a comparison page.",
      "cannibalizationGuard": "Do not create three thin pages until separate demand and examples justify them.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "What Is an MCP Tool?",
      "url": "/what-is-an-mcp-tool/",
      "searchIntent": "Definition and schema",
      "packageSourceIds": [
        "S004"
      ],
      "sourceIds": [
        "S123"
      ],
      "parentPage": "/mcp-tools-resources-prompts/",
      "justification": "Justified by implementation, safety and comparison depth beyond the shared-primitives page.",
      "cannibalizationGuard": "Keep resources/prompts to brief contrasts and link upward.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "What Is an MCP Resource?",
      "url": "/what-is-an-mcp-resource/",
      "searchIntent": "Definition and retrieval",
      "packageSourceIds": [
        "S005"
      ],
      "sourceIds": [
        "S124"
      ],
      "parentPage": "/mcp-tools-resources-prompts/",
      "justification": "URI, templates, reading and subscriptions create distinct search intent.",
      "cannibalizationGuard": "Do not call tool output a resource unless it uses the protocol resource model.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "What Is an MCP Prompt?",
      "url": "/what-is-an-mcp-prompt/",
      "searchIntent": "Definition and UI",
      "packageSourceIds": [
        "S006"
      ],
      "sourceIds": [
        "S125"
      ],
      "parentPage": "/mcp-tools-resources-prompts/",
      "justification": "Searchers confuse protocol prompts with system prompts and prompt engineering.",
      "cannibalizationGuard": "Focus on protocol prompts; link to general prompting content rather than duplicating it.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Capabilities and Capability Metadata",
      "url": "/mcp-capabilities/",
      "searchIntent": "Technical definition",
      "packageSourceIds": [
        "S001",
        "S002",
        "S008"
      ],
      "sourceIds": [
        "S054",
        "S121",
        "S127"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Current per-request capability semantics differ materially from negotiated 2024–2025 sessions.",
      "cannibalizationGuard": "Separate current capabilities from historical negotiation.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP and JSON-RPC 2.0",
      "url": "/mcp-json-rpc/",
      "searchIntent": "Protocol mechanics",
      "packageSourceIds": [
        "S011",
        "S033",
        "S067",
        "S068"
      ],
      "sourceIds": [
        "S130",
        "S001",
        "S036",
        "S043"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Explains request, response, notification, error and batching history.",
      "cannibalizationGuard": "Do not present JSON-RPC as equivalent to MCP.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "Can MCP Work Without an LLM?",
      "url": "/mcp-without-llm/",
      "searchIntent": "Concept clarification",
      "packageSourceIds": [
        "S002",
        "S003"
      ],
      "sourceIds": [
        "S121",
        "S122"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Clarifies protocol/application separation and programmatic clients.",
      "cannibalizationGuard": "Keep the agent question on the separate agents page.",
      "priority": "P2",
      "publicationStatus": "planned"
    },
    {
      "title": "Are MCP Servers AI Agents?",
      "url": "/are-mcp-servers-agents/",
      "searchIntent": "Direct-answer comparison",
      "packageSourceIds": [
        "S002",
        "S022",
        "S023"
      ],
      "sourceIds": [
        "S121",
        "S137",
        "S060"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "High-confusion query with strong snippet potential.",
      "cannibalizationGuard": "Answer no immediately; avoid broad agent-framework history.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Connectors, Plugins and Servers",
      "url": "/mcp-connectors-plugins-servers/",
      "searchIntent": "Terminology comparison",
      "packageSourceIds": [
        "S036",
        "S037",
        "S044",
        "S045"
      ],
      "sourceIds": [
        "S009",
        "S140",
        "S145",
        "S146"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Product terminology maps inconsistently to protocol roles.",
      "cannibalizationGuard": "Do not target the broader architecture matrices covered elsewhere.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "Local vs Remote MCP Servers",
      "url": "/local-vs-remote-mcp-servers/",
      "searchIntent": "Deployment comparison",
      "packageSourceIds": [
        "S012",
        "S013",
        "S014",
        "S015"
      ],
      "sourceIds": [
        "S131",
        "S132",
        "S133",
        "S134"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "High-intent architectural and security comparison with clear table opportunities.",
      "cannibalizationGuard": "Keep installation steps in transport-specific child pages.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/mcp-transports/"
    },
    {
      "title": "Local MCP Servers Explained",
      "url": "/local-mcp-servers/",
      "searchIntent": "Local deployment",
      "packageSourceIds": [
        "S013",
        "S015"
      ],
      "sourceIds": [
        "S132",
        "S134"
      ],
      "parentPage": "/local-vs-remote-mcp-servers/",
      "justification": "Covers subprocesses, credentials, package trust and local permissions.",
      "cannibalizationGuard": "Avoid duplicating the stdio wire-format guide.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "Remote MCP Servers Explained",
      "url": "/remote-mcp-servers/",
      "searchIntent": "Remote deployment",
      "packageSourceIds": [
        "S012",
        "S014",
        "S015"
      ],
      "sourceIds": [
        "S131",
        "S133",
        "S134"
      ],
      "parentPage": "/local-vs-remote-mcp-servers/",
      "justification": "Covers identity, OAuth, tenancy, deployment and scaling.",
      "cannibalizationGuard": "Avoid becoming a current server directory.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP stdio Transport",
      "url": "/mcp-stdio-transport/",
      "searchIntent": "Technical transport intent",
      "packageSourceIds": [
        "S013",
        "S030",
        "S069"
      ],
      "sourceIds": [
        "S132",
        "S024",
        "S038"
      ],
      "parentPage": "/local-mcp-servers/",
      "justification": "Canonical local transport has distinct logging, framing and process-lifecycle semantics.",
      "cannibalizationGuard": "Do not imply all local servers must use stdio.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Streamable HTTP",
      "url": "/mcp-streamable-http/",
      "searchIntent": "Technical transport intent",
      "packageSourceIds": [
        "S012",
        "S067",
        "S069"
      ],
      "sourceIds": [
        "S131",
        "S036",
        "S038"
      ],
      "parentPage": "/remote-mcp-servers/",
      "justification": "Core remote transport query with strong historical confusion around SSE and sessions.",
      "cannibalizationGuard": "Use current 2026 behavior first; quarantine 2025 behavior in a history section.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "What Happened to MCP HTTP+SSE?",
      "url": "/mcp-http-sse-history/",
      "searchIntent": "Historical transport query",
      "packageSourceIds": [
        "S030",
        "S067",
        "S069",
        "S016"
      ],
      "sourceIds": [
        "S024",
        "S036",
        "S038",
        "S135"
      ],
      "parentPage": "/mcp-streamable-http/",
      "justification": "Directly answers why older guides show two endpoints and long-lived SSE.",
      "cannibalizationGuard": "Do not compete with the current Streamable HTTP implementation page.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "Is MCP Stateless?",
      "url": "/is-mcp-stateless/",
      "searchIntent": "Direct-answer architecture",
      "packageSourceIds": [
        "S011",
        "S017",
        "S018",
        "S019"
      ],
      "sourceIds": [
        "S130",
        "S055",
        "S058",
        "S053"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Current answer differs fundamentally by protocol era.",
      "cannibalizationGuard": "Lead with version-specific answer; do not claim applications cannot retain state.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/mcp-stateful-to-stateless/"
    },
    {
      "title": "MCP server/discover Explained",
      "url": "/mcp-server-discover/",
      "searchIntent": "Current discovery method",
      "packageSourceIds": [
        "S008",
        "S017"
      ],
      "sourceIds": [
        "S127",
        "S055"
      ],
      "parentPage": "/mcp-capabilities/",
      "justification": "New 2026 behavior is likely underexplained and differs from the removed handshake.",
      "cannibalizationGuard": "Keep registry discovery separate from connection-time protocol discovery.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Multi Round-Trip Requests",
      "url": "/mcp-multi-round-trip-requests/",
      "searchIntent": "Advanced current pattern",
      "packageSourceIds": [
        "S010",
        "S017",
        "S019"
      ],
      "sourceIds": [
        "S129",
        "S055",
        "S053"
      ],
      "parentPage": "/is-mcp-stateless/",
      "justification": "Explains elicitation and other input-required flows under stateless infrastructure.",
      "cannibalizationGuard": "Do not market MRTR as a generic multi-agent protocol.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Subscriptions and notifications/listen",
      "url": "/mcp-subscriptions/",
      "searchIntent": "Event delivery",
      "packageSourceIds": [
        "S005",
        "S012",
        "S017"
      ],
      "sourceIds": [
        "S124",
        "S131",
        "S055"
      ],
      "parentPage": "/mcp-streamable-http/",
      "justification": "Explains current selected-notification streams and historical resource subscriptions.",
      "cannibalizationGuard": "Version-freeze every method name.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Caching and Cache Hints",
      "url": "/mcp-caching/",
      "searchIntent": "Performance and infrastructure",
      "packageSourceIds": [
        "S008",
        "S009",
        "S017"
      ],
      "sourceIds": [
        "S127",
        "S128",
        "S055"
      ],
      "parentPage": "/is-mcp-stateless/",
      "justification": "Cacheable list/read/discovery results are a major 2026 infrastructure feature.",
      "cannibalizationGuard": "Do not imply every result is cacheable.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "Custom MCP Transports",
      "url": "/custom-mcp-transports/",
      "searchIntent": "Advanced implementation",
      "packageSourceIds": [
        "S011",
        "S012",
        "S013",
        "S069"
      ],
      "sourceIds": [
        "S130",
        "S131",
        "S132",
        "S038"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Protocol is transport-aware but permits custom bindings when semantics are preserved.",
      "cannibalizationGuard": "Do not publish as a list of speculative transports.",
      "priority": "P2",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Server Security",
      "url": "/mcp-server-security/",
      "searchIntent": "Security overview",
      "packageSourceIds": [
        "S014",
        "S015",
        "S049",
        "S050",
        "S051",
        "S052",
        "S053",
        "S054"
      ],
      "sourceIds": [
        "S133",
        "S134",
        "S108",
        "S109",
        "S110",
        "S111",
        "S112",
        "S147"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Strong research and backlink target covering protocol, host, server, SDK and deployment layers.",
      "cannibalizationGuard": "Use this as security hub; child pages own individual attack classes.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/mcp-security/"
    },
    {
      "title": "MCP Tool Poisoning",
      "url": "/mcp-tool-poisoning/",
      "searchIntent": "Attack explanation",
      "packageSourceIds": [
        "S004",
        "S015",
        "S049"
      ],
      "sourceIds": [
        "S123",
        "S134",
        "S108"
      ],
      "parentPage": "/mcp-server-security/",
      "justification": "Named MCP-specific research term with substantial misunderstanding.",
      "cannibalizationGuard": "Separate research terminology from every ordinary prompt-injection event.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Prompt Injection",
      "url": "/mcp-prompt-injection/",
      "searchIntent": "Threat model",
      "packageSourceIds": [
        "S015",
        "S049"
      ],
      "sourceIds": [
        "S134",
        "S108"
      ],
      "parentPage": "/mcp-server-security/",
      "justification": "Explains malicious resources, tool output, external data and metadata paths.",
      "cannibalizationGuard": "Do not claim MCP inherently creates or solves prompt injection.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Supply-Chain Security",
      "url": "/mcp-supply-chain-security/",
      "searchIntent": "Package and distribution risk",
      "packageSourceIds": [
        "S015",
        "S026",
        "S050",
        "S051",
        "S052",
        "S053",
        "S054"
      ],
      "sourceIds": [
        "S134",
        "S067",
        "S109",
        "S110",
        "S111",
        "S112",
        "S147"
      ],
      "parentPage": "/mcp-server-security/",
      "justification": "Local package execution and server proliferation create distinct provenance risk.",
      "cannibalizationGuard": "Keep protocol authorization in its own page.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP OAuth and Authorization",
      "url": "/mcp-oauth-authorization/",
      "searchIntent": "Remote auth technical intent",
      "packageSourceIds": [
        "S014",
        "S015",
        "S067",
        "S068",
        "S071"
      ],
      "sourceIds": [
        "S133",
        "S134",
        "S036",
        "S043",
        "S049"
      ],
      "parentPage": "/remote-mcp-servers/",
      "justification": "High-value enterprise topic with major version changes and common authentication confusion.",
      "cannibalizationGuard": "Do not call OAuth an authentication protocol without qualification.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Token Passthrough and the Confused Deputy Problem",
      "url": "/mcp-token-passthrough-confused-deputy/",
      "searchIntent": "Security architecture",
      "packageSourceIds": [
        "S014",
        "S015",
        "S068"
      ],
      "sourceIds": [
        "S133",
        "S134",
        "S043"
      ],
      "parentPage": "/mcp-oauth-authorization/",
      "justification": "Explains resource indicators, audience binding and token misuse with precision.",
      "cannibalizationGuard": "Avoid generic OAuth tutorial content.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "How to Sandbox Local MCP Servers",
      "url": "/sandbox-local-mcp-servers/",
      "searchIntent": "Practical defensive intent",
      "packageSourceIds": [
        "S013",
        "S015",
        "S039"
      ],
      "sourceIds": [
        "S132",
        "S134",
        "S141"
      ],
      "parentPage": "/local-mcp-servers/",
      "justification": "Addresses code execution, filesystem boundaries and host controls.",
      "cannibalizationGuard": "Stay defensive; do not imply sandboxing is a protocol feature.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Permissions and User Consent",
      "url": "/mcp-permissions-user-consent/",
      "searchIntent": "UX and security",
      "packageSourceIds": [
        "S001",
        "S002",
        "S004",
        "S007",
        "S015"
      ],
      "sourceIds": [
        "S054",
        "S121",
        "S123",
        "S126",
        "S134"
      ],
      "parentPage": "/mcp-server-security/",
      "justification": "Clarifies division of responsibility among protocol, host, server and user.",
      "cannibalizationGuard": "Do not promise one universal confirmation model.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "Can You Trust an MCP Registry Listing?",
      "url": "/mcp-registry-security/",
      "searchIntent": "Discovery trust",
      "packageSourceIds": [
        "S026",
        "S027",
        "S015"
      ],
      "sourceIds": [
        "S067",
        "S066",
        "S134"
      ],
      "parentPage": "/mcp-registry/",
      "justification": "Explains namespace verification, package scanning limits and downstream catalogs.",
      "cannibalizationGuard": "Do not imply registry listing equals security approval.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP vs Function Calling",
      "url": "/mcp-vs-function-calling/",
      "searchIntent": "High-intent comparison",
      "packageSourceIds": [
        "S001",
        "S004",
        "S035"
      ],
      "sourceIds": [
        "S054",
        "S123",
        "S010"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "One of the strongest standalone comparison intents and a key misconception.",
      "cannibalizationGuard": "Use architectural layers; do not claim replacement.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP vs REST APIs",
      "url": "/mcp-vs-rest-api/",
      "searchIntent": "Comparison",
      "packageSourceIds": [
        "S001",
        "S004",
        "S005"
      ],
      "sourceIds": [
        "S054",
        "S123",
        "S124"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Clarifies that MCP normally sits above or alongside existing APIs.",
      "cannibalizationGuard": "Keep OpenAPI generation details on the OpenAPI page.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/mcp-vs-api/"
    },
    {
      "title": "MCP vs OpenAPI",
      "url": "/mcp-vs-openapi/",
      "searchIntent": "Comparison and conversion",
      "packageSourceIds": [
        "S001",
        "S004"
      ],
      "sourceIds": [
        "S054",
        "S123"
      ],
      "parentPage": "/mcp-vs-rest-api/",
      "justification": "Distinct API-description versus live-protocol intent.",
      "cannibalizationGuard": "Do not claim automatic conversion creates safe production tools.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP vs Plugins",
      "url": "/mcp-vs-plugins/",
      "searchIntent": "Historical/product comparison",
      "packageSourceIds": [
        "S028",
        "S036"
      ],
      "sourceIds": [
        "S021",
        "S009"
      ],
      "parentPage": "/mcp-connectors-plugins-servers/",
      "justification": "Captures ChatGPT plugin and application-extension comparison intent.",
      "cannibalizationGuard": "Do not imply direct lineage without evidence.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP vs Language Server Protocol",
      "url": "/mcp-vs-lsp/",
      "searchIntent": "Architecture/history comparison",
      "packageSourceIds": [
        "S031",
        "S034"
      ],
      "sourceIds": [
        "S013",
        "S139"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Official early material explicitly names LSP inspiration; differences deserve equal weight.",
      "cannibalizationGuard": "Do not reduce MCP to “LSP for AI.”",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP vs GraphQL",
      "url": "/mcp-vs-graphql/",
      "searchIntent": "Abstraction-level comparison",
      "packageSourceIds": [
        "S001",
        "S004",
        "S005"
      ],
      "sourceIds": [
        "S054",
        "S123",
        "S124"
      ],
      "parentPage": "/mcp-vs-rest-api/",
      "justification": "Prevents false direct competition between query language and capability protocol.",
      "cannibalizationGuard": "Keep concise unless search demand justifies depth.",
      "priority": "P2",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP vs A2A",
      "url": "/mcp-vs-a2a/",
      "searchIntent": "Protocol comparison",
      "packageSourceIds": [
        "S001"
      ],
      "sourceIds": [
        "S054",
        "S157"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Separates capability access from agent-to-agent communication; requires live-checking the current A2A spec.",
      "cannibalizationGuard": "Do not publish until the contemporary A2A primary-source freeze is complete.",
      "priority": "P1",
      "publicationStatus": "published",
      "publicationGuard": "Satisfied on 2026-08-25 with a contemporary first-party A2A 1.0 specification freeze (S157)."
    },
    {
      "title": "MCP vs LangChain Tools",
      "url": "/mcp-vs-langchain-tools/",
      "searchIntent": "Framework comparison",
      "packageSourceIds": [
        "S001",
        "S004"
      ],
      "sourceIds": [
        "S054",
        "S123"
      ],
      "parentPage": "/mcp-vs-function-calling/",
      "justification": "Clarifies protocol layer versus framework abstraction and adapters.",
      "cannibalizationGuard": "Use current LangChain primary docs at publication.",
      "priority": "P2",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP 2026-07-28 Explained",
      "url": "/mcp-2026-07-28/",
      "searchIntent": "Specification revision intent",
      "packageSourceIds": [
        "S001",
        "S017",
        "S018",
        "S019"
      ],
      "sourceIds": [
        "S054",
        "S055",
        "S058",
        "S053"
      ],
      "parentPage": "/history-of-mcp-servers/",
      "justification": "Major current revision deserves a frozen technical guide and migration summary.",
      "cannibalizationGuard": "Do not duplicate the broad beginner definition.",
      "priority": "P0",
      "publicationStatus": "published"
    },
    {
      "title": "Old MCP vs Current MCP",
      "url": "/old-mcp-vs-current-mcp/",
      "searchIntent": "Version migration comparison",
      "packageSourceIds": [
        "S030",
        "S067",
        "S068",
        "S069",
        "S070",
        "S071",
        "S017"
      ],
      "sourceIds": [
        "S024",
        "S036",
        "S043",
        "S038",
        "S156",
        "S049",
        "S055"
      ],
      "parentPage": "/mcp-2026-07-28/",
      "justification": "Searchers encounter contradictory tutorials; this page resolves them directly.",
      "cannibalizationGuard": "Focus on era differences rather than full protocol history.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/mcp-stateful-to-stateless/"
    },
    {
      "title": "MCP Apps Explained",
      "url": "/mcp-apps/",
      "searchIntent": "Extension definition",
      "packageSourceIds": [
        "S020",
        "S021",
        "S042"
      ],
      "sourceIds": [
        "S136",
        "S059",
        "S143"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Interactive UI extension has distinct architecture, sandboxing and host-support intent.",
      "cannibalizationGuard": "Do not call every web app an MCP App.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Tasks Explained",
      "url": "/mcp-tasks/",
      "searchIntent": "Extension definition",
      "packageSourceIds": [
        "S022",
        "S023",
        "S071"
      ],
      "sourceIds": [
        "S137",
        "S060",
        "S049"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Long-running asynchronous work requires careful distinction from ordinary tool calls.",
      "cannibalizationGuard": "Keep workflow examples tied to released semantics.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Elicitation Explained",
      "url": "/mcp-elicitation/",
      "searchIntent": "User-input capability",
      "packageSourceIds": [
        "S007",
        "S010",
        "S068",
        "S071"
      ],
      "sourceIds": [
        "S126",
        "S129",
        "S043",
        "S049"
      ],
      "parentPage": "/mcp-tools-resources-prompts/",
      "justification": "Form and URL modes plus MRTR make this a substantial standalone feature.",
      "cannibalizationGuard": "Do not present secrets collection as valid form-mode use.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "Deprecated MCP Features: Roots, Sampling, Logging and HTTP+SSE",
      "url": "/deprecated-mcp-features/",
      "searchIntent": "Migration and historical intent",
      "packageSourceIds": [
        "S016",
        "S017"
      ],
      "sourceIds": [
        "S135",
        "S055"
      ],
      "parentPage": "/mcp-2026-07-28/",
      "justification": "Keeps removed or deprecated concepts visible instead of erasing protocol learning.",
      "cannibalizationGuard": "Do not imply deprecated means already removed.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Protocol Versions and Compatibility",
      "url": "/mcp-protocol-versions/",
      "searchIntent": "Versioning and migration",
      "packageSourceIds": [
        "S030",
        "S067",
        "S068",
        "S071",
        "S017"
      ],
      "sourceIds": [
        "S024",
        "S036",
        "S043",
        "S049",
        "S055"
      ],
      "parentPage": "/mcp-2026-07-28/",
      "justification": "Date-based revisions and breaking changes create substantial compatibility intent.",
      "cannibalizationGuard": "Keep SDK package versioning separate.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "The MCP Registry",
      "url": "/mcp-registry/",
      "searchIntent": "Discovery and publishing",
      "packageSourceIds": [
        "S026",
        "S027"
      ],
      "sourceIds": [
        "S067",
        "S066"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Official Registry terminology, metadata and preview status need a durable canonical page.",
      "cannibalizationGuard": "Do not turn this into a duplicate server directory.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "Official MCP SDKs",
      "url": "/official-mcp-sdks/",
      "searchIntent": "SDK selection",
      "packageSourceIds": [
        "S024",
        "S025"
      ],
      "sourceIds": [
        "S138",
        "S073"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Language tiers, feature coverage and support windows are useful but volatile.",
      "cannibalizationGuard": "One page, not thin pages for every language until demand and code depth justify them.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "How to Evaluate MCP Server Quality",
      "url": "/mcp-server-quality/",
      "searchIntent": "Selection and maturity",
      "packageSourceIds": [
        "S015",
        "S026",
        "S027"
      ],
      "sourceIds": [
        "S134",
        "S067",
        "S066"
      ],
      "parentPage": "/mcp-server-security/",
      "justification": "Converts prototype-versus-production framework into actionable evaluation criteria.",
      "cannibalizationGuard": "Do not rank products without reproducible testing.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "Enterprise MCP",
      "url": "/enterprise-mcp/",
      "searchIntent": "Enterprise architecture",
      "packageSourceIds": [
        "S014",
        "S015",
        "S039",
        "S046",
        "S048"
      ],
      "sourceIds": [
        "S133",
        "S134",
        "S141",
        "S093",
        "S091"
      ],
      "parentPage": "/remote-mcp-servers/",
      "justification": "Identity, policy, catalogs, audit and tenant isolation are distinct enterprise intent.",
      "cannibalizationGuard": "Separate vendor features from protocol requirements.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Gateways and Proxies",
      "url": "/mcp-gateways-proxies/",
      "searchIntent": "Infrastructure intent",
      "packageSourceIds": [
        "S012",
        "S014",
        "S015",
        "S018"
      ],
      "sourceIds": [
        "S131",
        "S133",
        "S134",
        "S058"
      ],
      "parentPage": "/enterprise-mcp/",
      "justification": "Routing, policy, aggregation and observability emerge at internet scale.",
      "cannibalizationGuard": "Label gateway and proxy as ecosystem roles unless protocol-defined.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "How Are MCP Servers Discovered?",
      "url": "/mcp-server-discovery/",
      "searchIntent": "Discovery comparison",
      "packageSourceIds": [
        "S008",
        "S026",
        "S027"
      ],
      "sourceIds": [
        "S127",
        "S067",
        "S066"
      ],
      "parentPage": "/mcp-registry/",
      "justification": "Separates protocol discovery, Registry search, catalogs and package distribution.",
      "cannibalizationGuard": "Do not confuse server/discover with public server discovery.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP Host Compatibility Guide",
      "url": "/mcp-host-compatibility/",
      "searchIntent": "Product compatibility",
      "packageSourceIds": [
        "S037",
        "S039",
        "S042",
        "S043",
        "S044",
        "S045"
      ],
      "sourceIds": [
        "S140",
        "S141",
        "S143",
        "S144",
        "S145",
        "S146"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Users need feature-by-feature rather than binary compatibility claims.",
      "cannibalizationGuard": "Live-check every product and avoid static “all clients” lists.",
      "priority": "P0",
      "publicationStatus": "published"
    },
    {
      "title": "Production MCP Server Checklist",
      "url": "/production-mcp-server-checklist/",
      "searchIntent": "Implementation readiness",
      "packageSourceIds": [
        "S014",
        "S015",
        "S024",
        "S025"
      ],
      "sourceIds": [
        "S133",
        "S134",
        "S138",
        "S073"
      ],
      "parentPage": "/mcp-server-quality/",
      "justification": "High practical value across auth, tenant isolation, audit, retries and operations.",
      "cannibalizationGuard": "Do not duplicate beginner setup guides.",
      "priority": "P0",
      "publicationStatus": "planned"
    },
    {
      "title": "The History of MCP Servers",
      "url": "/history-of-mcp-servers/",
      "searchIntent": "Historical cornerstone",
      "packageSourceIds": [
        "S028",
        "S030",
        "S031",
        "S032",
        "S067",
        "S068",
        "S071",
        "S017"
      ],
      "sourceIds": [
        "S021",
        "S024",
        "S013",
        "S019",
        "S036",
        "S043",
        "S049",
        "S055"
      ],
      "parentPage": "/what-is-an-mcp-server/",
      "justification": "Existing deep history supplies authority and version context for the beginner hub.",
      "cannibalizationGuard": "Keep historical chronology here; the beginner page remains current-first.",
      "priority": "P0",
      "publicationStatus": "reconciled-to-existing-canonical",
      "canonicalTarget": "/mcp-history/"
    },
    {
      "title": "MCP 2024-11-05",
      "url": "/mcp-2024-11-05/",
      "searchIntent": "Frozen specification history",
      "packageSourceIds": [
        "S030",
        "S031",
        "S032"
      ],
      "sourceIds": [
        "S024",
        "S013",
        "S019"
      ],
      "parentPage": "/history-of-mcp-servers/",
      "justification": "Launch-era semantics deserve an exact archived reconstruction.",
      "cannibalizationGuard": "Do not import authorization or Streamable HTTP.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP 2025-03-26",
      "url": "/mcp-2025-03-26/",
      "searchIntent": "Frozen specification history",
      "packageSourceIds": [
        "S067",
        "S069",
        "S070"
      ],
      "sourceIds": [
        "S036",
        "S038",
        "S156"
      ],
      "parentPage": "/history-of-mcp-servers/",
      "justification": "Authorization, batching and original Streamable HTTP define the remote transition.",
      "cannibalizationGuard": "Describe 2025 sessions rather than current stateless behavior.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP 2025-06-18",
      "url": "/mcp-2025-06-18/",
      "searchIntent": "Frozen specification history",
      "packageSourceIds": [
        "S068"
      ],
      "sourceIds": [
        "S043"
      ],
      "parentPage": "/history-of-mcp-servers/",
      "justification": "Batching reversal, structured output, elicitation and OAuth hardening justify standalone treatment.",
      "cannibalizationGuard": "Do not merge with the March release.",
      "priority": "P1",
      "publicationStatus": "planned"
    },
    {
      "title": "MCP 2025-11-25",
      "url": "/mcp-2025-11-25/",
      "searchIntent": "Frozen specification history",
      "packageSourceIds": [
        "S071"
      ],
      "sourceIds": [
        "S049"
      ],
      "parentPage": "/history-of-mcp-servers/",
      "justification": "One-year revision, experimental Tasks and governance updates have separate intent.",
      "cannibalizationGuard": "Do not describe Tasks here using current extension semantics.",
      "priority": "P1",
      "publicationStatus": "planned"
    }
  ]
}