SDKs and platforms

How do I add Offline Protocol to Cursor?

Use the Cursor install link on the Offline Protocol homepage. It adds the local MCP server, npx -y @offline-protocol/cli mcp serve, under the name offline-protocol, with no account or key. You can also add the same server to .cursor/mcp.json yourself, pinned to CLI 0.2.9 as the docs show. Cursor's agent can then plan your app's architecture, pick compatible packages, follow the integration guide and scaffold a starter project.

TL;DR

The Offline Protocol install link adds the local MCP server to Cursor in one click, with no account. A pinned .cursor/mcp.json entry from the docs does the same by hand. Cursor's agent then gets 18 tools for packages, guides, planning and scaffolding, and you run the result on your devices.

Learning objectives

After reading this article you will be able to:

  • Add the Offline Protocol MCP server to Cursor with the install link or mcp.json
  • Choose between the pinned local server, the unpinned one-click entry and the hosted endpoint
  • Know what Cursor's agent can build with the tools and the next steps on your devices

One-click Cursor install for Offline Protocol

The one-click route is the Cursor link in the Start building section of the Offline Protocol homepage. It adds the local MCP server under the name offline-protocol, started with the same command the homepage shows:

npx -y @offline-protocol/cli mcp serve

Cursor’s documentation describes how such links work: the link carries a server name and a base64-encoded JSON configuration in the same format as mcp.json. You click the link, Cursor prompts you to install the server, and you can then use it in Cursor. The Offline Protocol link follows that format, with name=offline-protocol and that command as the configuration.

The server it adds runs on your machine and talks to Cursor over standard input and output. It needs Node.js 18 or later, and no login or API key. The first launch downloads the CLI from npm, and later launches use the npm cache.

The homepage link leaves the CLI version unpinned, so npx runs whichever release is current. The docs configuration below pins @offline-protocol/cli@0.2.9, which gives the same tools on every launch. Pick the pinned entry when you want repeatable results across a team.

The same local server is the one behind the Claude Code, VS Code and Codex setups.

Manual Cursor MCP configuration

Manual setup is one JSON entry. Add this to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json to use it in every project:

{
  "mcpServers": {
    "offline-protocol": {
      "command": "npx",
      "args": [
        "-y",
        "@offline-protocol/cli@0.2.9",
        "mcp",
        "serve"
      ]
    }
  }
}

The docs say to restart the client after changing its configuration, then check that offline-protocol is connected. Cursor’s documentation says you enable or disable MCP servers from Customize in the sidebar.

A project file can be committed so everyone on the team gets the server. It holds no secret, because local mode needs no key.

If you have installed the CLI globally with npm install -g @offline-protocol/cli, offline mcp install cursor prints a Cursor configuration for you. It prints only; it does not edit your files. In CLI 0.2.9 that output starts the server with offline mcp serve, which needs the offline command on the PATH that Cursor uses. The docs configurations use the pinned npx command instead, which needs no installation.

Hosted Offline Protocol MCP in Cursor

Cursor can also use the hosted endpoint, which runs without a local install and offers the read-only tools; scaffolding runs in local mode. It takes an app API key, created in the application’s API keys tab of the developer portal, and the matching App ID. Organization keys are rejected. With the key in the environment used to start Cursor:

{
  "mcpServers": {
    "offline-protocol": {
      "url": "https://mcp.offlineprotocol.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:OFFLINE_API_KEY}",
        "x-app-id": "app_your_application_id"
      }
    }
  }
}

Hosted mode offers the 15 read-only tools and allows 60 requests per minute per key. Choose one mode under the offline-protocol name, not both.

Offline Protocol tools in Cursor’s agent

Once connected, Cursor’s agent can plan the architecture of an app, pick compatible packages, read integration guides and scaffold a starter project. Cursor’s documentation says the agent uses MCP tools when relevant, including in Plan Mode, and that you can also ask for a tool by name.

The local server provides 18 tools for packages, capabilities, workflows, examples, skills, templates, planning and scaffolding:

TaskExample tools
Plan an appgenerate_architecture, search_workflows, get_workflow
Choose packagessearch_packages, resolve_packages, get_package
Read integration guidancesearch_skills, get_skill, search_examples
Preview a projectget_template, preview_scaffold
Scaffold a project (local mode)scaffold_project, integrate_packages, init_project

The three writing tools create files and run package-manager commands such as npm install with your permissions. Cursor asks for approval before using MCP tools by default, and you can open a call to see its arguments; keep that on for these three.

The ready workflows local-handoff, backend-delivery and nearby-service scaffold a React Native app. For the SDK that scaffold installs, see How do I add mesh messaging to a React Native app?

A first Offline Protocol prompt in Cursor

Cursor’s agent does better with a concrete brief than a general one. The Offline Protocol docs suggest a first request like this:

Add an encrypted local handoff to this React Native app. Explain the device requirements, choose compatible packages, and show how the receiving app will persist the handoff.

Add your target device models and OS, the SDK version you have installed and the workflow you want. The docs keep a live agent setup prompt as the canonical setup instruction; point the agent at its URL instead of pasting an old copy.

Next steps after Cursor scaffolds the app

Once Cursor’s agent has planned and scaffolded the integration, the next steps happen on your machine and your devices:

  • Run it on real devices. The docs ask you to compile the changed application and test on the target devices, where radio delivery is confirmed.
  • Review the generated changes with the rest of your code before you commit them.
  • Keep keys private. Only hosted mode needs one, and it belongs in the environment, not a committed file.

For how the local, hosted and public modes differ, read What is the Offline Protocol MCP server?

Frequently asked questions

Do I need Node.js to use Offline Protocol in Cursor?

Yes, for local mode. The local MCP server starts through npx and needs Node.js 18 or later. The hosted endpoint runs without a local install and takes an app API key; it offers the 15 read-only tools.

Does the Cursor install link need an Offline Protocol account?

No. It adds the local MCP server, which needs no login or API key. You only need an account for the keyed hosted endpoint.

Where does Cursor keep the Offline Protocol server configuration?

In .cursor/mcp.json inside a project, or in ~/.cursor/mcp.json in your home directory for every project. The docs show the same entry for both.

Will Cursor run the Offline Protocol tools without asking me?

Not by default. Cursor's documentation says it asks for approval before using MCP tools, and you can expand a call to see its arguments. Keep that on for the tools that write files.

Where does messaging between devices happen?

In your app, through the Offline Protocol mesh SDK. Cursor's agent uses the MCP server to plan and scaffold that integration, and you run the app on your phones to see messages move.

Sources

Build it with Offline Protocol

The coding agents page has the Cursor configuration for local and hosted mode, and a first request to try once the server is connected.

Read use Offline Protocol from your coding agent