Cursor
The Vike data server in Cursor's mcp.json — the remote `url` + `headers` shape, globally or per project.
Add the server
Either Settings → MCP → Add new server, or edit the config file directly.
Global, at ~/.cursor/mcp.json — available in every project:
{
"mcpServers": {
"vike": {
"url": "https://data.vike.io/mcp",
"headers": { "X-API-KEY": "YOUR_KEY" }
}
}
}Per project, at .cursor/mcp.json in the repository root — same shape, scoped to that project.
url + headers is the remote shape, and it is the only one that works here: Vike's data
endpoint is an HTTP service, not a process Cursor launches, so a command key in this entry will
not reach it.
The trader server is a sibling entry in this file
vike-cli mcp is a local subprocess and takes the other shape — command + args — inside the
same mcpServers object, under a different name. See Trader / Cursor.
The two share nothing: not a credential, not a budget, not a transport, so one failing says
nothing about the other.
Keep the key out of the repository
A per-project .cursor/mcp.json sits inside the repository, so a pasted key is one git add
away from being committed. Either add the file to .gitignore, or keep the server in the global
~/.cursor/mcp.json instead.
If a key does get committed, delete it under Account → API Keys and create a new one. Deletion is the fix; rewriting the file is not, because the old key keeps working until it is deleted — and briefly after, while the auth cache expires.
After editing
Reload Cursor, or toggle the server off and on in the MCP pane. The settings pane shows each
server's status and the tools it exposes — a healthy vike entry lists 73.
Verify
Search for PEPE token using Vike
token_search costs 0 credits, so this is free to repeat while you get the configuration right.
Troubleshooting
The server shows as failed. Almost always the JSON: a trailing comma, or a key nested in the
wrong object. url and headers are siblings inside the vike object.
The server is green but tools are never called. Cursor decides per request whether to use a
tool. Name it — "use the vike token_search tool for PEPE" — to confirm the wiring before
trusting the model to reach for it on its own.
Every call errors. Test the key outside Cursor with the
raw HTTP tools/list call. A bad key is HTTP 401 with a JSON-RPC error in
the body. ⚠ An unknown tool or a failed tool call is HTTP 200 with the error in the body, so a client
that only checks the status code reports success on those.
A project config and a global config both exist. Keep the server in one of them. Two entries
named vike with different keys will bill two different budgets depending on which one wins,
which makes usage in Account → API Keys hard to read.