Q: Tool calling vs MCP — what's the difference?
Same idea, two levels of standardization.
Tool calling is the raw mechanic: you describe your functions to the LLM, and it replies with "call this function with these arguments." You write the glue code that runs the function and returns the result. It's a feature of the model API, and every integration is custom.
MCP standardizes that glue. An MCP server wraps a set of tools behind a common protocol, so any MCP-compatible agent can connect to it without custom integration code. You write the wrapper once, and your tool works across clients and agents.
MCP also works in the other direction: you can plug in tools that other people and companies have already built. There are MCP servers for Gmail, Slack, Jira, GitHub, databases, and thousands of other services. Your agent gets those capabilities by connecting to a server, not by you writing integration code.
My advice: learn raw tool calling first, then adopt MCP. Under the protocol, it's still tool calling. Engineers who skip the fundamentals struggle the moment anything breaks.