RAG and Agentic Systems

MCP, Skills, A2A and multi-agent: which one you actually need and which one just adds parts

An agent can be extended in four ways, and each answers a different question: Skills is know-how, MCP is access, A2A is delegating outward and multi-agent is splitting inward. Most teams reach for multi-agent when what they were missing was a Skill, and they pay for it in coordination failures.

8 min read
One agent at the center with four ways to extend it around it: a card of instructions, a plug into tools and data, a handshake with another agent and a cluster of three agents, with only one path lit

Almost every multi-agent system shown to me this year has the same story behind it. One agent was not doing a task well, somebody proposed splitting it across three specialized agents, and now there are three agents that also do not do it well, plus a new problem: agreeing with each other. The diagram came out impressive and the result got worse.

The short answer: the four ways to extend an agent answer different questions. They are not alternatives, and they are not maturity stages. Picking the wrong one does not just waste work, it adds failure modes that did not exist before. And the one most often picked prematurely, multi-agent, is precisely the one that adds the most.

What question does each one answer?

Four different questions. If you know which one is yours, the choice is obvious.

Extension The question it answers What it does NOT solve
Harness How does the model act instead of only replying? What it should do, and with what information
Skills Does it know how this task is done here? Reaching the systems where the data lives
MCP Can it touch the systems where the data is? What to do once it gets there
A2A Can it delegate to an agent that is not yours? Coordinating the agents that are yours
Multi-agent Is splitting the work across several worth it? Each part being solved well

The market's most expensive confusion sits between rows two and three. MCP hands the agent the key to the warehouse. A Skill tells it what to do once inside. They are complementary, and most production systems use both.

What is the harness, and why does almost nobody name it?

It is the loop that turns a model into an agent. Without it there is no agent, there is a chat.

A language model on its own takes text and returns text. The harness is what makes it act: it takes the instruction, lets the model decide, executes the tool it asked for, hands back the result, lets it decide again, and persists state between steps so the next turn knows what happened in the last one.

It is the least discussed of the concepts circulating in these lists, and the one that most determines whether the system is usable. A bad harness shows up as symptoms people blame on the model: the agent repeats the same step, does not recognize it is finished, or loses halfway through what it had already decided.

It is no accident that those three symptoms appear as named failure modes in the literature, and we will come back to them below.

When do you need a Skill?

Almost always, and it is the cheapest of the four.

A Skill is a folder of instructions that teaches the agent how to do one thing: the criteria, the order, the output format, what to check before delivering. Since December 2025 it has been an open, file-based standard: a SKILL.md with instructions plus whatever resources and scripts it needs [2].

Its key mechanism is progressive disclosure: at startup the agent loads only each Skill's name and description, roughly 30 to 50 tokens each. The full instructions load when a task matches, and referenced files load only during execution [2]. This matters for a practical reason: you can have fifty Skills available without spending context on the forty-nine that do not apply today.

Signal you need a Skill: the agent has access to everything it needs and still delivers in the wrong format, skips a review step, or applies a criterion that is not the right one at your company.

Signal this is not what is missing: the agent knows exactly what to do and cannot, because it cannot reach the system.

When do you need MCP?

When the agent has to touch real systems, and there is more than one.

MCP solves the custom-integration problem: one standard protocol instead of a hand-built connector per tool. If your agent talks to a single system and you already have that connector written, MCP will not change your life today. If it is going to talk to six, and you expect nine next year, the difference is structural.

Signal you need MCP: you are writing the third connector by hand and all three look suspiciously alike.

Signal you do not: one stable system, with an API that already works. Adopting the protocol there is architectural overhead with no return.

When do you need A2A?

When the other agent is not yours. That is the whole rule.

A2A exists so agents from different owners or vendors can discover each other, exchange tasks and delegate work securely. It is an interoperability decision between organizations, not an internal architecture decision.

It gets confused with multi-agent constantly because both involve more than one agent. The difference is the boundary: A2A crosses it, multi-agent does not.

Signal you need A2A: you are integrating with a vendor's, a customer's or a partner's agent, and neither side controls the other.

Signal you do not: the agents are all yours, running on your infrastructure, deployed the same day. A discovery protocol between strangers is ceremony there.

When do you need multi-agent?

Much later than most people think, and there is evidence of what arriving early costs.

UC Berkeley's MAST study analyzed more than 1,600 annotated traces from seven popular multi-agent frameworks and classified 14 distinct failure modes [1]. What matters is not the count, it is where they come from.

FIG-1Multi-agent failures are engineering and definition failures, not model failuresDistribution of failure modes, %
Data
ValueShare
Specification and system design41.8%42%
Inter-agent misalignment36.9%37%
Task verification21.3%21%

