Use NeetoDesk in Devin

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

Conecta NeetoDesk con Devin

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

> How many NeetoDesk tickets are open right now?

● neetodesk - ListTickets · 37 found

37 tickets are open. 8 of them have waited more than a day for a first reply.

>

NeetoDesk

Check requirements

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

Connect NeetoDesk to Devin

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

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

Then run devin mcp login neetodesk in your terminal and sign in to NeetoDesk in your browser. Run devin mcp list to check that neetodesk 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 NeetoDesk tool call. Choose Allow, or pick the option that allows every NeetoDesk tool for the session:

Screen recording of Devin Desktop connected to NeetoDesk. Devin is asked how many tickets are open. It calls ListTickets, groups the 35 open tickets by theme and lists the three oldest.
Devin answers from your NeetoDesk data and asks before it uses each tool.

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 ~/.config/devin/mcp_config.json. Devin uses the key on its next session:

{
  "mcpServers": {
    "neetodesk": {
      "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

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 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.

More fixes are in the NeetoDesk MCP troubleshooting guide.

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.