Start here

Connect Cursor to Contro1

Connect Cursor as its own agent with contro1 connect cursor, which adds the Contro1 MCP server to ~/.cursor/mcp.json for company apps. Exact commands and what you should see.

Updated Oct 21, 2026

Cursor connects as its own agent with one command, which adds the Contro1 MCP server for company apps. Signing Cursor in as you instead still works, as an alternative.

Who this is for

The AI code editor's agent, on your own computer. For: Cursor. Acts as: The Cursor agent itself. Credential: A key in the Contro1 service on the computer.

Cursor connects as its own agent with one command, which adds the Contro1 MCP server for company apps. Signing Cursor in as you instead still works, as an alternative.

Every way to connect an agent

Connect Cursor

Cursor on this computer becomes one Contro1 agent, named "Cursor on <computer name>", with you as its accountable owner, the same way Claude Code does. Its key stays in the Contro1 service on the computer. connect also adds the Contro1 MCP server to ~/.cursor/mcp.json, so every project has it, and everything Cursor does through it is recorded as that agent.

Adding the remote address https://api.contro1.com/api/centcom/mcp directly in Cursor does not work today. Cursor's sign-in returns to a cursor:// address, which Contro1 refuses because the code would only reach the computer that opened the link. Use contro1 connect cursor.

StepWhat to doWhat you should see
Install the Contro1 CLIcurl -fsSL https://contro1.com/install.sh | sh contro1 --versionThe installer ends with "Installed contro1 to <folder>", and contro1 --version prints "contro1 version 0.2.29" or later. On Windows, if contro1 is not found, open a new terminal: the installer added it to your PATH.
Sign in to Contro1 on this computercontro1 auth login"Logged in as you@company.com (Org: <your organization>)".
Connect Cursorcontro1 connect cursorThe list includes "Register the Contro1 MCP server with Cursor, for every project (other servers are kept; a backup is made first)" with the entry it adds, "contro1": {"type":"stdio","command":"<full path to contro1>","args":["mcp","serve","--agent","cursor@<id>"]}, then "Continue? [y/N]" and the administrator prompt.
Approve the agent as its owner, then open a new Cursor windowconnect prints an approval link and waits up to 11 minutes. Open it and approve. connect then writes the MCP entry and calls the server through the agent's own endpoint. A Cursor window that was already open loads the new server in a new window."Approve at https://contro1.com/... Code: ABCD-EFGH", then "Approved.", "Registered the Contro1 MCP server with Cursor (~/.cursor/mcp.json)." and "MCP connected: N actions available." In Cursor Settings, the MCP section (Tools & MCP in recent versions) lists contro1 as enabled.
Check every linecontro1 doctor cursorThe first line is "Contro1 doctor: cursor is connected", and every check under it starts with ✓, including "MCP server for cursor@<id>: contro1 runs contro1 mcp serve as cursor@<id>."
Try itOpen a new Cursor agent chat and ask: "Who am I in Contro1?"Cursor calls the whoami tool, which names the agent, "Cursor on <computer name>", and you as its owner. Ask it to list the Actions it can use, and it calls list_actions.
Alternative: sign Cursor in as you (acts as you)contro1 mcp login --execute"To connect, open this address on any device and approve: https://contro1.com/connect-app and enter the code: ABCD-EFGH". After you approve: "MCP connected for profile default (mcp:whoami, ..., mcp:actions:execute)." and "See or disconnect it anytime in Contro1: Settings > Connected apps." whoami in Cursor then names you.

Connect Cursor, step 1: Install the Contro1 CLI

Once per computer. The installer downloads the contro1 program from its official GitHub releases. You can read it first at https://contro1.com/install.sh (PowerShell: https://contro1.com/install.ps1).

terminal
curl -fsSL https://contro1.com/install.sh | sh
contro1 --version
PowerShell
irm https://contro1.com/install.ps1 | iex
contro1 --version

