Open source · MIT

One Cursor catalog.
Your local agents.

Model Ferry makes the models and presets available to your Cursor account usable across your local agent stack. OpenCode gets the richest integration, Pi and Hermes configure automatically, and any client with a custom OpenAI endpoint can join in.

macOS / Linux
# install the bridge, sign in, and launch it
curl -fsSL https://ferry.designxdevelop.com/install.sh | bash

Works on macOS, Linux, and Windows.Windows install

Keep the agent you like. Bring the Cursor models you already have access to. Cursor usage limits apply.

Compatibility

Made for more than one agent.

Use OpenCode today and Pi tomorrow without rebuilding your model setup. Model Ferry scans for more than 40 known harnesses, configures verified integrations, and gives every compatible client the same local endpoint.

OpenCode

Automatic
Provider
Cursor
Presets
Native variant picker

The deepest integration: native Cursor variants in OpenCode's model picker, with your current default left untouched.

Pi

Automatic when installed
Provider
Model Ferry
Presets
model@variant entries

Model Ferry adds a custom Pi provider and keeps its model catalog in sync without changing your selection.

Hermes Agent

Automatic when installed
Provider
Model Ferry
Presets
model@variant entries

A dedicated provider is merged into Hermes while its current provider, model, and YAML settings stay intact.

Your agent, your choice

One endpoint for the rest of your stack.

Any same-machine agent that accepts a custom OpenAI Chat Completions provider can connect manually. Run modelferry agents to see what Model Ferry found and which integrations it can manage.

APIOpenAI Chat Completions
Base URLhttp://127.0.0.1:8791/v1
AuthBearer <localToken>

Provider support varies by harness. Model Ferry never edits an unverified config format. The port can change if 8791 is occupied; run modelferry status for the resolved connection values.

Features

Switch agents, not model access.

Model Ferry separates the Cursor models available to you from the local agent interface you choose to use.

One catalog across agents

Discover the models available to your Cursor account once, then use the same catalog from each connected local agent.

OpenCode, fully integrated

Cursor's exact thinking, reasoning, effort, context, and fast presets appear as native variants directly in OpenCode's model picker.

Your stack, discovered

Model Ferry scans PATH and known config homes for more than 40 agent harnesses, then shows what it found and what it can configure.

A standard way in

Pi and Hermes configure automatically. Other same-machine clients can use the local OpenAI Chat Completions URL and token when they support custom providers.

Local by default

The bridge binds to 127.0.0.1 and protects every route with a unique install token. Nothing else on your network can reach it.

Your agent owns tools

Function tools return to the originating client for execution. Shell, edit, and other Cursor built-ins stay off.

How it works

From your Cursor account to your agent.

01

Find your agents

One command installs the bridge and scans more than 40 known harnesses. OpenCode, Pi, and Hermes are configured without switching their current models.

02

Sign in

A browser opens to Cursor. Complete the sign-in and the Cursor SDK stores a 90-day API key locally. Model Ferry attempts renewal before expiry. Set CURSOR_API_KEY to skip the browser.

03

Choose your interface

Use native variants in OpenCode, model@variant entries in Pi or Hermes, or connect another compatible agent to the same local endpoint.

Install

Install once. Use it across agents.

Supported on macOS, Linux, and Windows —install.sh on macOS and Linux, install.ps1 on Windows.

macOS / Linux
# install the bridge, sign in, and launch it
curl -fsSL https://ferry.designxdevelop.com/install.sh | bash
Windows
# Windows 10 / 11: install, sign in, and launch
irm https://ferry.designxdevelop.com/install.ps1 | iex

Clones Model Ferry to ~/.modelferry, signs in to Cursor, installs a login service, and scans your local agent stack. OpenCode, Pi, and Hermes receive managed providers; other recognized harnesses are reported without being modified. Existing default models stay untouched.

Uses your Cursor subscriptionEvery request runs through your own Cursor account. Your Cursor usage limits, model eligibility, and account terms apply exactly as they would in the Cursor app.
OpenCodeConfigured automatically as the Cursor provider with native variants.
Pi and HermesConfigured automatically when detected, with presets exposed as model@variant.
40+ recognized harnessesSetup scans binaries and config homes. Run modelferry agents --json to use the results from another script.

Install an agent later? Run modelferry agents to rescan, or modelferry refresh to configure a newly installed Pi or Hermes. No existing default model is changed.

Manual setup

macOS / Linux / Windows
# clone, install, and sign in
git clone https://github.com/designxdevelop/model-ferry.git
cd model-ferry
npm install
npm run setup
OpenCode example
opencode run -m cursorapi/composer-2.5 \
  --variant high-standard "Explain this repository"

Works on macOS, Linux, and Windows 10/11. OpenCode has native variant support; other clients use managed integrations or the standard OpenAI-compatible chat API.Read the README for the full CLI and catalog-refresh commands.

FAQ

Frequently asked questions.

Do I need a Cursor subscription?

The catalog reflects what your Cursor account can use. Cursor subscription limits, model eligibility, and usage accounting still apply. Model Ferry only makes those models selectable in connected clients.

Where is my Cursor credential stored?

Model Ferry never receives or stores your Cursor password. The browser sign-in mints a 90-day API key that the Cursor SDK keeps in ~/.cursor/sdk/auth.json, readable only by your user. Model Ferry attempts renewal before expiry. Set CURSOR_API_KEY to skip the browser flow.

Is Model Ferry affiliated with these agents?

No. Model Ferry is an independent open-source project built on Cursor's public Agent SDK. It is not affiliated with, sponsored, or endorsed by Cursor, OpenCode, Pi, or Hermes. Those names and trademarks belong to their respective owners.

Which platforms does it support?

macOS, Linux, and Windows 10/11. Use install.sh on macOS and Linux (launchd or systemd). Use install.ps1 on Windows (Task Scheduler). Manual npm setup works on all three.

Which agents can I use?

OpenCode has the richest integration, including native Cursor variants. Setup also configures Pi and Hermes Agent when installed. Any other same-machine client that accepts a custom OpenAI Chat Completions provider can connect manually. Run modelferry agents to see recognized harnesses on your machine.

Does detecting an agent mean it is automatically compatible?

No. Discovery and provider compatibility are separate. Model Ferry recognizes more than 40 harnesses so setup can explain what is installed, but it edits only verified config formats. Detected-only agents must support a custom OpenAI provider to connect manually.

Is anything sent off my machine?

Prompts and model-visible tool context or results go to Cursor's servers (Anysphere) for inference. The SDK client and agent loop run locally. The bridge has no telemetry, binds to 127.0.0.1, and uses a per-install bearer token. Cursor agents are limited to MCP, so shell and file execution stay with your local client.

How does local auth work?

Setup mints a random bearer token into ~/.config/modelferry/config.json and writes it into each configured client's Model Ferry provider. Chat, models, catalog refresh, and setup-page auth or config changes all require that token.

What if the default port is taken?

The bridge scans the next 19 ports, binds the first free one, and records the resolved port so automatically configured providers, the onboarding page, and CLI all agree. Manually configured clients must use the resolved port shown by modelferry status.

Your models should follow you between agents.

Start with native OpenCode variants, automatic Pi and Hermes setup, or any local client that accepts a custom OpenAI endpoint.