# Model Context Protocol (MCP) vs OpenAI Plugins (formerly Apps SDK)

The map lists them as complementary: sites and agents commonly implement both. Model Context Protocol is a prerequisite of OpenAI Plugins (formerly Apps SDK).

[5 Act](/category/act/) [Model Context Protocol](/protocols/mcp/) · [5 Act](/category/act/) [OpenAI Plugins (formerly Apps SDK)](/protocols/openai-apps-sdk-manifests/)

|  | [Model Context Protocol](/protocols/mcp/) MCP | [OpenAI Plugins (formerly Apps SDK)](/protocols/openai-apps-sdk-manifests/) |
| --- | --- | --- |
| Lifecycle step | 5 Act: Do something for me | 5 Act: Do something for me |
| Answers | How does an AI application call tools and pull structured context, prompts, and data from an external server? | How does a developer publish a tool with an optional interactive UI that ChatGPT and Codex can call? |
| Governed by | Agentic AI Foundation (Linux Foundation umbrella); day-to-day spec work in the modelcontextprotocol GitHub org via public SEPs (Specification Enhancement Proposals) and working groups | OpenAI, unilaterally, for the ChatGPT-specific extension layer (window.openai bridge, submission/review process); the underlying UI transport (MCP Apps) is co-governed via the modelcontextprotocol org, and OpenAI's documentation explicitly directs developers to prefer the shared MCP Apps standard over ChatGPT-specific extensions wherever it covers the need |
| Status (issuer's words) | Active open specification, current dated release 2026-07-28 | Active vendor product, rebranded from "Apps SDK" to "Plugins" as the top-level developers.openai.com section name (developers.openai.com/apps-sdk now redirects to developers.openai.com/plugins) |
| Version | 2026-07-28 (2026-07-28) | current, 2026 (unversioned docs; MCP Apps sub-standard dated 2026-01-26) |
| Form / transport | endpoint | endpoint |
| Found at | GET {endpoint}/server-card (SEP-2127 Final, application/mcp-server-card+json, discovered via /.well-known/ai-catalog.json; /.well-known/mcp.json is legacy SEP-1649) | none public/well-known; plugins are submitted to and listed in OpenAI's plugin directory (developers.openai.com/plugins) rather than self-announced by a site |
| Implementation | multi-implementation — Three independent registry censuses, kept separate and not averaged. VerifyMCP as of 2026-10-19 (https://verifymcp.io/stats, embedded in <script id="stats-charts-data"> time-series JSON; HTML hero card reflects latest daily snapshot): 47,870 logical servers (45,953 active, 601 deprecated, 1,316 deleted; 31,337 remote; 30,842 Streamable HTTP; among handshook components, 20,031 on 2025-11-25 and 6,571 on 2026-07-28). Registry Discussion 1580 as of 2026-08-27 (https://github.com/modelcontextprotocol/registry/discussions/1580): a cursor walk of 82,994 version records yielding 25,125 distinct isLatest servers across 15,468 publishers (13,279 Streamable HTTP remotes). Registry Discussion 1548 as of 2026-08-19 (https://github.com/modelcontextprotocol/registry/discussions/1548): 22,636 active latest registrations (12,077 declaring an HTTPS remote). | shipping |
| Evidence | 11 verified, 2 reported | 3 verified |
| Primary use case | Expose tools to agents | Expose tools to agents |
| Last verified | 2026-10-23 (current) | 2026-10-23 (current) |
| Specification | [https://modelcontextprotocol.io/specification/2026-07-28/index](https://modelcontextprotocol.io/specification/2026-07-28/index) | [https://developers.openai.com/plugins/concepts/mcp-server](https://developers.openai.com/plugins/concepts/mcp-server) |

## When to use which

- Choose Model Context Protocol when your question is “How does an AI application call tools and pull structured context, prompts, and data from an external server?” and you accept its maturity: status "Active open specification, current dated release 2026-07-28", implementation multi-implementation (Three independent registry censuses, kept separate and not averaged. VerifyMCP as of 2026-10-19 (https://verifymcp.io/stats, embedded in <script id="stats-charts-data"> time-series JSON; HTML hero card reflects latest daily snapshot): 47,870 logical servers (45,953 active, 601 deprecated, 1,316 deleted; 31,337 remote; 30,842 Streamable HTTP; among handshook components, 20,031 on 2025-11-25 and 6,571 on 2026-07-28). Registry Discussion 1580 as of 2026-08-27 (https://github.com/modelcontextprotocol/registry/discussions/1580): a cursor walk of 82,994 version records yielding 25,125 distinct isLatest servers across 15,468 publishers (13,279 Streamable HTTP remotes). Registry Discussion 1548 as of 2026-08-19 (https://github.com/modelcontextprotocol/registry/discussions/1548): 22,636 active latest registrations (12,077 declaring an HTTPS remote).).
- Choose OpenAI Plugins (formerly Apps SDK) when your question is “How does a developer publish a tool with an optional interactive UI that ChatGPT and Codex can call?” and you accept its maturity: status "Active vendor product, rebranded from "Apps SDK" to "Plugins" as the top-level developers.openai.com section name (developers.openai.com/apps-sdk now redirects to developers.openai.com/plugins)", implementation shipping.

Guidance is derived from the two records (question, status, implementation, prerequisites, pairings), not from opinion. Each record's page carries its numbered references.

## Read the full articles

- [Model Context Protocol](/protocols/mcp/): How does an AI application call tools and pull structured context, prompts, and data from an external server?
- [OpenAI Plugins (formerly Apps SDK)](/protocols/openai-apps-sdk-manifests/): How does a developer publish a tool with an optional interactive UI that ChatGPT and Codex can call?

Ask the MCP server to compare any two: the compare-protocols prompt, or get on both ids. [Connect](/connect/).

[mcp.json](/data/protocols/mcp.json) · [openai-apps-sdk-manifests.json](/data/protocols/openai-apps-sdk-manifests.json) · [Markdown](/compare/mcp-vs-openai-apps-sdk-manifests/index.md)
