RAG

RAG vs fine-tuning vs MCP: which one do you need?

"Should we fine-tune?" is usually the wrong first question. The right first question is: what is the model missing? Knowledge, behavior, or access? Each has a different fix.

The three problems#

  • It does not know the facts. (Your docs, last week's data.) → give it knowledge: RAG.
  • It knows what to do but does it inconsistently. (Tone, format, a narrow skill.) → change behavior: fine-tuning.
  • It must look something up live or do something. (Query a DB, create a ticket.) → give it access: tools via MCP.

A decision flow#

1. Betterprompt +examplesalways starthere2. Missingknowledge?add RAG3. Needs livedata oractions?add tools / MCP4. Stillinconsistent?considerfine-tuning
Go in order. Each step is cheaper to build and easier to change than the next.

Side by side#

RAGFine-tuningMCP / tools
SolvesMissing knowledgeInconsistent behaviorMissing access or actions
HowRetrieve text into the promptTrain on examples, change weightsModel calls functions on servers
Data freshnessUpdate the index, instantRetrain to updateLive every call
Setup costMediumHigh (data, training, evals)Low to medium
Cost per updateLowHighNone
Cites sourcesYes, easilyNoDepends on the tool
Typical failureWrong chunk retrievedOverfit, stale knowledgeWrong tool, unsafe action
ReversibleYesRetrainYes

Common misconceptions#

  • "Fine-tuning teaches the model our docs." It can absorb patterns, but it is an unreliable way to store facts and impossible to update cheaply. Use RAG for facts.
  • "RAG replaces tools." RAG reads static text. For a live balance or creating a record, you need a tool.
  • "MCP is a different thing from tools." MCP standardizes how tool servers are described and called. See MCP vs API.
  • "We need all three." Most products need one or two.

Combinations that work#

  • Support bot: RAG over help articles + a tool to look up the customer's order.
  • Coding agent: repo search and file reading as tools, rules in a CLAUDE.md, no fine-tuning.
  • Brand-voice writer: a prompt with examples first; fine-tune only if that is not consistent enough.
  • Data analyst: SQL tools over MCP, the schema as retrieved context.

What to do first#

  1. Write 20 real test cases.
  2. Try the best prompt you can, with examples.
  3. See which cases fail and why (missing fact, wrong style, no access).
  4. Add the matching piece and re-run the cases.

That loop is evals, and it keeps you from fine-tuning to fix a retrieval bug. Details on the pieces: what is RAG and tool use explained.

Frequently asked questions

What is the difference between RAG and fine-tuning?

RAG retrieves documents at question time and puts them in the prompt, so it adds up-to-date knowledge. Fine-tuning changes the model's weights with training examples, so it shapes behavior, style and format rather than adding facts reliably.

Is MCP an alternative to RAG?

No. MCP is a protocol for connecting a model to tools and data sources. A RAG search can be exposed as an MCP tool, so the two work together.

When should I fine-tune an LLM?

When prompting and examples cannot give you the consistent format, tone or narrow skill you need, you have good training data, and the task is stable enough to justify the cost.

Should I start with RAG or fine-tuning?

Start with prompting, then add retrieval or tools. Fine-tuning is usually the last step because it is the most expensive to build and to change.