Use NeetoCal in Devin

Connect Devin to the NeetoCal MCP server and work with your schedule from your editor or terminal, with your NeetoCal sign-in or an API key.

Collega NeetoCal a Devin

  1. 1Add the server to ~/.config/devin/mcp_config.json.
  2. 2Run devin mcp login neetocal in your terminal and sign in to NeetoCal in your browser.
{
  "mcpServers": {
    "neetocal": {
      "url": "https://connect.neetocal.com/mcp/messages"
    }
  }
}
Devin

> List my NeetoCal bookings for today

● neetocal - ListBookings · 4 found

You have 4 bookings today. The 3:00 PM Product Demo has no host assigned yet.

>

NeetoCal

Check requirements

  • Devin Desktop installed on your computer. Devin Desktop is the new name for Windsurf.
  • A NeetoCal account.

Connect NeetoCal to Devin

Add the server to ~/.config/devin/mcp_config.json:

{
  "mcpServers": {
    "neetocal": {
      "url": "https://connect.neetocal.com/mcp/messages"
    }
  }
}

Then run devin mcp login neetocal in your terminal and sign in to NeetoCal in your browser. Run devin mcp list to check that neetocal is listed. The devin command ships with Devin Desktop at /Applications/Devin.app/Contents/Resources/app/extensions/windsurf/devin/bin/devin.

Then ask Devin in a Local session. Devin asks before each NeetoCal tool call. Choose Allow, or pick the option that allows every NeetoCal tool for the session:

Screen recording of Devin Desktop connected to NeetoCal. Devin is asked which Grooming Consultation slots are free next Tuesday afternoon, New York time. It asks before each NeetoCal tool call, then lists 9 free slots from 12:30 PM to 4:50 PM.
Devin answers from your NeetoCal data and asks before it uses each tool.

Connect with an API key

An API key is not tied to a person. Every tool call reaches the whole workspace, and role checks do not run. Use a key for automation that must see every booking. Do not use one on a machine where the person should see only their own bookings.

It is the same key the REST API uses. Learn how to generate your API key. Create it in the workspace you want the assistant to reach. Every client sends it in this header:

Authorization: Bearer YOUR_API_KEY

Add the server to ~/.config/devin/mcp_config.json. Devin uses the key on its next session.

{
  "mcpServers": {
    "neetocal": {
      "url": "https://connect.neetocal.com/mcp/messages",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Try these prompts

Look things up:

What NeetoCal bookings do I have this week?

Show me open slots for my Product Demo meeting on May 15 in America/New_York.

List the meetings I host.

Book outside your working hours. Only a host of the meeting or an admin can do this:

Book Oliver Smith into my demo meeting on May 15 at 8pm America/New_York, even though it's outside my hours.

Set up a meeting and your calendar:

Create a 30-minute meeting called Product Demo, hosted by me, over Zoom.

Add bookings of my Product Demo meeting to my Work Google calendar, and check only that calendar for conflicts.

Troubleshooting

Devin or Antigravity connects but the tools are missing

Enable the server after you save the config. In Devin, open the ... menu at the top of a Devin chat in the IDE view and turn the server on, then run devin mcp login <name>. In Antigravity, go to Settings → Customizations.

Your AI assistant shows no NeetoCal tools

Restart the client first. Every client reads its MCP config at startup. On Claude or ChatGPT, confirm that you added the connector and finished the sign-in. In ChatGPT, the plugin is created only after you tick I understand and want to continue.

On clients that read a config file, check these:

  1. The config key. Claude Code, Cursor, Devin, Antigravity, and Antigravity CLI use mcpServers. VS Code uses servers. Codex uses a [mcp_servers.<name>] section in TOML. A server under the wrong key is ignored silently.
  2. The URL key. Antigravity and Antigravity CLI expect serverUrl. Claude Code, Codex, Cursor, Devin, and VS Code expect url.
  3. The endpoint. It is https://connect.neetocal.com/mcp/messages, with no trailing slash.
  4. The syntax. In JSON, a trailing comma or an unclosed brace makes the whole file unreadable.

The connection is refused or unauthorized

With an API key, the header must read Bearer YOUR_API_KEY, with the word Bearer and one space before the key. Check that the key is not revoked and belongs to the workspace you expect. A key from one workspace does not work in another. With OAuth, remove the connector and add it again to start the sign-in over.

More fixes are in the NeetoCal MCP troubleshooting guide.

Use NeetoCal in other AI assistants

Prefer the terminal? The NeetoCal CLI reaches the same data from your shell, your scripts and your coding agent.

Dì addio ai mal di testa da programmazione — inizia ora!