What you should see: The installer ends with "Installed contro1 to <folder>", and contro1 --version prints "contro1 version 0.2.29" or later. On Windows, if contro1 is not found, open a new terminal: the installer added it to your PATH.

Connect Cursor, step 2: Sign in to Contro1 on this computer

A browser opens on a Contro1 approval page. Approve it with your Contro1 account.

terminal
contro1 auth login

What you should see: "Logged in as you@company.com (Org: <your organization>)".

Connect Cursor, step 3: Connect Cursor

connect lists every change before it makes any: the local Contro1 service, and the contro1 entry it adds to ~/.cursor/mcp.json. Every other server and setting in that file is kept, and a copy of the file is saved next to it first.

At "Continue? [y/N]" type y. It then asks once for administrator approval, to register the agent key with the Contro1 service.

terminal
contro1 connect cursor

What you should see: The list includes "Register the Contro1 MCP server with Cursor, for every project (other servers are kept; a backup is made first)" with the entry it adds, "contro1": {"type":"stdio","command":"<full path to contro1>","args":["mcp","serve","--agent","cursor@<id>"]}, then "Continue? [y/N]" and the administrator prompt.

Connect Cursor, step 4: Approve the agent as its owner, then open a new Cursor window

connect prints an approval link and waits up to 11 minutes. Open it and approve. connect then writes the MCP entry and calls the server through the agent's own endpoint. A Cursor window that was already open loads the new server in a new window.

What you should see: "Approve at https://contro1.com/... Code: ABCD-EFGH", then "Approved.", "Registered the Contro1 MCP server with Cursor (~/.cursor/mcp.json)." and "MCP connected: N actions available." In Cursor Settings, the MCP section (Tools & MCP in recent versions) lists contro1 as enabled.

Connect Cursor, step 5: Check every line

doctor checks the Contro1 service, the agent's private endpoint, an approval round trip (a preview, nothing is created), that the contro1 entry in ~/.cursor/mcp.json runs this agent, and a live MCP call.

terminal
contro1 doctor cursor

What you should see: The first line is "Contro1 doctor: cursor is connected", and every check under it starts with ✓, including "MCP server for cursor@<id>: contro1 runs contro1 mcp serve as cursor@<id>."

Connect Cursor, step 6: Try it

Open a new Cursor agent chat and ask: "Who am I in Contro1?"

What you should see: Cursor calls the whoami tool, which names the agent, "Cursor on <computer name>", and you as its owner. Ask it to list the Actions it can use, and it calls list_actions.

Connect Cursor, step 7: Alternative: sign Cursor in as you (acts as you)

Only if you want Cursor to act as you rather than as its own agent: everything it does is then recorded as yours, and it can do what you can. Sign the MCP connection in, then add the entry yourself, without --agent.

It shows a code and opens the approval page. You can approve on this computer or on any other device, such as your phone. On the page, check that "Run Actions as you" is ticked, then press Approve.

terminal
contro1 mcp login --execute
~/.cursor/mcp.json
{
  "mcpServers": {
    "contro1": {
      "command": "contro1",
      "args": ["mcp", "serve"]
    }
  }
}

What you should see: "To connect, open this address on any device and approve: https://contro1.com/connect-app and enter the code: ABCD-EFGH". After you approve: "MCP connected for profile default (mcp:whoami, ..., mcp:actions:execute)." and "See or disconnect it anytime in Contro1: Settings > Connected apps." whoami in Cursor then names you.

Give it something to do

A connected agent starts with nothing. It can ask people for approval and report what it did. To use an application such as Gmail, two things happen in Contro1:

  • Apps: an administrator turns the application on for the organization and chooses which of its Actions are allowed. That alone gives no agent a tool.
  • Access: a person opens the agent, connects the account it should use (a shared team account, or their own), ticks the Actions it may run, and presses Save. People can do this for their own agents, within what the organization allows.
  • A personal account, such as your own mailbox, is always used on your behalf. When you are the agent's owner and give it your own account in Access, that is recorded as you letting it act for you. Anybody else whose account it should use turns that on for the agent in Access themselves.
  • The agent's page shows a "Get it working" card with three steps: Connected to Contro1, Can do something, Did something. It always shows the next one to do, and it disappears once all three are done.

