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
  • /conversation
  • MCP 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 /scratchpad for 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.

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.