Use case · MCP interop
Expose your page as an MCP server
Turn Linda into an MCP server so Claude Desktop, Cursor, or Continue can read your page directly. Your VFS and primitives become resources and tools the external agent can call.
LindaMcpServer/page/conversationMCP resources + tools
The shape
You’re on a SaaS page in your browser. You want to ask Claude Desktop a question about it — “what’s the latest deal in this CRM view?” — and have Claude read the actual page you’re looking at, not a screenshot.
Linda’s MCP server mode makes the browser tab speak Model Context Protocol.
Code
import { Linda, LindaMcpServer } from "@linda/core";
const linda = new Linda({ /* normal config */ });
const server = new LindaMcpServer({
linda,
expose: {
resources: ["/page", "/conversation"],
tools: ["observe", "extract"], // read-only by default
},
port: 9234,
});
await server.start();
Claude Desktop config
{
"mcpServers": {
"my-page": {
"transport": "sse",
"url": "ws://localhost:9234/mcp"
}
}
}
Now in Claude Desktop, you can ask: “What does the user have selected in the my-page resource?” and Claude reads your page directly.
Why this is wild
- No screenshots, no copy-paste. Claude sees the actual DOM.
- Always current. Page changes — Claude sees the new state on the next resource read.
- Two-way. Your in-page Linda agent can hand off to Claude Desktop for
heavier reasoning; Claude can write back into
/scratchpadfor the in-page agent to pick up.
Patterns it enables
- PM tooling. Your PM team installs Claude Desktop, points it at your app, and can answer questions about live tickets without UI changes.
- Sales co-pilot. During a demo, your AE can ask Claude Desktop about the CRM view they’re showing — instant context.
- Power-user mode. Your most technical users get a programmable AI on top of your app without you building an AI feature.
Runnable example: https://github.com/neul-labs/linda/tree/main/examples/mcp-server-host
FAQ
Does this need a separate process?
No. LindaMcpServer runs in the same browser tab and speaks MCP over a WebSocket. Claude Desktop connects to it like any other MCP server.
What can Claude Desktop do?
Anything you expose. Default is read-only access to /page and /conversation; you can opt into write access for /scratchpad or any /host/* mount.
Ship an agent-driven flow this afternoon.
Install Linda, paste a config, and your form turns into an agent that fills its own inputs.