Command Palette

Search for a command to run...

UnylyUnyly
Unyly▸ Q&A

What is the difference between MCP and function calling?

▸ TL;DR

Function calling is a vendor-specific LLM API (OpenAI, Anthropic). MCP is an open protocol — same MCP server works with any client (Claude Desktop, Cursor, VS Code). MCP avoids vendor lock-in.

Read MCP explainer

Full answer

Function calling is a feature of specific LLM APIs: you describe tools in OpenAI's JSON schema, call the API, the LLM picks a tool to invoke. It only works with that vendor and runs inside your application code. MCP is an inter-process protocol: a separate MCP server exposes tools, and any MCP-aware client (regardless of which LLM it uses internally) can call them. This means: one MCP server (say, GitHub MCP) works in Claude Desktop, Cursor, VS Code, and other clients. With function calling, you'd have to re-integrate for each app. MCP also handles streaming, cancellation, capability negotiation — features you'd have to build yourself with function calling.

Related questions