Cursor is the AI built into my code editor. It connects to the same shared Fulltrace server as Claude and Codex, with the same portfolio context available through MCP, and a beforeSubmitPrompt hook logs every slash command it runs back to that server. So its activity lands on the same dashboard as the other two assistants: one view of what everything is doing, not three.
There is no separate Cursor-specific server. Cursor registers the same shared agentOS-portfolio server in ~/.cursor/mcp.json and reaches the same twelve tools as Claude and Codex: the tool surface belongs to the server, not the client, so nothing is gated per assistant. In practice, portfolio reads matter most here: Cursor gets the same context about who I am, what I am working on, and how I like things done that Claude carries automatically via CLAUDE.md.
See the Codex page for the full tool table: the portfolio pair, the fenced filesystem tools, git through the server, and the extension build chain. All twelve are identical from Cursor.
The Fulltrace Setup Wizard in the VSCode dashboard can walk through this interactively. Manually, it is four steps: confirm the MCP server is running, run the Cursor sync script, and enable the server inside Cursor itself.
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. Start it with pm2 start mcp-server/server.js --name agentOS-portfolio if not running.
& "<repo>\clients\cursor\sync.ps1" push-runtime
This deploys mcp-config.json to ~/.cursor/mcp.json, copies hooks.json, 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 supports a beforeSubmitPrompt hook: every slash command I run posts back to the Fulltrace server, tagged tool: "Cursor". It shows up in the dashboard's shared command registry, under Config > Commands, in the same invocation log as Claude and Codex. One place shows what every assistant has been asked to do.
sync.ps1 deploys all 16 shared commands from clients/shared/skills/ to ~/.cursor/skills/, expanding each skill's {{TOKEN}} placeholders (repo path, client name, the lightweight model id) on the way through, so one canonical skill body deploys correctly to every client and machine. Available as /jn-* slash commands within Cursor sessions. Each invocation is captured by the hooks.json hook and posted to the dashboard.
See the Claude page for the full command list: all 16 commands are identical across Claude, Codex, and Cursor.
One script keeps the runtime in sync: push the config and skills out, pull them back for inspection, or check whether the two have drifted.
| Command | What it does |
|---|---|
| push-runtime | Deploys mcp-config.json to ~/.cursor/mcp.json, hooks.json, and 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. |