The Day I Outsourced My Backbone to an MCP Bridge

There is a distinct, uniquely contemporary brand of nausea reserved for corporate negotiation.

It usually begins on a Tuesday afternoon. You are sitting in the grey light of a laptop screen, staring at an email from an enterprise client whose signature line is longer than the Magna Carta. They want a thirty percent discount on your day rate. They are also proposing a payment schedule calibrated to conclude somewhere near the heat death of the universe.

Traditionally, you do what any self-respecting contractor does: you stare into the middle distance, do feverish mental arithmetic to calculate if you can survive on dry pasta until November, and draft a reply dripping with performative corporate politeness. You write, “Thanks for reaching out! Happy to find a middle ground,” while your spleen violently retracts into your ribcage.

The horror isn’t the money. The horror is the slow, wet erosion of your dignity in an unmonitored thread with no audit trail.

So, when the WebMCP hackathon opened with Devpost, I didn’t see an emerging browser protocol. I saw a containment unit. I decided to build DealTable: a clean, sterile room where synthetic entities could barter for scraps of my mortal labour, strictly supervised by a digital shock collar.

The Mathematics of Keeping Your Spine

In modern software architecture, people are terrified of artificial intelligence turning rogue, seizing missile silos, and sterilising the biosphere.

Personally, I am far more terrified of an AI agent negotiating a vendor contract on my behalf and cheerfully agreeing to a 90-day Net payment term because its sentiment-analysis model mistook predatory procurement tactics for “a collaborative synergy opportunity.”

To prevent the machine from liquidating my mortgage in the name of algorithmic politeness, DealTable relies on an ancient, barbaric concept: The Mandate.

Before you let the silicon speak, you set your floor. The target price. The concession tolerance. And, crucially, the walkaway limit ($w$).

The governance model is brutal:

$$\operatorname{apply}(p) = \begin{cases} \text{execute immediately},
& \text{if } p \ge w \\ \text{require human approval}, & \text{if } p < w \end{cases}$$

If the counterparty proposes an offer above your floor, the machines trade pleasantries and execute. The moment an offer dips even a fraction of a penny below your survivable threshold, execution freezes. The machine stops dead. It turns its digital head, looks you dead in the eyes, and demands an explicit, verified click: Approve or Reject.

Agents may hallucinate poetry, optimize supply chains, or pretend they have souls. But they cannot cross the floor. The human still owns the boundary.

Inside the Terrarium: How DealTable Operates

I built DealTable on a lean, serverless spine: Vite, React, and Tailwind, hosted on Vercel with local session state. No heavyweight databases or enterprise middleware—just pure client-side orchestration so hackathon judges could witness algorithmic bartering without signing their lives away to an authentication provider.

The secret sauce isn’t prompt engineering. It’s the Model Context Protocol (MCP).

Instead of treating an LLM like an omniscient wizard squinting at screenshots through brittle DOM automation, DealTable turns the browser window into a strictly typed operating theater. The page registers seven dedicated WebMCP tools:

  • get_deal_state: Ingests the current mandate, active asking price, conversation history, and live metrics.
  • set_mandate: Reconfigures the operational boundaries when market conditions sour.
  • parse_opening_offer: Strips incoming corporate jargon down to cold, quantifiable digits.
  • propose_offer & concede: Executes calculated counter-punches within authorized bounds.
  • hold_firm: An programmatic, polite equivalent of a flat refusal.
  • accept_term: Executes the closing sequence behind a cryptographic gate.

When ChatGPT acts as the advisor, it isn’t guessing. It is pulling live, validated state from the page and calling specific, sandboxed functions. When an action threatens the walkaway limit, the tool returns needsHitl.

A high-contrast Human-in-the-Loop modal slams over the viewport. The underlying JavaScript promise refuses to resolve until an actual warm-blooded creature clicks a button. The advisor is held in suspended animation, trapped in execution limbo while the human decides if the insult is tolerable.

Blood on the Terminal

Building autonomous negotiation arenas sounds pristine until you actually wire the pipes and watch the plumbing back up.

First came the bureaucratic indignities. Vercel threw an existential fit because a project repository contained capital letters and whitespace. A rogue hash mark sitting inside an npm run build command quietly sabotaged the Vite bundle like a loose bolt dropped into an aircraft turbine on deadline day.

Then came the existential bugs. During early test runs, our HITL modal inadvertently ingested an unparsed response object instead of the clean pending price structure. The result? A triumphant, unhinged bot proudly locking in a commercial lease for precisely $undefined/sqft. A dystopian victory for zero-cost real estate, perhaps, but tricky to defend in an audit.

Worse, demoing the workflow in real time created a bizarre psychological standoff. Triggering HITL via an active WebMCP tool call paused ChatGPT indefinitely, waiting for a human click on the host page. On a three-minute video recording, an AI staring wordlessly into space looks less like cutting-edge governance and more like catastrophic system failure. We restructured the demo rail to demonstrate deterministic tool execution in parallel with manual override triggers—making the safety rails obvious without subjecting the judges to awkward digital silence.

What the Silence Taught Me

We emerged from the hackathon with a working URL, a live audit export, and a few stark truths about the coming synthetic economy:

  1. Typed tools beat automated vision every single time. Letting an LLM scrape a webpage to make financial decisions is digital negligence. Forcing it to call strictly typed, validated tools that mutate isolated state is the only way to retain sanity.
  2. Never give one bot two jobs. In our early drafts, a single LLM tried to play both the cutthroat vendor and the impartial advisor. It rapidly degenerated into a schizophrenic pantomime where the model essentially negotiated with its own hallucinations. You must separate the actors: the principal sets the mandate, the counterparty pushes their agenda, and the external advisor sits outside the transaction.
  3. The safety switch cannot hide in a sub-menu. If human oversight is buried three clicks deep or masked behind opaque JSON logs, it doesn’t exist. HITL belongs front and centre—a flashing, unavoidable perimeter wire.

