Cursor is the AI built into the code editor. It connects to the same Fulltrace server as Claude Code and Codex, so it gets the same notes about the person using it, and the full set of tools. One hook logs every slash command it runs back to that server, so Studio shows what the assistants have been asked to do in one place. Another refuses the common download commands when they point at another machine.
There is no separate server for Cursor. It registers the same shared agentOS-portfolio server in ~/.cursor/mcp.json and gets all fourteen tools, like Claude Code. Its config carries the second token that allows changes, which Codex does not have. The portfolio reads matter most here: Cursor gets the same context about the person, their work and their preferences that Claude Code loads from CLAUDE.md.
The full tool table is on the Codex page. All fourteen work from Cursor.
Cursor is not offered as a builder for development slices. Nobody has verified a way to run a slice on Cursor without a person driving it, so Studio's launch picker lists it greyed out as "cannot be launched from here".
Studio's setup wizard can walk through this. By hand it is three steps: check the server is running, run the Cursor sync script, then turn the server on inside Cursor. Nothing needs setting up before you start.
The sync script locates the repo from its own path, so there is no environment variable to configure before running it. It expands an {{AGENTOSROOT}} token into everything it deploys, which is what let the whole repo move from C: to D: without a single hardcoded path following it.
Run pm2 status and confirm agentOS-portfolio shows as online. If it is not running, start it from mcp-server/ with pm2 start ecosystem.config.cjs, which pins its port and settings.
& "<repo>\clients\cursor\sync.ps1" push-runtime
This deploys mcp-config.json to ~/.cursor/mcp.json, copies hooks.json and the shared memory, and deploys shared skills to ~/.cursor/skills/.
Open Cursor, go to Settings → MCP (or run Cursor: Open MCP Settings from the command palette). The agentOS-portfolio server should appear. Enable it if shown as disabled, then reload the Cursor window so hooks and MCP config take effect.
Cursor runs two hooks. The first posts every slash command run in Cursor to the Fulltrace server, tagged tool: "Cursor", and it shows up in Studio under Config > Skills, in the same log as Claude Code. The second checks each shell command before it runs and refuses the common download commands when they point at another machine. It uses the same rule as Claude Code, kept in one shared file so the two stay in step. A disguised command could still get past it.
The sync script copies all 17 shared commands from clients/shared/skills/ to ~/.cursor/skills/. On the way it fills in each command's {{TOKEN}} placeholders (the repo path, the client name, the lightweight model id), so one copy of each command works in every assistant and on every machine. They run as /jn-* slash commands in Cursor, and each run is logged to Studio by the hook above.
The full list is on the Claude page. All 17 are the same in Claude Code, Codex and Cursor.
One script keeps Cursor in step with the repo. It pushes the config and commands out, pulls them back to inspect, or checks whether the two have drifted apart.
| Command | What it does |
|---|---|
| push-runtime | Deploys mcp-config.json to ~/.cursor/mcp.json, hooks.json, the shared memory and the shared skills. |
| pull-runtime | Copies ~/.cursor/mcp.json back into the repo for inspection or comparison. Useful for auditing drift. |
| check-sync | Reports whether the repo copy and ~/.cursor/ are in sync. Exits non-zero when drift is detected. |