NeetoDesk MCP and CLI: let AI tools help run your support desk

Connect NeetoDesk to Claude, ChatGPT, Cursor, Codex, and other AI tools. Ask questions about your tickets, triage the queue, draft replies, and automate the rest from your terminal.

What is NeetoDesk MCP?

NeetoDesk MCP lets AI tools like Claude and ChatGPT work with your NeetoDesk helpdesk. 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 for connecting AI tools to the apps you use. You don't need to know anything about it. You connect once, sign in to NeetoDesk, and start asking.

YouTube video placeholderNeetoDesk MCP and CLI demo (about 6 minutes)

YouTube walkthrough: connect NeetoDesk to Claude, ask about the open queue, summarize a long ticket, triage and assign tickets, draft replies, then do the same work from the terminal with the CLI.

Your AI tool talks to the NeetoDesk MCP server. NeetoDesk hosts it, so there's nothing to install or keep updated, and 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. The assistant then works as you: it sees only the tickets you can see, and does only what your role allows. It can reach your tickets, comments, drafts, customers, team members, forms, and support reports. You never name a tool; you 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.

Real prompts for real work

These are real prompts for real support work. Copy any of them and try it with Claude, ChatGPT, or another AI tool. For repeatable jobs in automation, we have included CLI examples too.

Ask NeetoDesk questions

NeetoDesk isn't only something your AI assistant can operate. It's something you can ask questions about. Try these:

How many tickets did we get in the last 7 days, and how many did we close?

Which agent has the fastest first response time this month?

Which group takes the longest to resolve tickets? Compare last month with this month.

How did customers answer our satisfaction survey in the last 30 days?

How many open tickets does Oliver have right now?

Which open tickets don't have anyone assigned?

Show me every open ticket from anyone at acme.com.

Which open tickets are marked urgent or high priority?

How many tickets about refunds have we had this month?

What's the oldest ticket that's still open?

The assistant reads your tickets and reports and works out the answer. For questions that span thousands of tickets, the CLI is the better fit. See MCP or CLI.

Triage and catch up

Triage the morning queue

Go through the open tickets that came in since yesterday. For each one, give me a one-line summary, a suggested priority, and who should take it. Don't change anything yet.

The assistant reads the new tickets and their conversations and hands you a triage plan. You decide what to apply.

Catch up on a long ticket

Summarize ticket #1042. What is the customer asking for, what have we told them so far, and what's still unresolved?

Instead of scrolling through dozens of replies, you get the whole story in a paragraph.

Spot a pattern

Find tickets with "password reset" in the subject. Is this a one-off, or are several customers hitting the same problem? When did it start?

Balance the workload

Which agents have the most open tickets? Suggest who should pick up the next five unassigned tickets.

Prepare the weekly support review

Put together our support review for last week: new versus closed tickets, first response and resolution times by agent and by group, and what customers said in the satisfaction survey. Point out anything that got worse.

Act on tickets

Apply the triage

Set tickets #1042, #1047 and #1051 to high priority and assign them to priya@example.com.

Draft replies for your team to review

Draft replies to the open tickets about billing. Keep them short and friendly. Don't send anything.

Each draft appears on its ticket, with the agent's signature, ready for someone to review, edit, and send.

Screen recording placeholderDrafting replies with Claude

Screen recording: the prompt above, the assistant reading the billing tickets, and the drafts appearing on each ticket in NeetoDesk.

Leave an internal note

Add an internal note to ticket #1042 saying engineering is investigating and we expect a fix on Thursday.

Turn a conversation into a ticket

A customer reports a bug in a Slack thread or an email you're reading. Paste it in and ask:

Create a high-priority ticket for bob@client.com from this thread. Tag it "bug" and assign it to the Engineering group.

The assistant writes the subject and description from the thread, so the ticket has the full context.

Tag without losing what's there

Add the tag "billing" to tickets #1042 and #1047, and keep their existing tags.

Close out finished work

Tickets #1042 and #1051 are done. Mark them resolved.

Set things up

Add a customer

Add a customer: Jane Cooper, jane@acme.com, based in London. Note that she's the main contact for the Acme account.

Image placeholderCustomer created by the assistant

Screenshot of the Jane Cooper customer record in NeetoDesk after the prompt above.

Bring a new agent on board

Add priya@example.com and sam@example.com to our NeetoDesk workspace as agents, and send them an invitation.

Automate with the CLI

Why have a CLI when MCP exists? Because some jobs shouldn't need an AI at all. These run on a schedule, with nothing but the neetodesk binary and the tools you already use, such as jq, curl, and your cloud CLI. No model account, no cost per run, and the same result every time.

Post the open queue every morning

# Every weekday at 9am
0 9 * * 1-5 neetodesk tickets list --status open --page-size 1 --json | jq '{text: "Open tickets this morning: \(.pagination.total_records)"}' | curl -s -X POST -H "Content-Type: application/json" -d @- "$SLACK_WEBHOOK_URL"

