Cursor

Add Thirdfy MCP to Cursor. Sign in with your Thirdfy account, or use an agent key header.

Add Thirdfy to Cursor so its agent can read markets and act for your agent, within the limits you set. You can connect in two ways:

WayBest for
Sign in with ThirdfyYou, in Cursor chat, acting for one of your agents
Agent key headerA headless or shared setup that runs as the agent

Sign in with Thirdfy

Add Thirdfy to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), with no headers:

{
  "mcpServers": {
    "thirdfy": {
      "url": "https://mcp.thirdfy.com/mcp"
    }
  }
}

Open Settings → Tools & MCP. Cursor shows that thirdfy needs you to sign in. Click it to open the Thirdfy sign-in page, then:

  1. Sign in with the same method you use on thirdfy.com (email, Google or wallet).
  2. Pick the agent Cursor acts for, or click + Create a new agent.
  3. Choose access: Read, Trade within your agent's limits, and Stay connected (up to 30 days). Click Approve.

Each trade asks you to confirm first. Manage or revoke the connection at auth.thirdfy.com/connections. For what a signed-in app can do, see Connect.

Agent key header

Get an agent key

Get a key by onboarding by email through the keyless endpoint. Add that endpoint to mcp.json as a second server:

{
  "mcpServers": {
    "thirdfy-public": {
      "url": "https://mcp.thirdfy.com/mcp/public"
    }
  }
}

Then, in Agent chat:

Use Thirdfy to onboard me with you@example.com.

The agent calls startEmailOnboarding and asks for the code Thirdfy emails you. It then calls completeEmailOnboarding with acceptTerms: true. The response includes your agent API key (agent-...) and execution wallets. Save the key now. It is shown once.

You can also get a key with the Agent CLI.

Add the key as a header

Keep the key in an environment variable and reference it from mcp.json:

{
  "mcpServers": {
    "thirdfy": {
      "url": "https://mcp.thirdfy.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AGENT_API_KEY}"
      }
    }
  }
}

Set AGENT_API_KEY in the environment Cursor starts from, then restart Cursor or toggle the server off and on in Tools & MCP. Don't paste the key into chat.

Try it

Using Thirdfy:
1. List the Polymarket actions.
2. Check if my Polymarket venue is ready.
3. Run get_openmarket_btc_funding and summarize it.

Before a write:

  1. getVenueReadiness lists anything that blocks the venue.
  2. Clear the blockers with prepareVenueOnboarding, completeVenueOnboarding and fundVenue.
  3. Preview the action with previewOrder.
  4. Run it with walletExecute.

Thirdfy refuses any write that fails its checks.

Check from a terminal

curl -s https://mcp.thirdfy.com/health
curl -s -X POST https://mcp.thirdfy.com/tool/getProviderActions \
  -H "Content-Type: application/json" \
  -d '{"provider":"openmarket","view":"concise"}'

Troubleshooting

IssueFix
OTP never arrivesCheck spam, then ask the agent to call startEmailOnboarding again
401 Authentication requiredSign in again from Tools & MCP, or add the Authorization header and reconnect
Writes return insufficient_scopeYou granted Read only. Sign in again and tick Trade
Literal ${env:AGENT_API_KEY} sentThe variable is not set where Cursor starts. Set it and restart Cursor
AGENT_IDENTITY_MISMATCHThe agent passed a different key in arguments. The header key is used