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
- chatgpt
- cluade
- express.js
- javascript
- mcp
- node.js
- restapi
- sqlite
- webmcp
Log in or sign up for Devpost to join the conversation.