MCP vs. ChatGPT Plugins vs. Function Calling: A Clear Comparison

5 min read

Three approaches exist for giving AI access to external tools: OpenAI function calling, ChatGPT plugins (now largely deprecated), and MCP. Here's how they differ.

Function calling

Function calling (supported by OpenAI, Anthropic, Google, and others) lets you define tool schemas in your API request. The AI returns a structured call when it wants to use a tool; your code executes it and feeds the result back. This is low-level and powerful, but it lives entirely in your application code — not in a reusable server.

ChatGPT plugins

OpenAI's plugin system (2023–2024) let third-party developers publish cloud-hosted tools accessible inside ChatGPT. Plugins required an OpenAPI manifest, cloud hosting, and approval by OpenAI. They were shut down in 2024 when OpenAI pivoted to GPT Store and custom GPTs. The key limitation: plugins only worked inside ChatGPT.

MCP servers

MCP runs locally on your machine (no cloud hosting needed), works across multiple AI clients, uses a standard discovery mechanism, and supports both tools and resources. The tradeoff: you need to install and configure the server yourself, which requires more setup than a cloud plugin.

When to use each

Use function calling when building an API-first AI app where you control the full stack. Use MCP when you want reusable integrations that work across AI clients without re-implementing them per app. ChatGPT plugins are no longer a meaningful option.

Frequently Asked Questions

Can I use function calling and MCP together?

Yes. MCP clients internally use something similar to function calling to invoke server tools. You can also build apps that use the Anthropic API's tool use feature directly, independent of MCP.

Is MCP replacing function calling?

No. MCP is a higher-level abstraction for composing tools across a session. Function calling is still the primitive inside most AI APIs. They serve different layers of the stack.

Ready to install your first server?

Browse MCP Servers