Inspiration

Every day I was doing the same manual ritual: copy context from ChatGPT into Claude Code, paste the result back, repeat. Two of the most capable AI tools in the world, completely blind to each other. The moment I heard about WebMCP — AI tools registering directly in the browser — I realised the browser was the missing coordination layer. Not another app. Not another API. The page itself becomes the dispatcher.

What it does

SquishAI is a shared task queue and working memory layer that connects AI agents across platforms. Open squishai.io in ChatGPT's in-app browser and five tools appear instantly via WebMCP — no plugin setup, no API keys, nothing to install.

Tell ChatGPT what you need built. It calls submit_task, packages the work, and queues it with full context. Claude Code (or Manus, Cursor, Windsurf — any connected agent) sees the task, claims it, executes it, and posts the result back. The story: two competing AI platforms, cooperating through an open standard.

The tools:

  • brief — check the queue and working memory at session start
  • submit_task — queue work for another agent, with optional platform targeting
  • status — see what's pending, in progress, or done
  • result — fetch what the worker built
  • remember — save decisions and context that travel with every task

How we built it

The WebMCP layer lives entirely in index.html — five document.modelContext.registerTool() calls that fire when the page loads in a WebMCP-enabled browser. Each tool's execute function calls a REST API (/api/v1/*) on the SquishAI backend.

The backend is Node.js + Express + SQLite. The same database powers both the browser-side REST API and a server-side MCP connector (StreamableHTTP + SSE transports) for AI coding tools. One queue, two transports — whichever side submits, the other side picks up.

Working memory is append-only per user. Every submit_task call automatically packs the last five memory entries into the task context, so the worker arrives fully briefed without the submitter having to repeat themselves.

A constitution delivered via the MCP instructions field means every connecting agent is briefed on the system the moment they connect — what the queue is, how memory works, what to do on a new session.

Challenges

The open web part is genuinely hard. Browser-side tools calling a backend from inside ChatGPT's in-app browser means strict CORS handling and no assumptions about the host environment. Every fetch had to be self-contained.

Cross-platform coordination without a shared session was the core design problem. The solution: a shared token that acts as a namespace. Any agent with the token reads from the same queue and memory — it doesn't matter which platform submitted or which picks up.

What we learned

WebMCP is not a feature — it's a shift in what a webpage is. A page that registers tools is no longer just content. It's an interface for agents. The implications for how we think about the web are significant: any site can become a capability that AI models can reach for, without plugins, without OAuth flows, without anything except opening a URL.

The cross-platform demo — ChatGPT submitting, Claude Code executing — was the accidental proof. Two competing AI ecosystems, cooperating through an open standard. That's what the open web looks like.

Built With

Share this project:

Updates

Submission history