MCP vs tool calling
Tool calling is how a model asks for an action. MCP is an open standard for packaging tools so any AI app can use them.
Tool calling and MCP work at different levels. Tool calling (also called function calling) is a feature of a model API: the model decides to call a function and your app runs it. MCP is an open standard for connecting AI apps to tools and data.
If you are writing one app, defining your own tools is simplest. If you want the same tool to work in Claude, ChatGPT, Cursor and more, put it in an MCP server. They also combine, since Anthropic's API can connect to remote MCP servers directly. See what MCP is.
Good for
- Developers adding tools to a model through an API
- People deciding whether to write functions or use an MCP server
- Claude and ChatGPT users who want to know what connectors are built on
- Teams building a tool that should work in more than one AI app
Side by side
Our advice: define your own tools when you are building one app. Use MCP when other people or other AI apps should be able to use the same tools.
| Option | MCP | Tool calling |
|---|---|---|
| What it is | Open standard | Model API feature |
| Who defines the tools | An MCP server | Your app, in each request |
| Who runs the tool | The MCP server | Your code, or the model provider |
| Who uses it | AI apps and their users | Developers calling a model API |
| Tools count against context | Yes | Yes |
Which to pick
Our advice: use plain tool calling for tools inside one app you control. Use MCP when you want the same tools in several AI apps, or when a server for the service already exists. Use both when your API app should reach a remote MCP server.
The limit on each side: tool definitions take up space in the model's context, and a tool call alone does not make a tool reusable in other apps.
Best for
- Tool calling: a function in your own app, such as looking up an order
- Tool calling: tools that only your code should ever run
- MCP: sharing one tool across Claude, ChatGPT, Cursor and other AI apps
- MCP: reusing a server someone else already built
- Both: an API app that connects to a remote MCP server
Skip it if
- MCP: you have one small function in one app, since a server adds setup you may not need
- Tool calling: you want the same tool to work in other AI apps without rewriting it
Related plugs
6
Notion MCPOfficialHostedOAuthNotion's hosted remote MCP server at mcp.notion.com. Sign in with OAuth and an AI client can search, read, create and update the pages and databases you can access. No local install.
GitHub MCP ServerOfficialHosted or LocalOAuthGitHub's official MCP server. Lets an AI assistant read code, manage issues and pull requests, check Actions runs and security alerts. Hosted at api.githubcopilot.com/mcp or run locally with Docker or a Go binary.
34.1K GitHub stars
LinearOfficialHostedOAuthFind and manage issues, projects, and documents in your Linear workspace.
SupabaseOfficialHosted or LocalOAuthMCP server for interacting with the Supabase platform
3K GitHub stars
Playwright MCPOfficialLocalPlaywright MCP server
38.9K GitHub stars
Context7OfficialHosted or LocalAPI keyUp-to-date docs for AI agents
64K GitHub stars
Questions
What is the difference between MCP and tool calling?
Tool calling is a model feature: the model returns a structured request to call a function, and your app or the provider runs it. MCP is an open standard for how AI apps find and use tools that servers expose. See MCP tools for what a server exposes.
Is tool calling the same as function calling?
Yes. Anthropic says tool use is also called function calling, and OpenAI says function calling is also known as tool calling.
Does MCP replace tool calling?
No. They work at different levels. Anthropic's API can connect to remote MCP servers directly, so MCP tools and tools you define yourself can sit side by side. Skills are a different layer again; see MCP vs skills.
Do I need MCP to use tool calling?
No. You can define your own functions in an API request and run them in your code. MCP is useful when you want to reuse tools built by others or share yours with other AI apps.
When should I use an MCP server instead of writing my own tool?
When the service already has an MCP server, or when several AI apps should share the tool. Write your own tool when it is small and private to one app.
Who runs the tool in each case?
With tool calling, your code runs client tools, and the provider runs server tools such as web search. With MCP, the MCP server runs the tool and the AI app sends the request.
Does MCP work with ChatGPT and Claude?
Yes. The MCP docs name Claude, ChatGPT, Visual Studio Code and Cursor among the clients that support it. See how to add an MCP server to ChatGPT.
Do tools use up context either way?
Yes. OpenAI says function definitions count against the model's context limit. Connected MCP servers also add their tools to a session. See MCP vs CLI for how that compares.
Is MCP an API?
MCP is a standard that clients and servers follow, not a model API. For the difference between calling an API directly and using MCP, see API vs MCP.
Sources
Docs, issue trackers and discussions this page is built from.
Show all 5Hide
- Tool use with Claude · platform.claude.com
- Function calling · developers.openai.com
- What is the Model Context Protocol? · modelcontextprotocol.io
- Tools (specification) · modelcontextprotocol.io
- Best practices for Claude Code · code.claude.com