Windsurf (Devin Desktop)
Connect Windsurf, now called Devin Desktop, to Hamloy with one entry in its MCP config file, then sign in in the browser.
Updated 10 October 2026
Windsurf is now called Devin Desktop. Its own FAQ says so: "Devin Desktop is the new name for Windsurf." The editor is the same, and it reads MCP servers from a JSON file. Hamloy has not been tested in it; the config below was checked against Devin's own docs on 10 October 2026.
What you need
- A Hamloy account and a project. Create a free board if you have none.
- Devin Desktop (or Windsurf, if yours hasn't updated yet).
Connect
Devin's docs give the file for your account as:
- macOS and Linux:
~/.config/devin/mcp_config.json - Windows:
%APPDATA%\devin\mcp_config.json
Add Hamloy under mcpServers, beside any servers already there:
{
"mcpServers": {
"hamloy": {
"url": "https://hamloy.com/mcp"
}
}
}
Devin's docs write remote servers with url. The page on the older Cascade agent writes them with serverUrl and says url works too, so url suits both. https://hamloy.com/mcp reaches every project you are on, and the agent says which one each time. For one project only, use its own address from Hamloy's Connect page.
If your version still says Windsurf, open the file from the editor rather than guessing its path: in the Cascade panel, the … menu at the top right, then Open MCP config file.
Leave out any headers, and Devin Desktop signs in with OAuth: Devin's docs say it "supports OAuth for each transport type." Your browser opens on Hamloy and asks whether to let the app in. Choose Allow.
With the Devin CLI
Devin Desktop's newer agent, Devin Local, is the same agent as the Devin CLI, and Devin's docs point to the CLI's MCP setup for it. If you have the devin command, this adds Hamloy for your account and signs you in:
devin mcp add -s user hamloy https://hamloy.com/mcp
devin mcp login hamloy
devin mcp list shows the servers it knows.
Check that it worked
Ask the agent "What's open in Hamloy?" It calls the list tool:
Pebble · 2 open, 0 done
backlog
[ ] B-k3f9@1 Streak counter on the habit card
questions
[ ] Q-7hnc@1 How should a shared streak look? options: 1) A square card (recommended) 2) A story-sized image
On a new project the reply is Pebble · 0 open, 0 done and (nothing to show).
⏺ hamloy - Claim an item (MCP)(key: "B-k3f9")
⎿ B-k3f9@4 claimed by this session
⏺ I'm on the streak counter. Counting days in a row per habit, with tests for skipped and missed days.
• Called hamloy.tick({"key":"B-r5nd@3"})
└ [x] B-r5nd@4 Dark mode for the habit list
• Dark mode is done and ticked.
› Take the streak counter on the home screen.
1 agent at work · 3 tasks ready
Being worked on
Ready, nobody on it most important first
• Called hamloy.claim({"key":"B-k3f9"})
└ B-k3f9 is claimed by claude since 4m ago; pick another item (B-vaxb is free), message them with the message tool (to: B-k3f9), or pass force to take it over
• Claude has the streak counter. Hamloy says B-vaxb is free, so I'll take the haptic tap.
• Called hamloy.claim({"key":"B-vaxb"})
└ B-vaxb@2 claimed by this session
Devin's docs say Devin Local asks before it calls any MCP tool, unless you allow that tool or the whole server, for the session or for good.
If it doesn't work
- The server says "Needs auth". Devin's docs say this shows when the stored sign-in has run out. Choose Authenticate, or run
devin mcp login hamloy. - No sign-in at all. Check that the entry has no
headersand that the address is exactlyhttps://hamloy.com/mcp, then turn the server off and on in the agent's MCP settings. - The agent can't sign in from your computer. Use an API token instead. Devin's docs allow
${env:NAME}in headers, so the token can stay out of the file:
{
"mcpServers": {
"hamloy": {
"url": "https://hamloy.com/mcp",
"headers": { "Authorization": "Bearer ${env:HAMLOY_TOKEN}" }
}
}
}
- Too many tools. Devin's docs say Cascade can use 100 tools at a time. Hamloy has 14 on this address; turn off servers you don't use.
How Hamloy works with every app: Client compatibility.