Skip to content

Use Loora in Zed through an MCP context server.

Zed’s context servers are processes it spawns and talks to over stdio, so a remote HTTP server needs a bridge in between. mcp-remote is that bridge: Zed runs it as a local command, it opens the OAuth flow in your browser on first use, and it caches the token under ~/.mcp-auth so later sessions start silently.

Configuration

settings.json, under context_servers.

Zed settings.json
{
  "context_servers": {
    "loora": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.loora.design/mcp"],
      "env": {}
    }
  }
}

Steps

  1. Open the command palette and run zed: open settings.
  2. Add the context_servers block above.
  3. Save; Zed spawns the bridge and a browser tab opens for sign-in.
  4. Approve the connection, then check the Agent Panel for the Loora tools.

Worth knowing

  • The bridge needs Node on your PATH — npx is what Zed actually executes.
  • The first run is slower because npx downloads mcp-remote; later launches reuse the cached package.
  • Tokens live in ~/.mcp-auth. Deleting that directory forces a clean re-authentication if the handshake gets stuck.

Zed speaks stdio only, so the OAuth flow is run by the local bridge rather than by the editor. The endpoint it connects to is the same one every other client uses: https://mcp.loora.design/mcp.

What you can ask for

Once the server is connected, Zed has the same vocabulary as every other client. Every call commits a validated canvas transaction, so it is inspectable, undoable, and safe to make on a branch.

GroupTools
ReadlistDesigns, getDesignContext, readNode, readTree, searchNodes, listAssets, listVersions
WritecreatePage, insertNodes, patchNodes, moveNodes, deleteNodes
ReusecreateComponent, createInstance, setTokens
MotionsetAnimations, animateNodes
LookviewCanvas, viewPage, viewNode, getScreenshot
BrancheslistBranches, createBranch, proposeBranch, compareBranch, applyBranch, reopenBranch, closeBranch
DesignscreateDesign, renameDesign, deleteDesign, exportCode

A good first prompt: ask for listDesigns, then getDesignContext on the one you want, then have it call setTokens before it draws anything. Why that order matters →

Zed and Loora: questions

Does Zed support remote MCP servers directly?

Zed’s context servers are spawned as local processes over stdio, so a remote HTTP endpoint goes through the mcp-remote bridge. Zed runs the bridge; the bridge talks to Loora.

What is mcp-remote?

A small stdio-to-HTTP proxy for MCP. It presents a remote server to a stdio-only client, runs the OAuth flow in a browser, and caches the token under ~/.mcp-auth.

The browser never opens — what now?

Usually a stale token or a half-finished grant. Remove ~/.mcp-auth and restart Zed so the bridge starts a fresh handshake.

Other clients

Open a design to connect to →

← All MCP setup guides