Prokso MCP server in Cursor
Cursor connects remote MCP servers through an mcp.json file and can send custom headers, so the Prokso API key goes right there. It's better to keep the key in an environment variable: Cursor fills it in for you.
1. What you need
- Cursor with MCP support. It works with three transports, stdio, SSE and Streamable HTTP; the Prokso server uses Streamable HTTP. This guide follows the Cursor MCP documentation as of November 2026.
- A Prokso API key: dashboard, "Settings" > "API" > "Create key". Copy it right away, it is shown in full only once.
- Test the key with curl as shown on the "Prokso MCP server" page.
2. Where to add the server
Cursor reads MCP servers from two files:
| File | Where it applies |
|---|---|
.cursor/mcp.json | This project only (file in the project root) |
~/.cursor/mcp.json | All projects (file in your home folder) |
Create the file you need or add the server to an existing one:
{
"mcpServers": {
"prokso": {
"url": "https://prokso.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer ${env:PROKSO_API_KEY}"
}
}
}
}Cursor replaces ${env:PROKSO_API_KEY} with the value of the environment variable. Variables work in the url, headers, command, args and env fields. Set the variable, for example in ~/.zshrc:
export PROKSO_API_KEY="YOUR_API_KEY"If Cursor wasn't started from a terminal, it may not see variables from ~/.zshrc. In that case, start Cursor from a terminal where the variable is set, or put the key straight into the global ~/.cursor/mcp.json file: it lives outside the project and won't end up in the repository.
3. Turn it on and check
Servers are turned on and off in the Customize section of the Cursor sidebar. With prokso on, five tools should appear under Available Tools: get_account, get_prices, list_plans, get_plan and get_proxy_lines. A server that is off doesn't load or show up in chat.
If there are no tools, open the Output panel (Cmd+Shift+U on macOS) and select MCP Logs: it shows server initialization, tool calls and errors.
4. First requests in the agent chat
- "How much traffic is left on my Prokso plans?"
- "Give me 5 SOCKS5 lines with fixed IPs in Poland for plan 12."
- "Add a list of 10 proxies from Germany in url format to config.py."
- "Take a US proxy line and add a request to https://prokso.com/ip to my script to check the IP."
The Cursor agent calls list_plans on its own to find the plan id. Precise geo (city, state, carrier) counts double; ports and parameters are described in the gateway reference.
5. If it doesn't work
401withPass your API key in the headerin MCP Logs: thePROKSO_API_KEYvariable is empty for Cursor. Check it and restart Cursor.401withInvalid or revoked API key: the key is wrong or revoked. Check that the header value hasBearerand a space.- Cursor offers an OAuth sign-in: the Prokso server doesn't have one. Make sure the
Authorizationheader is inheadersof this exact server. 429: the limit of 60 requests per minute per key is exceeded, wait a bit.- The server doesn't appear: check the JSON syntax (commas between servers, quotes) and that the file is exactly at
.cursor/mcp.json.
Other errors are on the MCP server page, proxy problems in the step-by-step check.
6. Key security
A project .cursor/mcp.json is often committed with the code, so never put the key in it directly, only ${env:PROKSO_API_KEY}. Create a separate key for Cursor: if someone else sees it, revoke just that one in "Settings" > "API". The agent doesn't buy traffic over MCP; automation with payments goes through the REST API, and proxy setup in other apps is in the "Guides" section.