Almost 37% of failures are inter-agent misalignment. That percentage does not exist in a single-agent system: it is a cost that appears the day you decide to split the work. And the largest category, specification and design, also grows with the split, because every new boundary between agents is a new specification somebody has to write well.

The most frequent individual modes are just as revealing.

FIG-2The most common failures are loop failures, not intelligence failuresFrequency over all observed failures, %
Data
Failure modeFrequency
Repeating an already executed step15.7%
Not recognizing the termination condition12.4%
Disobeying the task specification11.8%

Repeating a step, not noticing it is done, disobeying the instruction. These are exactly the symptoms of a weak harness, which is the first item on the list and the one almost nobody built before splitting the work across three agents.

Signal you need multi-agent: you have genuinely parallel subtasks, or subtasks requiring mutually incompatible contexts, and one agent already solves each of them well.

Signal you do not: one agent does the task badly and the proposal is to split it. Splitting a problem you do not understand gives you several problems you do not understand.

In what order do you build?

Bottom up, and you almost never reach the end.

Step Extension When to move to the next
1 Harness When the agent completes the task end to end and knows when it finished
2 Skills When criteria and format come out right without anyone correcting by hand
3 MCP When the agent reaches every system it needs
4 Multi-agent Only if there is real parallelism or incompatible contexts
5 A2A Only if the other agent belongs to somebody else

Most projects that work stop between 2 and 3. That is not a limitation, it is the expected result: steps 4 and 5 solve problems most systems do not have.

How we apply this at MasterDragon

We ask what is missing before asking what to add.

In practice, when an agent underperforms we check in this order: does it recognize when it finished? are the criteria written down or are we assuming them? does it reach the data? Only if all three answers are yes and the work still comes out wrong do we consider splitting it. In most cases the answer is in the second question, and it is solved by writing an instruction properly, not by deploying architecture.

We also build with a single agent by default and split only when we can name the subtask that runs in parallel. If we cannot name it, there is no parallelism, there is an appetite for a more interesting diagram.

If you are about to commit to an agent architecture and want to know which of these four you are actually missing, talk to our engineers. You can start with how we build your software and review our portfolio of shipped AI-native products. The full vocabulary is defined in the agentic AI glossary, what sits underneath an agent that survives production in the 13 layers of a real AI system, and how much autonomy to give each one in engineered agency.

References

  1. Cemri, M., et al. (2025). Why do multi-agent LLM systems fail? UC Berkeley. arXiv:2503.13657. https://arxiv.org/abs/2503.13657
  2. Anthropic. (2025, December). Agent Skills: an open folder-based packaging format (SKILL.md) with progressive disclosure. https://anthropic.skilljar.com/introduction-to-agent-skills

Frequently asked questions

What is the difference between MCP and Agent Skills?

MCP solves access: it connects the agent to tools, data and external systems through a standard protocol. Skills solve know-how: they teach the agent how to perform a task, with what criteria and in what order. MCP hands the agent the key to the warehouse; a Skill tells it what to do once inside. Most production systems use both.

What is an agent harness?

The harness is the loop that turns a language model into an agent: it takes the instruction, lets the model decide, calls the tool it asked for, returns the result, lets it decide again, and persists state between steps. Without a harness there is no agent, there is a chat. It is the concept almost nobody names and the one that most determines whether the system works.

When is a multi-agent system worth it?

When the work has genuinely parallel subtasks, or subtasks requiring mutually incompatible contexts, and you already have one agent that solves each one well on its own. Before that, adding agents adds failure modes: UC Berkeley's MAST study, over more than 1,600 traces across seven frameworks, found that inter-agent misalignment accounts for 36.9% of these systems' failures.

What is A2A and how does it differ from multi-agent?

A2A is the open protocol that lets agents from different owners or vendors discover each other and delegate work. Multi-agent is an internal architecture decision: splitting your own work across several agents you control. A2A crosses the organizational boundary, multi-agent does not. They get confused because both involve more than one agent.

Why do multi-agent systems fail?

Not because of the model. The MAST study classified 14 failure modes into three categories: specification and system design issues (41.8%), inter-agent misalignment (36.9%) and task verification (21.3%). All three are engineering and definition failures, not model capability failures.

In what order should you extend an agent?

Harness first, because without it nothing else matters. Then Skills, which are the cheapest and resolve most cases. Then MCP, when the agent has to touch real systems. Multi-agent only once a single agent already solves each part well, and A2A only when the other agent is not yours.

About the author

MasterDragon Engineering Team

MasterDragon Engineering Team

AI Engineering Team · MasterDragon.AI

The MasterDragon Engineering Team designs and ships production-grade agentic AI systems for companies in LATAM and the US: custom AI-native software, WhatsApp agents, internal copilots and end-to-end operations automation, with measurable reliability and KPIs.