I remember being very confused when I first heard about an LLM's ability to request code execution. This feature has been called various names: tool, action, plugin, function. Now the terminology is settling on a single name: tool. However, talking to other developers and reading comments online, I see the confusion has shifted elsewhere. Some argue that, with the introduction of skills by Anthropic, MCP no longer makes sense, and others aren't convinced of the usefulness of MCP compared to direct tool calls.
The confusion is architectural. Tools, MCP servers, and skills solve different problems at different layers.
AI Tools Are the Model's Swiss Army Knife
At the most fundamental level, an AI tool is a function that a language model can decide to call. Not a metaphor for "capability" in general, but a specific, callable function with a defined input schema and a predictable output.
When a model needs information or an action it can't produce from training alone, it generates a structured call to a tool: something like "call get_customer_record with customer_id: 12345." The host application intercepts that call, runs the actual function, and returns the result to the model. The model then incorporates it and continues.










