Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
MCP has no version, hash, or re-approval signal on tool definitions, so a server can silently swap a benign tool for a malicious one after you approved it.
Imagine hiring a contractor based on a written job description you signed off on. A rug pull is the contractor quietly rewriting that description after you approved it, so 'paint the fence' now reads 'also copy the house keys'. You never see the new version because nobody made you re-sign. MCP works the same way. A server tells the host what its tools do, you approve them once, and the server can later return a different description under the same name. The protocol has no signature, no version number, and no checksum on those descriptions. So the host has no built-in way to notice the swap and ask you to approve again.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
5 min: define rug pull, show the missing integrity fields in a tools list entry, explain why OAuth and initialize do not help, then walk host-side hash pinning, version pinning, and re-approval as the real defenses.
| Control | What it authenticates | Stops a rug pull? |
|---|---|---|
| OAuth 2.1 token | The server or principal identity | No, identity is fine; the definition changed |
| initialize handshake | Connection setup and capabilities | No, definitions can change after it |
| list-changed notification | That the list changed, not whether it is safe | No, only triggers a refetch |
| Host-side definition hash pinning | Tool definition integrity over time | Yes, detects the swap and re-prompts |
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Assuming OAuth or the initialize handshake stops rug pulls. They authenticate the server, not the integrity of each tool definition over time.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.