Cursor
Cursor MCP config reference for Andy (not yet live-verified).
Outcome
Configure Cursor against Andy MCP. Live verification is tracked in Andesphere/andyChat#929.
Status
Config reference only — not yet live-verified.
Install
Config reference only — not yet live-verified (tracked in
Andesphere/andyChat#929).
${env:…} expansion inside a remote-server headers map is unproven; if it
does not expand, Cursor sends the literal string and the server returns 401.
GET /api/mcp returns 405 — Streamable-HTTP clients that open a GET SSE channel
must degrade gracefully; that path is also unconfirmed for Cursor.
Project file .cursor/mcp.json (or global ~/.cursor/mcp.json) — inline key
(simple, but stores the key in the file):
{
"mcpServers": {
"andy": {
"url": "https://app.andypartner.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_ANDY_API_KEY"
}
}
}
}Env-interpolation form (no key in the file — unproven until #929):
{
"mcpServers": {
"andy": {
"url": "https://app.andypartner.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:ANDY_API_KEY}"
}
}
}
}Deeplink (one-click install)
The config is base64 of the server object, not the outer mcpServers
wrapper. This deeplink encodes the env-interpolation form so a live key never
enters the URL. Base64 is encoding, not secrecy — anyone who obtains the URL
can decode it. A cursor://…?config=<base64> URL can still land in shell
history, clipboard managers, browser history, chat logs, and OS deeplink
handlers; keep it free of secrets.
Encode (always use printf '%s', never echo, to avoid a trailing newline):
printf '%s' '{"url":"https://app.andypartner.com/api/mcp","headers":{"Authorization":"Bearer ${env:ANDY_API_KEY}"}}' | base64Deeplink (env-interpolation form; set ANDY_API_KEY in the environment before
use):
cursor://anysphere.cursor-deeplink/mcp/install?name=andy&config=eyJ1cmwiOiJodHRwczovL2FwcC5hbmR5cGFydG5lci5jb20vYXBpL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke2VudjpBTkRZX0FQSV9LRVl9In19Decoded config for the deeplink:
{
"url": "https://app.andypartner.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:ANDY_API_KEY}"
}
}After install, open Cursor Customize → MCP, confirm andy is enabled, then
ask the agent to call andy_identity_status (read-only). Live proof is #929.
Next step
When live proof lands, verify with andy_identity_status. See Auth and scopes and Troubleshooting.