Kevin Riedl

11 min read · 17 Jun 2026

MCP vs RAG vs Agent Skills vs Custom GPTs: A Decision Tree for Companies

These four are not four answers to the same question. They sit at different layers of an AI system. RAG is a retrieval pattern for grounding answers in your documents. MCP is an open protocol for letting a model call your tools and data. Agent Skills are packaged procedural know-how an agent loads on demand. Custom GPTs are a no-code assistant that runs inside ChatGPT. The market frames them as "pick one." For most companies the right frame is to compose them: one agent can follow a Skill (the procedure), reach your systems over MCP (the tools), and pull context via RAG (the knowledge), all at once. The only real either-or is Custom GPTs, because choosing them is a platform and lock-in decision, not a building-block one.

This is an engineering view, not a vendor pitch. The space moves fast, so dates matter; everything below is current as of mid-2026 and worth re-checking against the primary docs before you commit.

Not sure which of these your use case actually needs?

 Book Free Consultation

The distinction at a glance

The fastest way to stop conflating them is to see what each one actually is.

DimensionRAGMCPAgent SkillsCustom GPTs
Primary purposeKnowledge (grounding)Tools and data connectivityProcedure (how-to)Packaged assistant
Open or proprietaryOpen techniqueOpen standardOpen standardProprietary (OpenAI)
Takes actions?No (read-only)YesIndirectly, orchestrates toolsYes, via Actions
Portable across vendors?YesYes (any MCP host)Yes (format)No (locked to ChatGPT)
Where it runsYour app backendA server you hostThe agent runtimeInside ChatGPT
The "thing" it isA retrieval pipelineA connection protocolA folder of instructionsA configured ChatGPT

The first three are layers of one agent and combine freely. Custom GPTs are a delivery surface, and even they now lean on MCP underneath.

RAG: answering from your knowledge

Retrieval-Augmented Generation retrieves relevant documents from your knowledge source and injects them into the model's context before it answers. It exists to ground answers in your proprietary or current data, to cut hallucination, and to keep answers fresh without retraining. The thing to remember: classic RAG is a read pattern. It does not call APIs or change state. The moment your system needs to act, you are in tool territory, not RAG. If you are weighing RAG against fine-tuning or just a bigger context window, we worked through that in RAG vs fine-tuning vs long context.

MCP: connecting the model to your systems

The Model Context Protocol is an open standard, introduced by Anthropic in late 2024, for connecting AI applications to external tools and data. The official analogy is a USB-C port for AI: one standard way to plug a model into anything, so you build a connector once and any compatible host can use it instead of writing a bespoke integration per tool. It is a client-server protocol, and a server can expose tools (actions), resources (data), and prompts. You need MCP when you want a model or agent to call your systems in a reusable, vendor-neutral way. What it is not: a retrieval technique, a model, or procedural instructions. It is the plumbing under the agent. It is now genuinely cross-vendor, with OpenAI, Google, and Microsoft all adopting it, and in December 2025 it was donated to the Linux Foundation's Agentic AI Foundation.

Agent Skills: packaging the procedure

Agent Skills, introduced by Anthropic in October 2025 and published as an open standard later that year, are organized folders of instructions, scripts, and resources that an agent discovers and loads only when a task matches. The unit is a SKILL.md file: a short description plus a body of procedural know-how, optionally with scripts. The clever part is progressive disclosure, where only the name and description sit in context until the skill is actually needed, so a library of skills costs almost nothing until used. The most-conflated point: Skills complement MCP, they do not compete with it. MCP is connectivity, the systems an agent can reach. Skills are the procedure, the how-to the agent follows, and a skill can orchestrate MCP tools. Treat a skill like installed software and only use ones from trusted sources.

This is not theory for us. We publish a public Agent Skills registry: six signed, single-file SKILL.md skills listed in a machine-readable manifest at /.well-known/agent-skills/index.json, each mirrored by a human-readable page. Our qa-advisor skill, for example, encodes a senior QA engineer's procedure, the checks and the grading, as portable, versioned know-how. It does not connect to a system or retrieve documents. It tells the agent how to think. That is exactly what a skill is, and what neither MCP nor RAG is.

Custom GPTs: the quick packaged assistant

