The Four Core Concepts of AI Agents Explained: Function Calling, Tool, MCP, and Skill

A layered breakdown of Function Calling, Tool, MCP, and Skill — the four pillars of AI Agent development.
This article demystifies the four core concepts behind AI Agent development: Function Calling (the model's native mechanism for triggering external actions), Tool (structured packaging of external capabilities), MCP (a universal protocol for plug-and-play integrations), and Skill (reusable modules that encode established workflows). Together, they form a complete, progressive technology stack that powers modern intelligent agents.
In the rapidly evolving world of AI Agents, the terms Function Calling, Tool, MCP, and Skill are virtually everywhere — yet they often leave newcomers scratching their heads. While they may seem unrelated at first glance, they actually form a complete, interconnected technology stack. This article breaks down each concept layer by layer, clarifies their progressive relationships, and helps you build a systematic understanding of the underlying logic behind Agent development.
Function Calling: The LLM's Native Reach
At its core, a large language model is a text prediction engine. It has no built-in ability to query real-time weather data, search the web, or access a database. Function Calling is the native mechanism created specifically to bridge this gap.
Function Calling was officially introduced by OpenAI in June 2023 alongside the GPT-3.5/GPT-4 API update, and was quickly adopted by Google, Anthropic, and other major LLM providers, eventually becoming an industry-standard capability. Its implementation relies on the model having learned a large number of function-calling examples during pre-training and fine-tuning, enabling it to recognize when an external capability should be invoked and to output structured parameters that conform to JSON Schema specifications. This mechanism fundamentally addresses two inherent limitations of LLMs: the knowledge cutoff date and the boundary of their capabilities.
The mechanics are straightforward: when the model encounters a task during inference that falls outside its own capabilities, rather than fabricating an answer, it outputs a function name and a set of parameters in a predefined format.

A critical point to emphasize: Function Calling only produces a structured instruction — the model itself does not actually execute anything. The real execution is handled by external code. In other words, the model decides what to call, and the external program actually makes the call. This is the first foundational block for understanding the entire Agent ecosystem.
Tool: Systematically Packaging Function Calls
If Function Calling is a one-off instruction, then a Tool is a structured, reusable packaging of that capability. Developers can wrap external capabilities — like "check weather," "search the web," or "read a file" — into standardized tools, forming an on-demand "toolbox."
As Agent frameworks like LangChain and LlamaIndex matured, the Tool concept became well-established. These frameworks abstract tools into a unified interface, where each tool typically contains four core elements: name, description, input parameter schema, and an execution function. The model reads the tool's natural language description to understand its purpose, then decides whether to invoke it based on the task context. This design completely decouples tool development from model training — developers don't need to retrain the model to add new capabilities; they simply register a new tool. This dramatically lowers the barrier to iteration.

With a toolbox in place, the agent can autonomously evaluate and select the right tool for any given task, rather than relying on the developer to manually specify each function call. Compared to individual function calls, the Tool abstraction makes the entire process more systematic, reusable, and aligned with the concept of autonomous agent decision-making. This layer of abstraction is the pivotal transition that takes an Agent from passive response to active planning.
MCP: The "Universal Adapter" of the AI World
Tools are powerful, but early implementations had a notable pain point: every time a new external service was integrated, developers had to rewrite an entire set of adapter code. Switching APIs or platforms meant redundant work, and the ecosystem became increasingly fragmented.
MCP (Model Context Protocol) was introduced as a unified standard to solve exactly this problem — think of it as the "universal power adapter" of the AI world.
MCP was officially released and open-sourced by Anthropic in November 2024, emerging against a backdrop of growing integration pain. Before MCP, every AI application had to write separate integration code for services like Slack, GitHub, and various databases, making maintenance extremely costly. MCP drew inspiration from the well-known LSP (Language Server Protocol) in software engineering — the same protocol that allows VS Code to support intelligent code completion for hundreds of programming languages through a unified interface. MCP similarly defines a standard JSON-RPC-based communication protocol, abstracting server-side capabilities into three primitives: Resources, Tools, and Prompts. This allows any MCP-compatible client to seamlessly connect with any MCP-compatible server.

The core idea behind MCP is to establish a unified communication specification: MCP servers proactively "advertise" their capability catalog and translate the diverse data and abilities of the external world into structured text that LLMs can understand. Through this standardized protocol, previously siloed data sources can be connected, and the cost of integrating new tools drops significantly. MCP has effectively moved the tool ecosystem from "custom one-off integrations" to a scalable, plug-and-play era.
Skill: Packaging Established Workflows into Reusable Modules
Even with tools and protocols in place, a real efficiency bottleneck remains when handling complex tasks — every invocation requires writing lengthy prompts, which not only costs developer time but also consumes a large number of tokens, driving up expenses.
Skill is the solution to this problem. At its core, a Skill packages the standard workflow for handling a class of complex tasks into a reusable module.

The value of Skills goes beyond engineering reuse — it reflects deep token economics considerations. LLM APIs are typically billed by the token. If a complex task requires thousands of tokens of system prompt every single time it's called, costs scale linearly with usage frequency. Skills compress mature processing logic into more compact call forms, effectively reducing the context length needed per inference. In multi-agent collaboration scenarios, Skills can even be shared across agents, forming an organization-level capability asset library — this is precisely the core logic behind the skill marketplaces being actively promoted by platforms like Microsoft AutoGen and ByteDance's Coze.
Once a workflow is encapsulated as a Skill, the agent can invoke it directly the next time a similar task arises, without rewriting lengthy prompts. A fitting analogy: Skills transform an Agent from an "intern" who needs constant guidance into a seasoned "expert" who already knows the ropes. The value of Skills lies in accumulating expertise, boosting efficiency, and significantly cutting token costs.
The Progressive Relationship: A Complete Capability Chain
Connecting all four concepts reveals the underlying logic of how Agents operate:
- MCP standardizes the way tools are "plugged in" and made available;
- Tools organize external capabilities into a callable toolbox;
- Function Calling precisely triggers the right calls during inference;
- Skills encapsulate mature workflows for reuse, enabling ongoing efficiency gains.
The entire chain can be summarized as: use MCP to plug in tools, use Function Calling to execute them precisely, and encapsulate the results into Skills for continuous improvement.
Understanding this underlying logic makes it easy to see why a well-designed Agent can be both reliable and cost-efficient.
For developers learning or building Agent applications, rather than getting confused by the surface-level terminology, it's more productive to approach these concepts through their collaborative relationships: each layer compensates for the limitations of the one above it, and together they form the technical backbone of modern AI Agents. Mastering this logic is the true starting point for Agent development.
Related articles

Gmod TTT: Boba's Winning Streak and Game Design Insights
An in-depth analysis of Gmod TTT's role system, creative items, and social gameplay mechanics, exploring the relationship between randomness design and game balance through Boba's winning streak phenomenon.

FlexBudget: Fair Comparison of KV Cache Eviction Strategies Under a Unified Compute Budget
AMD engineer proposes FlexBudget at PyTorch Conference: a training-free fair comparison method for KV cache eviction rules using fixed kernels and memory budgets, all in core PyTorch.
