A developer compares MCP with a model provider's native function-calling API and asks whether MCP replaces it. Which statement best describes the relationship?
Select an answer to reveal the explanation.
Short Explanation
Function calling is your model raising its hand to ask for a tool. MCP is how the host actually finds that tool on a server and runs it, the same way for every provider. They work together — neither one swallows the other.
Full Explanation
Function calling, as offered by model provider APIs, is a model-side format: the host describes available functions to the model, and the model emits a structured request naming a function and arguments. MCP addresses a different problem. It standardizes how a host discovers tools from servers with tools/list, obtains their names, descriptions and input schemas, and executes them with tools/call, regardless of which model is in use. A host typically converts MCP tool definitions into whatever format its model provider expects, receives the model's call, and routes it to the right MCP client and server. MCP therefore does not replace function calling; the model still has to express its intent to use a tool. Calling function calling MCP's transport layer is wrong, because MCP's transports are stdio and Streamable HTTP carrying JSON-RPC messages, and many MCP messages, such as resources/read or server/discover, have nothing to do with a model's tool call. Treating them as one mechanism defined by model providers ignores that MCP is a separate, openly governed specification. Exam caveat: some hosts let users or applications trigger tools directly, so a tool call need not originate from the model. Operational check: trace one tool use from the model's call through the host's routing to the tools/call request.