A Custom GPT is a no-code version of ChatGPT, built in the GPT Builder, combining instructions, a few knowledge files, and optional actions, running inside ChatGPT. It is the fastest way to give a non-developer a useful assistant, and it is fine for a quick internal Q and A bot. The trade-offs are real: building requires a paid tier, knowledge is capped, and there is hard lock-in, because a Custom GPT cannot be exported, self-hosted, or run on another model. OpenAI's own developer momentum has moved to portable, API and MCP-based agents, and Custom GPTs, while still supported, are no longer the frontier. Prototype in a GPT; build the real thing as an agent.

The decision tree

Start from what you actually need the model to do.

  1. Answer from your documents or knowledge? RAG. Ground answers in your data, no retraining.
  2. Call your systems, APIs, databases, internal tools, in a reusable, vendor-neutral way? MCP. Build a server once; any host can use it.
  3. Reliably follow a repeatable procedure or company workflow? Agent Skills. Package the know-how, load it on demand.
  4. Want a quick no-code assistant for non-developers inside ChatGPT, and accept lock-in? Custom GPT.
  5. Need more than one of these (most real systems)? Combine them. A support agent answers from docs (RAG), looks up an order and issues a refund (MCP), and follows your escalation and tone rules (Skill). RAG can even be exposed as an MCP tool, so "RAG vs MCP" is usually a false choice.
Kevin Riedl

"RAG is knowledge, MCP is connectivity, Skills are procedure, and a Custom GPT is a packaged assistant. Once you see them as different layers instead of competing products, the question stops being which one and becomes which combination."

Frequently Asked Questions

MCP vs RAG, what is the difference?
RAG retrieves documents to ground an answer, which is knowledge and read-only. MCP is a protocol for connecting a model to tools and data, which is connectivity and can act. Different layers, and you often use both, even exposing your RAG system through MCP.
Are Agent Skills the same as MCP?
No. Skills are procedural know-how, the instructions and scripts the agent follows. MCP is connectivity, the tools and data the agent reaches. Anthropic positions them as complementary, and a skill can orchestrate MCP tools.
Do I still need MCP if I already have RAG?
Only if you need the model to act on your systems, such as calling an API or writing a record. RAG only reads and grounds. If "answer from our docs" is the whole job, RAG alone is enough.
Custom GPT or building an agent?
A Custom GPT is fast, no-code, inside ChatGPT, locked in, and capped. A real agent built on an SDK plus MCP is portable, production-grade, and programmable. Prototype in a GPT, build the real thing as an agent.
Is MCP a replacement for RAG?
No. MCP does not define embeddings, chunking, or retrieval. It can expose a retrieval tool, but the retrieval logic is still RAG.
Can these work together?
Yes, that is the normal case. One agent commonly uses Skills, MCP, and RAG at the same time: procedure, connectivity, and knowledge.
Did OpenAI really adopt Anthropic's MCP?
Yes, in 2025: remote MCP support and a steering-committee seat, and its Apps SDK is built on MCP. MCP is now cross-vendor across Anthropic, OpenAI, Google, and Microsoft, under the Linux Foundation's Agentic AI Foundation.
Are Agent Skills locked to one vendor?
The format is an open standard and skills can reference MCP tools, though they execute mainly in compatible agent runtimes today. Our public registry at /.well-known/agent-skills/ shows the open, portable SKILL.md format in practice.
If I build on Custom GPTs, am I locked in?
Yes. Custom GPTs cannot be exported or self-hosted. For a portability hedge, expose your tools via MCP, which OpenAI's own Apps SDK uses, so the same connectors work across hosts.
What is the cheapest way to start?
For "answer from our content," a small RAG setup or a Custom GPT. For anything portable, production-grade, or multi-vendor, start with MCP for connectivity and Skills for procedure.

Final thoughts

The confusion in this space comes from treating four different layers as four competing products. RAG grounds, MCP connects, Skills encode procedure, and a Custom GPT packages a quick assistant.

So the real question is not which one to pick, it is which combination your use case needs, and whether you are willing to accept lock-in for speed. For a throwaway internal bot, a Custom GPT is fine. For anything you want to own, keep portable, and run across vendors, build on the open layers: RAG for knowledge, MCP for tools, Skills for procedure. We build on exactly those, which is why our skills are public and signed rather than trapped in someone's walled garden.

Want help composing RAG, MCP, and Skills into one working agent?

 Book Free Consultation
Kevin Riedl

11 min read · 17 Jun 2026