{
  "title": "MCP vs Function Calling — Myth and Evidence Register",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-25",
  "protocolRevision": "2026-07-28",
  "provenanceNote": "Normalized from the supplied 36-row Markdown source. The checksum-listed archive JSON was not supplied and no archive-exact reconstruction is claimed.",
  "count": 36,
  "records": [
    {
      "id": "MYTH-01",
      "commonClaim": "MCP replaces function calling.",
      "assessment": "False",
      "correction": "MCP supplies a capability interface; hosts commonly expose MCP tools to models through native function/tool calling.",
      "recommendedWording": "Say that MCP and function calling usually occupy adjacent layers.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-02",
      "commonClaim": "MCP is just function calling over HTTP.",
      "assessment": "Misleading",
      "correction": "MCP defines roles, discovery, JSON-RPC methods, transports, version behavior, authorization, resources, prompts, and extensions. It can also use stdio or in-process connections.",
      "recommendedWording": "Use “a protocol for capability discovery and invocation” rather than reducing it to an HTTP call.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-03",
      "commonClaim": "Function calling means the model executes code.",
      "assessment": "False",
      "correction": "The model emits a structured request. Application code or a provider-hosted tool executes the operation.",
      "recommendedWording": "Distinguish model selection from execution.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-04",
      "commonClaim": "Every function call is an MCP tool call.",
      "assessment": "False",
      "correction": "Native function tools can be implemented entirely inside one application without MCP.",
      "recommendedWording": "Reserve “MCP tool” for a tool exposed by an MCP server.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-05",
      "commonClaim": "Every MCP tool is an OpenAI function.",
      "assessment": "False",
      "correction": "A host may translate an MCP tool into an OpenAI function definition, but the source contract and protocol relationship remain distinct.",
      "recommendedWording": "Say “mapped to” or “adapted into,” not “is.”",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-06",
      "commonClaim": "MCP tools are always discovered dynamically.",
      "assessment": "Overbroad",
      "correction": "MCP defines listing/discovery, but hosts may cache, filter, preconfigure, or statically expose a selected subset.",
      "recommendedWording": "Describe discovery as protocol-supported, not universally repeated on every call.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-07",
      "commonClaim": "Native function calling is always static.",
      "assessment": "Outdated",
      "correction": "Modern provider APIs include tool search, namespaces, and deferred loading patterns.",
      "recommendedWording": "Compare ownership and protocol boundaries, not merely static versus dynamic lists.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-08",
      "commonClaim": "MCP always requires a remote server.",
      "assessment": "False",
      "correction": "MCP supports local stdio, remote HTTP, and SDK-specific in-process arrangements.",
      "recommendedWording": "Specify deployment model.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-09",
      "commonClaim": "MCP always adds a network hop.",
      "assessment": "False",
      "correction": "A local or in-process implementation need not cross a network.",
      "recommendedWording": "Say it adds a logical boundary; physical overhead depends on deployment.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-10",
      "commonClaim": "MCP uses SSE.",
      "assessment": "Historically incomplete",
      "correction": "Original HTTP+SSE was replaced; Streamable HTTP can still use request-scoped SSE where streaming is needed.",
      "recommendedWording": "Name the protocol revision and transport architecture.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-11",
      "commonClaim": "Streamable HTTP existed at launch.",
      "assessment": "False",
      "correction": "It arrived in the 2025-03-26 revision.",
      "recommendedWording": "Use the date-specific transport history.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-12",
      "commonClaim": "MCP always used OAuth.",
      "assessment": "False",
      "correction": "The launch-era core did not contain the later OAuth authorization framework.",
      "recommendedWording": "State that OAuth entered MCP in March 2025.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-13",
      "commonClaim": "MCP is a stateful protocol.",
      "assessment": "Outdated as a present-tense universal",
      "correction": "Revisions through 2025 used initialization/session semantics; 2026-07-28 removed protocol sessions and the initialization handshake.",
      "recommendedWording": "Use era-specific wording.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-14",
      "commonClaim": "MCP is completely stateless.",
      "assessment": "Also misleading",
      "correction": "The current core is stateless at the protocol-request layer, while applications, authorization systems, Tasks, and explicit handles may maintain state.",
      "recommendedWording": "Distinguish protocol state from application state.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-15",
      "commonClaim": "Stateless MCP means long-running work is impossible.",
      "assessment": "False",
      "correction": "Tasks and explicit handles can represent durable work without hidden connection affinity.",
      "recommendedWording": "Explain state through explicit application objects.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-16",
      "commonClaim": "MCP is an agent protocol.",
      "assessment": "Partial at best",
      "correction": "Agents can use MCP, but an MCP server is not inherently an agent and the protocol can be used without model reasoning.",
      "recommendedWording": "Describe MCP as a capability protocol used by agentic applications.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-17",
      "commonClaim": "An MCP server is an AI agent.",
      "assessment": "False",
      "correction": "A server may expose deterministic data or actions and need not contain a model or autonomous loop.",
      "recommendedWording": "Keep server and agent roles separate.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-18",
      "commonClaim": "MCP eliminates the N × M integration problem.",
      "assessment": "Overstated",
      "correction": "It can reduce repeated transport and capability-adapter work, but hosts still differ in schemas, approvals, capabilities, auth, UX, and semantics.",
      "recommendedWording": "Say MCP reduces some repeated integration work.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-19",
      "commonClaim": "One MCP server behaves identically in every host.",
      "assessment": "False",
      "correction": "Hosts can filter tools, choose different models, render results differently, support different extensions, and apply different policies.",
      "recommendedWording": "Claim protocol compatibility, not identical behavior.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-20",
      "commonClaim": "MCP automatically makes a tool portable between model providers.",
      "assessment": "Overstated",
      "correction": "Names, schemas, content blocks, strictness rules, and provider features may need lossy translation.",
      "recommendedWording": "Require cross-provider compatibility tests.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-21",
      "commonClaim": "MCP tool annotations enforce safety.",
      "assessment": "False",
      "correction": "The specification treats annotations as untrusted hints unless the server is trusted.",
      "recommendedWording": "Use annotations as risk vocabulary, not enforcement.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-22",
      "commonClaim": "OAuth makes an MCP server secure.",
      "assessment": "False",
      "correction": "OAuth addresses delegated authorization. It does not secure tool implementation, packages, prompt injection, tenant isolation, or host behavior.",
      "recommendedWording": "Describe the exact threat OAuth mitigates.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-23",
      "commonClaim": "MCP solves prompt injection.",
      "assessment": "False",
      "correction": "MCP transports descriptions, resources, results, and external content that may themselves be untrusted.",
      "recommendedWording": "Maintain model/input-layer defenses separately.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-24",
      "commonClaim": "Direct function calling is inherently safer than MCP.",
      "assessment": "Unsupported universal",
      "correction": "Direct calls remove some boundaries but still expose unsafe code, excessive privileges, injection, validation, and confirmation risks.",
      "recommendedWording": "Compare concrete deployments and trust boundaries.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-25",
      "commonClaim": "MCP is inherently safer than direct function calling.",
      "assessment": "Unsupported universal",
      "correction": "MCP adds structured boundaries and policy opportunities but also adds servers, transports, packages, and authorization complexity.",
      "recommendedWording": "Evaluate controls, not labels.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-26",
      "commonClaim": "MCP always has higher latency.",
      "assessment": "Unsupported universal",
      "correction": "Latency depends on in-process/local/remote deployment, caching, model time, external API time, and host behavior.",
      "recommendedWording": "Benchmark the actual architecture.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-27",
      "commonClaim": "Function calling has no discovery.",
      "assessment": "Outdated",
      "correction": "Provider tool-search and deferred-loading mechanisms now support selective runtime exposure.",
      "recommendedWording": "Separate provider tool search from independent server discovery.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-28",
      "commonClaim": "MCP structured tool output is the same as structured model output.",
      "assessment": "False",
      "correction": "MCP `structuredContent` describes a tool result; model structured output constrains model-generated data.",
      "recommendedWording": "Name which component generated the structure.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-29",
      "commonClaim": "MCP replaces REST, GraphQL, or OpenAPI.",
      "assessment": "False",
      "correction": "Servers commonly call REST/GraphQL APIs or wrap OpenAPI-described services.",
      "recommendedWording": "Place MCP above or alongside underlying interfaces.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-30",
      "commonClaim": "An OpenAPI document is an MCP server.",
      "assessment": "False",
      "correction": "OpenAPI is a description; a bridge or implementation is required to expose MCP methods and runtime behavior.",
      "recommendedWording": "Distinguish description from running implementation.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-31",
      "commonClaim": "A provider connector is automatically an MCP server.",
      "assessment": "False",
      "correction": "Connector is product terminology and may refer to a proprietary integration, hosted bridge, or MCP implementation.",
      "recommendedWording": "Verify protocol support and role.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-32",
      "commonClaim": "Every remote MCP server supports the same authorization flow.",
      "assessment": "False",
      "correction": "Authorization behavior depends on protocol revision, server metadata, client support, scopes, upstream service, and extensions.",
      "recommendedWording": "Document the exact flow and revision.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-33",
      "commonClaim": "MCP compatibility guarantees schema fidelity.",
      "assessment": "False",
      "correction": "Provider adapters may simplify or alter schemas; official SDKs describe conversion as best effort in some paths.",
      "recommendedWording": "Test names, JSON Schema keywords, outputs, and errors.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-34",
      "commonClaim": "A tool description is harmless metadata.",
      "assessment": "False",
      "correction": "Models use descriptions to decide behavior, and malicious or mutable descriptions can influence action selection.",
      "recommendedWording": "Treat descriptions as security-relevant untrusted input.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-35",
      "commonClaim": "The model should receive every tool from every connected server.",
      "assessment": "Poor practice",
      "correction": "Large catalogs consume context and can reduce relevance; hosts increasingly use filtering, search, namespaces, and deferred loading.",
      "recommendedWording": "Expose only the relevant, authorized subset.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    },
    {
      "id": "MYTH-36",
      "commonClaim": "MCP can be evaluated by GitHub stars or package downloads alone.",
      "assessment": "False",
      "correction": "Those metrics do not establish active users, interoperability, production quality, or unique deployments.",
      "recommendedWording": "Use dated, defined, multi-dimensional adoption evidence.",
      "provenance": "Normalized from myth_vs_evidence.md; the archive-named CSV/JSON files were not supplied and their recorded hashes could not be reproduced."
    }
  ]
}