Action Gateway: apps and access

When something does not work

What you seeWhat to do
whoami names you, not the agent (or the other way round)whoami names whoever the server acts as: the agent for a contro1 connect connection, you for a contro1 mcp login sign-in. contro1 doctor <platform> shows which agent the MCP entry runs as, and contro1 connect <platform> points it at the agent.
codex mcp list shows "Auth: Unsupported" for contro1Expected. Codex only tracks OAuth sign-in for remote servers. contro1 is a local stdio server, and the Contro1 CLI signs in for it, as the agent or as you.
After contro1 disconnect, the MCP server says the agent is revoked or not active, or offers only contro1_setup_requiredAn older contro1 revoked the agent but left it on this computer. Update contro1 and run contro1 disconnect <platform> again: it now removes the agent from the Contro1 service here (one administrator prompt) and asks before removing the MCP entry. Without updating: as administrator delete <platform>.json from the Contro1 platforms folder (C:\ProgramData\Contro1\platforms on Windows, /Library/Application Support/Contro1/platforms on macOS, /etc/contro1/platforms on Linux), then remove contro1 from the app: claude mcp remove --scope user contro1, codex mcp remove contro1, or the contro1 entry in ~/.cursor/mcp.json.
Cursor does not list contro1 after connectOpen a new Cursor window, or turn contro1 on in Cursor Settings, MCP. If ~/.cursor/mcp.json had comments or a trailing comma, connect left it unchanged and printed the exact block to paste under "mcpServers".
connect says the codex command was not foundconnect still finishes and prints the [mcp_servers.contro1] block, with the full path to contro1. Paste it into ~/.codex/config.toml, or run the codex mcp add line it prints from a terminal where codex works.
contro1 doctor shows "Contro1 service: version X, older than this CLI"The service on this computer is a separate copy of contro1 that only an administrator replaces. Run contro1 connect <platform> again: its preview says "Update the Contro1 service (from X to Y)" and it updates it in the same administrator approval. Or run the command doctor names: contro1 broker install on Windows, sudo <path to contro1> broker install on macOS and Linux. Connections and keys are kept.
The agent offers only one tool, contro1_setup_requiredcontro1 mcp serve could not choose a connection: none here, several and none named, or the named one is revoked. The tool's text names the fix, usually contro1 connect <platform>.

Frequently asked questions

Is there a contro1 connect for Cursor?

Yes. contro1 connect cursor makes Cursor on this computer its own agent, with you as its owner and its key in the Contro1 service, and adds the Contro1 MCP server to ~/.cursor/mcp.json. Signing in as you with contro1 mcp login --execute and a plain contro1 mcp serve entry still works; Cursor then acts as you.

How do I disconnect Cursor?

Run contro1 disconnect cursor. It revokes the agent in Contro1, removes it from the Contro1 service on this computer, and asks before removing the contro1 entry from ~/.cursor/mcp.json (--yes removes it without asking). The agent and its history stay in Contro1.

Why can I not add the Contro1 URL directly in Cursor?

Cursor's sign-in sends the authorization code to a cursor:// address on the same computer. Contro1 refuses loopback and private-scheme addresses, because the person approving is often on a different device. The local server signs in with a code instead, which works from any device.

Related resources

Contro1 CLI

Install and use the contro1 CLI to register AI agents, create approval requests, push AI inventory, retrieve evidence and traces, and test workflows before using the SDK or API.

Contro1 Action Gateway

Choose the applications your organization approves, decide who may do what, and connect one MCP. Every person and agent gets exactly their access, and every action is recorded on their name.

Agent identity, traceability & signed evidence

Know which agent did what: identity from the credential, sub-agents that register themselves, one trace per run with every tool call, hooks and OpenTelemetry that report without relying on the model, and HMAC-signed evidence.