Cursor
Add one address, sign in once, and Cursor calls your services in every project.
Cursor signs in to Sallyport by itself. It reads MCP servers from ~/.cursor/mcp.json for all projects and from .cursor/mcp.json inside one project.
Connect it
- Add the entry below to
~/.cursor/mcp.json. If the file already lists servers, addsallyportto itsmcpServers. - Open Cursor Settings, find
sallyportunder MCP and press “Connect”. Your browser opens Sallyport. - Sign in or create an account, then press “Allow” on the consent screen.
{
"mcpServers": {
"sallyport": {
"url": "https://mcp.sallyport.cloud/mcp"
}
}
}Pressing “Allow” creates an agent named after the client. An owner’s or admin’s agent starts with every connection of the workspace. A member’s agent starts with none, and an admin adds them under “Access”. Signing in again later takes one “Reconnect” click.
Connect with a token
A token suits a machine where nobody signs in through a browser. Cursor sends it as a header, and the console writes the entry for you.
- In the console, open Agents, press “New agent”, type a name and press “Create agent”.
- On the agent’s page, in “Connect this agent”, choose “Cursor” and press “Copy for Cursor”. The copy carries the token you just created on this page, or a new one.
- Paste it into
~/.cursor/mcp.json. If the file already lists servers, add thesallyportentry to itsmcpServers.
{
"mcpServers": {
"sallyport": {
"url": "https://mcp.sallyport.cloud/mcp",
"headers": { "Authorization": "Bearer YOUR_AGENT_TOKEN" }
}
}
}One project, token outside git
For a single project, use .cursor/mcp.json. Cursor resolves ${env:NAME} in headers, so the committed file names a variable instead of the token.
{
"mcpServers": {
"sallyport": {
"url": "https://mcp.sallyport.cloud/mcp",
"headers": { "Authorization": "Bearer ${env:SP_AGENT_TOKEN}" }
}
}
}Set SP_AGENT_TOKEN in the environment Cursor starts with. Give each repository its own agent, and the journal shows which one made every call.
When a call waits for a person
Calls run straight through unless you turned on “Ask every call” for a connection, set a class to “Approval required” or set a budget. Sallyport holds a waiting call for at most 4 minutes, and for at most 45 seconds if the client sends no progress token. Then it answers with approve_url and call_id.
Open the link and answer, then tell the agent to continue. It repeats the call with the same call_id and gets the result, so the service is called once.