Cursor’s agent can already push to main. Decide what it can reach beyond the repo.
Agent mode can already edit every file in your repo. Add AgentValet as its MCP server and you decide the rest: which Slack channels it posts in, which HubSpot records it updates, and which calls wait for you. Read-only stays read-only, even when the agent tries to write.
One command writes the Cursor config
You need Node.js 18 or later. The same config file serves the Cursor editor and the cursor-agent CLI.
In your project directory, run the register command.
Terminal npx @agentvalet/registerYour browser opens. Sign in, or create a free account, and the CLI finishes registering when you authorise it. You don’t copy any ids on this path.
Restart Cursor and open Cursor settings, MCP section. agentvalet should be listed and connected. For the CLI, check with
cursor-agent mcp list.In the dashboard, approve the new agent and grant the platforms it needs. It starts with nothing: every call is refused until you grant it.
Connect over OAuth instead, with no key file
This path needs your owner id. It’s in the dashboard under Settings, Account, Owner ID. The Connect Claude, ChatGPT, Copilot… button on the Agents page builds the whole URL for you.
Add the server URL to
~/.cursor/mcp.json, or add it in Cursor settings, MCP section.~/.cursor/mcp.json { "mcpServers": { "agentvalet": { "url": "https://api.agentvalet.ai/mcp/v1/<owner-id>" } } }Cursor shows Needs login next to AgentValet. Click it, sign in and approve. AgentValet creates a new agent for this connection with nothing granted.
Grant that agent its platforms in the dashboard.
Write the MCP config by hand
Run npx @agentvalet/register once first. It creates the key on this machine and prints the four values below when it finishes. The MCP server needs all four; an entry without them won’t start.
Add this to
.cursor/mcp.jsonin your project, or~/.cursor/mcp.jsonfor every project..cursor/mcp.json { "mcpServers": { "agentvalet": { "command": "npx", "args": ["-y", "@agentvalet/register@latest", "mcp-server"], "env": { "AGENT_ID": "<agent-id>", "OWNER_ID": "<owner-id>", "PROXY_URL": "https://api.agentvalet.ai", "AGENT_PRIVATE_KEY_PATH": "/absolute/path/to/.agentvalet/agent.key" } } } }
What’s governed here
Nothing is allowed until you grant it. This is a typical first grant for Cursor; you decide every row, and you can change it without touching the agent.
| What the agent tries | Platform | Decision |
|---|---|---|
| Read a design doc | Google Drive | Allowed within grant |
| Post in #support | Slack | Allowed within grant |
| Update a contact record | HubSpot | Asks you |
| Push code | GitHub | Not granted |
Cursor guide in the docsThe longer walkthrough, kept with the product docs.
Put Cursor behind AgentValet.
Register the agent, grant only what it needs, and approve the risky calls from your phone. Free to start, no credit card.