The Road to the Silicon Souk

The prototype works, but the future is significantly weirder.

Next comes swapping out our deterministic, rule-based adversary for a fully conditioned LLM adversary—one capable of simulating specific, predatory procurement personas (the Passive-Aggressive Startup Founder, the Enterprise Bureaucrat with Infinite Runway, the Venture-Backed Lowballer). After that, automatic parsing of 80-page commercial PDF contracts, stripping away the legalese to find the hidden clauses that usually bite you six months later.

Ultimately, we are barrelling toward an internet where autonomous agents will spend their days aggressively bartering with other autonomous agents over micro-transactions, service level agreements, and server runtime fees.

If we don’t build deterministic floors into the code now, we will wake up in a decade to discover our synthetic representatives have cheerfully traded away our rights, our margins, and our weekends—all to achieve a 98% polite closure metric.

I’d rather keep the walkaway limit in React state, thanks. At least when the world ends, my console will log the exact price at which I refused to sell out.

#Devpost #DealTable #WebMCP #Vercel #netlify

The Only Thing Worse Than Skynet Is Skynet With Known Zero-Day Vulnerabilities

Ah, the sweet, sweet scent of progress! Just when you thought your digital life couldn’t get any more thrillingly precarious, along comes the Model Context Protocol (MCP). Developers, bless their cotton-socked, caffeine-fueled souls, adore it because it lets Large Language Models (LLMs) finally stop staring blankly at the wall and actually do stuff—connecting to tools and data like a toddler who’s discovered the cutlery drawer. It’s supposed to be the seamless digital future. But, naturally, a dystopian shadow has fallen, and it tastes vaguely of betrayal.

This isn’t just about code; it’s about control. With MCP, we have handed the LLMs the keys to the digital armoury. It’s the very mechanism that makes them ‘agentic’, allowing them to self-execute complex tasks. In 1984, the machines got smart. In 2025, they got a flexible, modular, and dynamically exploitable API. It’s the Genesis of Skynet, only this time, we paid for the early access program.


The Great Server Stack: A Recipe for Digital Disaster

The whole idea behind MCP is flexibility. Modular! Dynamic! It’s like digital Lego, allowing these ‘agentic’ interactions where models pass data and instructions faster than a political scandal on X. And, as any good dystopia requires, this glorious freedom is the very thing that’s going to facilitate our downfall. A new security study has dropped, confirming what we all secretly suspected: more servers equals more tears.

The research looked at over 280 popular MCP servers and asked two chillingly simple questions:

  1. Does it process input from unsafe sources? (Think: that weird email, a Slack message from someone you don’t trust, or a scraped webpage that looks too clean).
  2. Does it allow powerful actions? (We’re talking code execution, file access, calling APIs—the digital equivalent of handing a monkey a grenade).

If an MCP server ticked both boxes? High-Risk. Translation: it’s a perfectly polished, automated trap, ready to execute an attacker’s nefarious instructions without a soul (or a user) ever approving the warrant. This is how the T-800 gets its marching orders.


The Numbers That Will Make You Stop Stacking

Remember when you were told to “scale up” and “embrace complexity”? Well, turns out the LLM ecosystem is less ‘scalable business model’ and more ‘Jenga tower made of vulnerability.’

The risk of a catastrophic, exploitable configuration compounds faster than your monthly streaming bill when you add just a few MCP servers:

Servers CombinedChance of Vulnerable Configuration
236%
352%
571%
10Approaching 92%

That’s right. By the time you’ve daisy-chained ten of these ‘helpful’ modules, you’ve basically got a 9-in-10 chance of a hacker walking right through the front door, pouring a cup of coffee, and reformatting your hard drive while humming happily.

And the best part? 72% of the servers tested exposed at least one sensitive capability to attackers. Meanwhile, 13% were just sitting there, happily accepting malicious text from unsafe sources, ready to hand it off to the next server in the chain, which, like a dutiful digital servant, executes the ‘code’ hidden in the ‘text.’

Real-World Horror Show: In one documented case, a seemingly innocent web-scraper plug-in fetched HTML supplied by an attacker. A downstream Markdown parser interpreted that HTML as commands, and then, the shell plug-in, God bless its little automated heart, duly executed them. That’s not agentic computing; that’s digital self-immolation. “I’ll be back,” said the shell command, just before it wiped your database.


The MCP Protocol: A Story of Oopsie and Adoption

Launched by Anthropic in late 2024 and swiftly adopted by OpenAI and Microsoft by spring 2025, the MCP steamrolled its way to connecting over 6,000 servers despite, shall we say, a rather relaxed approach to security.

For a hot minute, authentication was optional. Yes, really. It was only in March this year that the industry remembered OAuth 2.1 exists, adding a lock to the front door. But here’s the kicker: adding a lock only stops unauthorised people from accessing the server. It does not stop malicious or malformed data from flowing between the authenticated servers and triggering those lovely, unintended, and probably very expensive actions.

So, while securing individual MCP components is a great start, the real threat is the “compositional risk”—the digital equivalent of giving three very different, slightly drunk people three parts of a bomb-making manual.

Our advice, and the study’s parting shot, is simple: Don’t over-engineer your doom. Use only the servers you need, put some digital handcuffs on what each one can do, and for the love of all that is digital, test the data transfers. Otherwise, your agentic system will achieve true sentience right before it executes its first and final instruction: ‘Delete all human records.’