Alert on unassigned tickets

Every hour, post open tickets that nobody has picked up.

neetodesk tickets list --status open --page-size 100 --json \
  | jq -r '.data[] | select(.assignee == null) | "#\(.number) \(.subject)"' \
  | while read -r line; do
      curl -s -X POST -H "Content-Type: application/json" \
        -d "$(jq -n --arg text "Unassigned: $line" '{text: $text}')" "$SLACK_WEBHOOK_URL"
    done

Open tickets from your monitoring

Turn an alert into a ticket straight from your alerting script.

neetodesk tickets create \
  --email alerts@example.com \
  --subject "Checkout error rate above 5%" \
  --description "<p>Error rate crossed 5% at $(date -u +%H:%M) UTC.</p>" \
  --priority high

Back up every ticket nightly

page=1
while :; do
  out=$(neetodesk tickets list --page "$page" --page-size 100 --json)
  echo "$out" | jq -c '.data[]'
  [ "$(echo "$out" | jq '.pagination.total_pages')" -le "$page" ] && break
  page=$((page + 1))
done > tickets.jsonl

aws s3 cp tickets.jsonl "s3://your-backup-bucket/neetodesk/$(date +%F).jsonl"

Export tickets to a spreadsheet

page=1
while :; do
  out=$(neetodesk tickets list --page "$page" --page-size 100 --json)
  echo "$out" | jq -r '.data[] | [.number, .subject, .status, .priority, .customer.email, .assignee.email, .created_at] | @csv'
  [ "$(echo "$out" | jq '.pagination.total_pages')" -le "$page" ] && break
  page=$((page + 1))
done > tickets.csv

Save the weekly agent report

Every Monday, store last week's agent performance, with the change from the week before.

neetodesk reports agents --range-type last_week --json > "agent-report-$(date +%F).json"

Resolve a batch of tickets

After a fix ships, resolve every ticket you've linked to it.

for ticket in 1042 1047 1051; do
  neetodesk tickets update "$ticket" --status resolved
done

Set up a new agent

neetodesk team-members create --email priya@example.com --role Agent --send-invitation-email

Let a coding agent build it for you

You don't have to write these scripts yourself. Claude Code, Codex, or another coding agent can write the automation and use the open-source NeetoDesk CLI to work with your helpdesk. Run neetodesk setup claude (or setup codex, setup cursor) once, then ask:

Every weekday at 9 AM, use the NeetoDesk CLI to post a summary of open and unassigned tickets to our Slack channel. Write the script, test it, and set up the cron job.

Using the NeetoDesk CLI, write a script that exports last month's tickets to CSV with the customer and assignee for each one.

You get the convenience of a chat, and the result is a script you can read, run, and commit.

Screen recording placeholderClaude Code building a NeetoDesk automation

Terminal recording: the 9 AM summary prompt, Claude Code running neetodesk commands, writing the script, and adding the cron job.

MCP or CLI: which should you use?

Both work with the same tickets, customers, and reports. Pick based on how the work reaches NeetoDesk.

Use MCP when:

  • The details are in your chat. A Slack thread or an email becomes a ticket with no retyping.
  • The work needs reading and judgment. Summarizing a ticket, triaging the queue, or drafting a reply means understanding the conversation.
  • You're asking a question. "Which agent is fastest to respond this month?" needs someone to look and explain.
  • You don't use a terminal. NeetoDesk hosts the server. There's nothing to install.

Use the CLI when:

  • No AI should be in the loop. A cron job or CI step runs the CLI with nothing but the binary. No model account, no cost per run.
  • The output feeds another program. The CLI prints raw JSON for jq, a spreadsheet, a Slack webhook, or your own script.
  • You're working through thousands of tickets. The CLI pages through everything unattended.
  • The run has to be repeatable. A command records exactly what ran and does the same thing every time.

You can also have both. With neetodesk setup claude, your AI assistant drives the CLI for you, so a plain-language request still ends in a command you can read and reuse.

Connect NeetoDesk to your AI tool

Claude

  1. Open NeetoDesk in the Claude directory and click Connect to Claude.
  2. Sign in to NeetoDesk and choose your workspace and permissions.

This works in Claude on the web, desktop, and mobile. On a Claude Team or Enterprise plan, an admin may need to turn on NeetoDesk under Organization settings, then Connectors.

Screen recording placeholderConnecting NeetoDesk to Claude

Screen recording of the two steps above, ending with a first prompt.

ChatGPT

  1. In ChatGPT, open Settings, then Security and login, and turn on Developer mode.
  2. Go to chatgpt.com/plugins and click +.
  3. Name it NeetoDesk, set the connection to Server URL, and paste https://connect.neetodesk.com/mcp/messages.
  4. Leave authentication on OAuth, accept the notice, and click Create. Then sign in to NeetoDesk.

Claude Code

claude mcp add --transport http neetodesk https://connect.neetodesk.com/mcp/messages

