NeetoDesk MCP server

Connect any MCP client to NeetoDesk with your NeetoDesk sign-in or an API key. Server URL, permissions, the full tools list, and troubleshooting.

What is NeetoDesk MCP?

NeetoDesk MCP lets AI assistants like Claude and ChatGPT access and manage your support desk. Once it's connected, you can ask your AI assistant what's in the queue, catch up on a long ticket, triage and assign tickets, draft replies, and pull support reports, in the same conversation where you're already working.

MCP stands for Model Context Protocol, an open standard that connects AI assistants to other applications. You don't need to understand how it works. Just connect your AI assistant to NeetoDesk, sign in, and start asking questions.

Your AI assistant connects to the NeetoDesk MCP server. We host and maintain the server, so there's nothing for you to install or update. Every workspace uses the same address:

https://connect.neetodesk.com/mcp/messages

When you connect, you sign in with your NeetoDesk account and pick your workspace. Your assistant operates with your permissions. It can access only the tickets you can access and perform only the actions your role allows. It can reach your tickets, comments, drafts, attachments, customers, custom ticket fields, team members, forms, and support reports. You don't need to know any commands. Just ask in plain language. The full list is in the NeetoDesk MCP tools reference.

NeetoDesk also has a command-line tool, the NeetoDesk CLI. It works with the same helpdesk, but runs in your terminal, in scripts, and in scheduled jobs. It's open source, so you can read exactly what it does, change it, and build on it.

Connect any MCP client

Every client uses the same server URL, https://connect.neetodesk.com/mcp/messages, over HTTP (Streamable HTTP). Pick your client below. Each one signs in with OAuth. To use an API key instead, see Connect with an API key.

Screen recording of the NeetoDesk page in the Claude connector directory. Connect to Claude is clicked, access to the helpdesk workspace is approved, and Claude shows NeetoDesk as connected. A first prompt is then typed and Claude starts to answer.
Connecting NeetoDesk to Claude from the Claude directory, then asking a first question.

Step-by-step guides for each AI assistant:

Which sign-in each client supports

ClientSign in (OAuth)API key
ClaudeYesNo
ChatGPTYesNo
Claude CodeYesYes
CodexYesYes
CursorYesYes
Antigravity CLIYesYes
VS CodeYesYes
DevinYesYes
AntigravityYesYes

In Claude Code, Codex, Cursor, Antigravity CLI, VS Code, and Devin, leave the key out of the config to sign in with OAuth. Put the key in to use the API key.

Sign in and choose permissions

The first sign-in screen asks for your workspace subdomain, not your email address. For acme.neetodesk.com, enter acme.

What each permission allows

PermissionWhat it allows
ReadSee what your role lets you see in the selected workspaces. Always granted.
Stay connectedKeep working without asking you to sign in again. Always granted.
Create and updateAdd new items and change existing ones.
DeleteMove tickets to trash or spam, permanently delete ticket fields, and deactivate team members. Trashed tickets are emptied after 30 days.

If you leave a permission unticked, a tool that needs it is refused with a message that names the permission. A read-only connection can list and search tickets but cannot post a comment, update a ticket, or delete anything.

For developers: the OAuth metadata is at https://connect.neetodesk.com/.well-known/oauth-authorization-server. The server supports the authorization_code and refresh_token grants, and requires PKCE (S256). Clients register dynamically (RFC 7591) at https://connect.neetodesk.com/mcp/oauth/register, and loopback redirect URIs are accepted. Refresh tokens are issued, so you stay signed in.

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.

Each AI assistant's guide shows where its config file lives and how it sends the key.

Keep your key safe

  • One key is one workspace. To reach two workspaces, add the server twice, with a different key and a different server name in each entry.
  • Treat the key like a password. It gives access to every ticket and customer in the workspace. Keep it out of shared config files and commits, and revoke it in your workspace settings if it leaks.

How each interface signs in

InterfaceCredentialWhere it goes
REST APIAPI keyX-Api-Key header on each request
CLIBrowser sign-in, stored per workspace~/.config/neetodesk/auth.json, no API key involved
MCPOAuth, or an API keyBrowser approval, or an Authorization: Bearer header in the assistant's config file

NeetoDesk MCP tools

Once you connect, your AI assistant lists every tool with what it does, and you never need to name one. This is a summary of what the tools cover.

  • Tickets. Search, list and read tickets and their comments, create tickets, and update a ticket's status, priority, agent, group, tags and files. With Delete, move tickets to trash or spam.
  • Comments and drafts. Add replies and internal notes to a ticket, and save unsent drafts for you to review and send.
  • Attachments. Attach files to tickets, comments and drafts, from a public web address or from your machine.
  • Customers. List and look up customers, and create new ones.
  • Ticket fields. List and read custom ticket fields, create and update them, and delete inactive ones.
  • Team members. List and look up team members, invite people, update their details and role, and deactivate them.
  • Forms. List the web forms your workspace uses to collect tickets.
  • Reports. Read ticket, agent, group and satisfaction survey reports for a date range, compared with the previous period.

