Check requirements
- Cursor installed on your computer.
- A NeetoDesk account.
Connect NeetoDesk to Cursor
Add the server to ~/.cursor/mcp.json:
{
"mcpServers": {
"neetodesk": {
"url": "https://connect.neetodesk.com/mcp/messages"
}
}
}
Restart Cursor, then sign in to NeetoDesk when Cursor asks.
In the Cursor CLI, run cursor-agent mcp login neetodesk once to sign in. Then ask from your terminal:

Connect with an API key
An API key reaches the whole workspace, not only what you can see. It is not tied to a person, and role checks do not run. Use a key for automation that must see every ticket. Do not use one on a machine where the person should see only their own tickets.
It is the same key the REST API uses. Learn how to generate your API key.
Every client sends the key in this header:
Authorization: Bearer YOUR_API_KEY
Replace YOUR_API_KEY with a key from your workspace.
Add the server to ~/.cursor/mcp.json, then restart Cursor:
{
"mcpServers": {
"neetodesk": {
"type": "http",
"url": "https://connect.neetodesk.com/mcp/messages",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Try these prompts
Once you are connected, ask in plain language. You can name a ticket by its number, so #42 is enough.
Read a ticket
Show me ticket #42 with its full description.
List all comments on ticket #42.
Find tickets mentioning "refund not received".
Search matches ticket subjects and comment text. It returns up to 25 recent matches, with a snippet of the comment when the text appears in the conversation.
Attach a file
Attach the image at https://example.com/printer-error.png to ticket #42.
That address is fetched and stored in one step, so it works in any assistant. The address has to be reachable without a login.
File a ticket for customer@example.com about the jammed printer and attach ~/Desktop/printer.png.
A file on your own machine takes an extra step. The assistant reserves the upload, sends the bytes itself, then attaches the result. That needs an assistant that can make an HTTP request of its own. A terminal-based one can, and a chat-only one cannot.
Create and update
Create a ticket for customer@example.com with subject "Login issue" and description "Customer cannot reset their password."
Assign ticket #42 to oliver.smith@example.com.
People and forms
List the team members in my workspace.
Create a customer for sam.smith@example.com named Sam Smith.
List the enabled web forms in my workspace.
Reports
How many tickets changed status in the last 7 days?
Show me agent response-time reports for this month.
Which group had the fastest average resolution time over the last 30 days?
Chain requests together
Find every open ticket about refunds, summarize what each customer is asking for, and draft a holding reply on the oldest one.
Compare this month's agent performance against last month and tell me who improved most.
Ask your assistant to confirm before it posts a reply, changes a ticket's status, or deactivates a team member. MCP actions affect your live workspace.
Troubleshooting
Your AI assistant shows no NeetoDesk 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 a client that reads 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. A server under the wrong key is ignored silently. - The URL key. Antigravity and Antigravity CLI use
serverUrl. Claude Code, Codex, Cursor, Devin, and VS Code useurl. - The endpoint. It is
https://connect.neetodesk.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 that it belongs to the workspace you expect. With OAuth, remove the connector and add it again to start the sign-in over.
More fixes are in the NeetoDesk MCP troubleshooting guide.
Frequently asked questions
Can I use NeetoDesk MCP with Cursor or Codex?
Yes. Cursor, Codex, VS Code with GitHub Copilot, Devin, Antigravity, and Antigravity CLI can all connect to the NeetoDesk MCP server. See the NeetoDesk MCP setup guide for instructions specific to each tool.
Use NeetoDesk in other AI assistants
| AI assistant | Setup guide |
|---|---|
| Claude | Use NeetoDesk in Claude |
| ChatGPT | Use NeetoDesk in ChatGPT |
| Claude Code | Use NeetoDesk in Claude Code |
| Codex | Use NeetoDesk in Codex |
| VS Code | Use NeetoDesk in VS Code |
| Antigravity CLI | Use NeetoDesk in Antigravity CLI |
| Devin | Use NeetoDesk in Devin |
| Antigravity | Use NeetoDesk in Antigravity |
| Any other MCP client | NeetoDesk MCP server |
Prefer the terminal? The NeetoDesk CLI reaches the same data from your shell, your scripts and your coding agent.