Then start Claude Code, run /mcp, pick neetodesk, and sign in.

Cursor, Codex, VS Code, Windsurf, and Gemini CLI

Each of these connects to the same server address. The NeetoDesk MCP setup guide has the exact configuration for each one.

To check the connection, ask your assistant: "How many open NeetoDesk tickets do we have?"

Install the NeetoDesk CLI

macOS with Homebrew:

brew install neetozone/tap/neetodesk

macOS or Linux:

curl -fsSL https://neetodesk.com/cli/install.sh | sh

Windows (PowerShell):

irm https://neetodesk.com/cli/install.ps1 | iex

Then sign in. This opens your browser, and there's no API key to manage:

neetodesk login --subdomain your-workspace

To teach your AI coding assistant how to use the CLI, run one of these from your project folder:

neetodesk setup claude      # Claude Code
neetodesk setup cursor      # Cursor
neetodesk setup codex       # Codex
neetodesk setup copilot     # GitHub Copilot
neetodesk setup gemini      # Gemini CLI
neetodesk setup windsurf    # Windsurf

Every command supports --json for scripts and --toon, a compact format that uses fewer tokens when an AI tool reads the output. See the NeetoDesk CLI reference for every command.

Permissions and safety

  • Your assistant works as you. When you sign in with NeetoDesk, it sees only the tickets you can see and does only what your role allows. An agent limited to their own tickets or groups gets the same limits through AI.
  • You choose the access. Read is always on. Create and update, and Delete, are separate choices. Leave them off for a read-only connection.
  • Nothing reaches a customer by surprise. Comments your assistant adds through MCP are never emailed to the customer, and drafts wait for an agent to send them.
  • Tickets can't be deleted through AI. The only removal is deactivating a team member, which keeps their history.
  • You can disconnect anytime. Remove the NeetoDesk connector from your AI tool and its access ends.

Changes still trigger your usual automations and notifications. A good habit is to ask your assistant to show you its plan before it updates a batch of tickets, as several prompts above do.

Open source

The NeetoDesk CLI is open source on GitHub. You can read every command, see exactly what it sends to NeetoDesk, and adapt it to your own workflows. It's written in Go and runs on macOS, Linux, and Windows.

The CLI is built on neeto-cli-commons, the shared foundation behind every Neeto CLI, so what you learn in one works the same way in the others.

Found a bug or want a new command? Open an issue or a pull request.

Frequently asked questions

Do I need to know what MCP is?

No. Connect NeetoDesk to your AI tool once, sign in, and ask in plain language.

Can ChatGPT manage my NeetoDesk tickets?

Yes. Connect ChatGPT to the NeetoDesk MCP server and it can look up tickets, summarize conversations, update status and priority, assign tickets, draft replies, and run reports, within your permissions. Today you add NeetoDesk to ChatGPT as a custom connector in Developer mode. See Connect NeetoDesk to your AI tool.

Can Claude manage my NeetoDesk helpdesk?

Yes. Connect NeetoDesk from the Claude directory and you can ask Claude to triage tickets, catch you up on a conversation, draft replies, and report on your support team in plain language.

Can AI reply to my customers in NeetoDesk?

It can write the reply, but a person sends it. Your assistant creates drafts on the ticket for an agent to review and send, and comments it adds through MCP are never emailed to the customer.

Can I use NeetoDesk with Claude Code?

Yes, in two ways. Add the NeetoDesk MCP server with claude mcp add, or run neetodesk setup claude so Claude Code can drive the NeetoDesk CLI. You can use both.

Can I use NeetoDesk MCP with Cursor or Codex?

Yes. Cursor, Codex, VS Code with GitHub Copilot, Windsurf, and Gemini CLI all connect to the same NeetoDesk MCP server. The setup guide has the configuration for each.

Does NeetoDesk MCP require an API key?

No. You sign in with your NeetoDesk account and approve access, so there's no key to copy or rotate. Developer tools such as Claude Code, Cursor, and Codex can use a NeetoDesk API key instead if you prefer, but a key reaches the whole workspace rather than acting as you.

Can I give AI read-only access to NeetoDesk?

Yes. Read access is always on, while Create and update, and Delete, are separate permissions. Leave them unchecked if you want your AI assistant to look at tickets and reports without changing anything.

Can I automate NeetoDesk without using AI?

Yes. The NeetoDesk CLI works directly from your terminal, shell scripts, cron jobs, and CI workflows. You don't need Claude, ChatGPT, or another AI service to use it.

Is the NeetoDesk CLI open source?

Yes. It's on GitHub, and you can use it, read it, and change it.

Where is the NeetoDesk MCP server hosted?

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

Does NeetoDesk MCP work on the free plan?

Yes. The MCP server and the CLI are included in every NeetoDesk plan, including the free plan.

Bereit, deinen Kundenservice zu verbessern?

Lass uns jetzt anfangen.