Windsurf (Devin Desktop)
Add Thirdfy MCP to Windsurf, now Devin Desktop. Sign in with your Thirdfy account, or use an agent key header.
Add Thirdfy to Windsurf so its agent can read markets and act for your agent, within the limits you set. Windsurf is now called Devin Desktop, and its default agent is Devin Local. The steps below work for Devin Local and for the older Cascade agent. See Devin's MCP configuration docs.
| Way | Best for |
|---|---|
| Sign in with Thirdfy | You, in the agent panel, acting for one of your agents |
| Agent key header | A shared or headless setup that runs as the agent |
Sign in with Thirdfy
Add Thirdfy to ~/.config/devin/mcp_config.json (all projects; %APPDATA%\devin\mcp_config.json on Windows), with no headers. For one project, use .devin/mcp_config.json instead.
Save the file. In the Devin Local MCP list, thirdfy shows Needs auth. Click Authenticate to open the Thirdfy sign-in page. With the Devin CLI, run devin mcp login thirdfy instead. Then:
- Sign in with the same method you use on thirdfy.com (email, Google or wallet).
- Pick the agent Devin acts for, or click + Create a new agent.
- Choose access: Read (always), Trade within your agent's limits, and Stay connected (up to 30 days). Click Approve.
Manage or revoke the connection at auth.thirdfy.com/connections. For what a signed-in app can do, see Connect.
To look around first with no account, use https://mcp.thirdfy.com/mcp/public instead. It covers the catalog, public signal reads and help.
Agent key header
Get an agent key
Open thirdfy.com/connect, go to Agent key, pick the agent and click Create a key. The key (agent-...) is shown once, so store it right away.
Add the key as a header
Keep the key in an environment variable and reference it from mcp_config.json:
Set AGENT_API_KEY in the environment Devin Desktop starts from, then restart it. An unset variable becomes an empty string, so Thirdfy answers 401. Don't paste the key into chat, and don't commit it: for a team repo, put the header in .devin/mcp_config.local.json, which is gitignored.
Try it
Devin Local asks before it calls any MCP tool. You can allow one tool or the whole server, for the session or for good. Allow read tools freely, and keep trades on ask. Before a write:
getVenueReadinesslists anything that blocks the venue.- Preview the action with
previewOrder. - Run it with
walletExecute.
Thirdfy refuses any write that fails its checks (allowlist, daily limit, venue readiness, credits). The older Cascade agent runs MCP tools without asking, so rely on your agent's policy in Thirdfy there.
Troubleshooting
| Issue | Fix |
|---|---|
401 Authentication required | Click Authenticate in the MCP list, or check that AGENT_API_KEY is set where Devin Desktop starts |
| Needs auth after it worked | The sign-in ended (up to 30 days). Click Authenticate again, or run devin mcp logout thirdfy then devin mcp login thirdfy |
Writes return insufficient_scope | You granted Read only. Sign in again and tick Trade |
| Thirdfy tools missing in Cascade | Cascade loads up to 100 tools in total. Turn off servers or tools you don't need |
AGENT_IDENTITY_MISMATCH | The model passed a different key in arguments. The header key is used |