What to know before you connect

  • Access follows the sign-in. Over OAuth, results follow your role, and a record you cannot open is refused. An API key reaches the whole workspace. A change is refused when the connection was not granted Create and update or Delete.
  • Replies and notes are never emailed. A reply is shown to the customer on the ticket. A note stays internal. Neither is emailed to the customer, and a saved draft is not sent.
  • Authorship. Over OAuth, a comment is written as you. With an API key, you tell the assistant who is writing.
  • Drafts and comments cannot be read back or edited. The assistant can save a draft but cannot read it back. It cannot edit a comment once it is posted.
  • Customers cannot be changed or deleted. The assistant can only list, look up and create them.
  • Deletes. Deleting a ticket field is permanent and removes the values tickets hold for it. Only an inactive field can be deleted. Deactivating a team member ends their access but keeps their tickets and comments. Tickets moved to trash or spam are emptied after 30 days.
  • Permissions in NeetoDesk. Managing ticket fields and team members needs the matching permission in NeetoDesk. Deleting needs the Delete permission.

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:

  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. A server under the wrong key is ignored silently.
  2. The URL key. Antigravity and Antigravity CLI use serverUrl. Claude Code, Codex, Cursor, Devin, and VS Code use url.
  3. The endpoint. It is https://connect.neetodesk.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 that it belongs to the workspace you expect. With OAuth, remove the connector and add it again to start the sign-in over.

The client uses a key when you wanted to sign in

A client that finds a credential in its config never starts the OAuth flow. Remove the headers block, or the bearer_token_env_var line in Codex, and restart the client.

The client asks you to sign in when you wanted to use a key

The credential is missing, so the client falls back to OAuth. Add the headers block with Authorization: Bearer YOUR_API_KEY. In Codex, set bearer_token_env_var = "NEETODESK_API_KEY" and export that variable. Then restart the client.

The sign-in fails at the workspace step

The first screen needs a workspace subdomain or a workspace URL, not an email address. For acme.neetodesk.com, enter acme.

Your AI assistant sees fewer tickets than expected

With OAuth, the assistant acts as the person who approved it. Lists and searches follow your permissions, and a ticket you cannot open is refused. If the assistant needs the whole workspace, use an API key.

Your AI assistant reaches the wrong workspace

With OAuth, name the workspace in your prompt. To add another one, sign in again and tick it. An API key belongs to one workspace, so add the server again with the other key and a different server name.

VS Code never offers the tools

You need VS Code 1.99 or later with GitHub Copilot in Agent mode. MCP is not available in Ask or Edit mode. Check that .vscode/mcp.json is in the workspace you have open. With an API key, answer the prompt for the key the first time the server is used.

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.

Claude shows the connector as unauthorized

Open Customize → Connectors, remove NeetoDesk, and connect it again from the NeetoDesk listing. On a Team plan, Requested means an admin has not turned NeetoDesk on yet. An admin turns it on under Organization settings → Connectors.

A draft was not emailed to the customer

Drafts are saved on the ticket, unsent, for you to review and send from NeetoDesk. Comments written through MCP are never emailed to the customer either.

Check that the server is reachable

The server publishes its OAuth metadata without any credential:

curl -s https://connect.neetodesk.com/.well-known/oauth-authorization-server

A JSON document whose issuer is https://connect.neetodesk.com means the server is reachable, so look at your client's setup next. No answer, or an error page, means the server cannot be reached from your network. Try again in a few minutes, and if it persists, tell us.

Still stuck

Reach us through the help center, or at support@neetodesk.com. Tell us which client you are using and what the assistant reports when it tries a NeetoDesk tool.

Frequently asked questions

Does NeetoDesk MCP require an API key?

No. Sign in with your NeetoDesk account and approve access. There's no API key to copy or manage.

Any client that can send an Authorization: Bearer header can also use a NeetoDesk API key, such as Claude Code, Cursor, Codex, VS Code, Devin, Antigravity, and Antigravity CLI. Claude and ChatGPT use sign-in only. However, API keys provide access to the entire workspace rather than operating with your individual permissions.

Where is the NeetoDesk MCP server hosted?

NeetoDesk hosts the MCP server at https://connect.neetodesk.com/mcp/messages. You don't need to install, configure, or maintain a server yourself.

Use NeetoDesk in other AI assistants

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

¿Listo para elevar tu soporte al cliente?

Comencemos ahora.