Check requirements
- Antigravity CLI installed. Install it with
brew install --cask antigravity-cli, or withcurl -fsSL https://antigravity.google/cli/install.sh | bash. - A Google account to sign in to Antigravity CLI. Run
agyonce and sign in when it asks. - A NeetoCal account.
Connect NeetoCal to Antigravity CLI
Run this in your terminal:
agy mcp add neetocal https://connect.neetocal.com/mcp/messages
Run agy mcp list to check that neetocal shows as enabled.
Start agy, type /mcp, select neetocal and choose Authenticate. Sign in to NeetoCal in your browser, then paste the code it shows back into Antigravity CLI.
Then ask from your terminal:

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 with the key in a header:
agy mcp add --header "Authorization: Bearer YOUR_API_KEY" neetocal https://connect.neetocal.com/mcp/messages
The command saves the server to ~/.gemini/config/mcp_config.json. If you edit that file by hand, use serverUrl, not url.
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
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:
- The config key. Claude Code, Cursor, Devin, Antigravity, and Antigravity CLI use
mcpServers. VS Code usesservers. Codex uses a[mcp_servers.<name>]section in TOML. A server under the wrong key is ignored silently. - The URL key. Antigravity and Antigravity CLI expect
serverUrl. Claude Code, Codex, Cursor, Devin, and VS Code expecturl. - The endpoint. It is
https://connect.neetocal.com/mcp/messages, with no trailing slash. - 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
| AI assistant | Setup guide |
|---|---|
| Claude | Use NeetoCal in Claude |
| ChatGPT | Use NeetoCal in ChatGPT |
| Claude Code | Use NeetoCal in Claude Code |
| Cursor | Use NeetoCal in Cursor |
| Codex | Use NeetoCal in Codex |
| VS Code | Use NeetoCal in VS Code |
| Devin | Use NeetoCal in Devin |
| Antigravity | Use NeetoCal in Antigravity |
| Any other MCP client | NeetoCal MCP server |
Prefer the terminal? The NeetoCal CLI reaches the same data from your shell, your scripts and your coding agent.