100+ integrations are ready to connect to your AI.Connect your first MCP

Freshdesk MCP server for your AI

Filter tickets by status or priority, post public replies and internal notes, update contacts and companies, log time against a ticket, and search your Solutions knowledge base.

PopMCPFreshdesk

Show open tickets past their due date and the agent who owns each

Supported Freshdesk tools

Every read and write call in the catalog, from ticket filters to solution articles, plus the ticket, contact and satisfaction events you can watch.

freshdesk_create_solution_article

Create an article in a folder.

freshdesk_get_solution_article

Retrieve a single solution article.

freshdesk_list_category_folders

List the folders inside a solution category.

freshdesk_list_folder_articles

List the articles inside a solution folder.

freshdesk_list_solution_categories

List knowledge-base solution categories.

freshdesk_search_solution_articles

Search published knowledge-base articles by keyword.

freshdesk_bulk_update_tickets

Update up to 100 tickets at once, and/or add a shared reply/note.

freshdesk_create_contact

Create a contact.

freshdesk_create_ticket

Create a ticket.

freshdesk_delete_ticket

Move a ticket to trash (soft delete).

freshdesk_filter_contacts

Search/filter contacts with a Lucene-like query.

freshdesk_filter_tickets

Search/filter tickets with a Lucene-like query (e.g.

freshdesk_forward_ticket

Forward a ticket to one or more email addresses with an optional message.

freshdesk_get_contact

Retrieve a single contact by id.

freshdesk_get_ticket

Retrieve a single ticket by id.

freshdesk_list_contact_fields

List all contact fields (built-in + custom) configured for the account.

freshdesk_list_contacts

List contacts (requesters), with optional filters.

freshdesk_list_tickets

List tickets in the account (newest first).

freshdesk_merge_tickets

Merge one or more secondary tickets into a primary ticket.

freshdesk_search_contacts

Autocomplete contacts by name or email (fast typeahead; returns up to a handful of matches).

freshdesk_update_contact

Update a contact.

freshdesk_update_ticket

Update a ticket.

freshdesk_list_ticket_fields

List all ticket fields (built-in + custom), in display order.

freshdesk_get_agent

Retrieve a single agent by id.

freshdesk_get_current_agent

Retrieve the agent who owns the connected API key (the authenticated agent).

freshdesk_list_agents

List agents, with optional filters.

freshdesk_create_company

Create a company.

freshdesk_filter_companies

Search/filter companies with a Lucene-like query.

freshdesk_get_company

Retrieve a single company by id.

freshdesk_list_companies

List companies.

freshdesk_update_company

Update a company.

freshdesk_list_products

List products (multi-product feature).

freshdesk_create_ticket_note

Add a note (conversation) to a ticket.

freshdesk_create_time_entry

Log a time entry on a ticket.

freshdesk_list_ticket_conversations

List all conversations (replies + notes) on a ticket, oldest first.

freshdesk_reply_to_ticket

Add a public reply (sent to the requester) to a ticket.

freshdesk_get_group

Retrieve a single group by id.

freshdesk_list_groups

List agent groups.

freshdesk_get_account

View the account's details, plan, and current usage limits.

freshdesk_get_job

Check the status of an asynchronous bulk job.

freshdesk_list_ticket_satisfaction_ratings

List the satisfaction (CSAT) ratings submitted for a ticket.

freshdesk_create_comment

Add a comment to a forum topic.

freshdesk_create_forum

Create a forum inside a category.

freshdesk_create_forum_category

Create a forum category.

freshdesk_create_topic

Create a topic in a forum.

freshdesk_delete_comment

Delete a forum comment.

freshdesk_delete_forum

Delete a forum.

freshdesk_delete_forum_category

Delete a forum category.

freshdesk_delete_topic

Delete a forum topic.

freshdesk_get_forum

Retrieve a forum.

freshdesk_get_forum_category

Retrieve a forum category.

freshdesk_get_topic

Retrieve a forum topic.

freshdesk_list_category_forums

List the forums in a forum category.

freshdesk_list_forum_categories

List forum (discussion) categories.

freshdesk_list_forum_topics

List the topics in a forum.

freshdesk_list_topic_comments

List the comments on a forum topic.

freshdesk_update_comment

Update a forum comment.

freshdesk_update_forum

Update a forum.

freshdesk_update_forum_category

Update a forum category.

freshdesk_update_topic

Update a forum topic.

freshdesk_create_solution_category

Create a solution category.

freshdesk_create_solution_folder

Create a folder inside a category.

freshdesk_create_translated_article

Create a translation of an article in another supported language (e.g.

freshdesk_delete_solution_article

Delete a solution article.

freshdesk_delete_solution_category

Delete a solution category (and its folders/articles).

freshdesk_delete_solution_folder

Delete a solution folder (and its articles).

freshdesk_get_solution_category

Retrieve a single solution category.

freshdesk_get_solution_folder

Retrieve a single solution folder.

freshdesk_update_solution_article

Update a solution article.

freshdesk_update_solution_category

Update a solution category.

freshdesk_update_solution_folder

Update a solution folder.

freshdesk_update_translated_article

Update an article's translation in a given language.

freshdesk_bulk_delete_tickets

Delete (trash) up to 100 tickets at once.

freshdesk_create_outbound_email

Create an agent-initiated outbound-email ticket (proactively email a customer).

freshdesk_delete_contact

Soft-delete a contact.

freshdesk_execute_scenario

Run a scenario automation against a ticket.

freshdesk_get_contact_field

Retrieve a single contact field by id.

freshdesk_hard_delete_contact

Permanently delete a contact (irreversible).

freshdesk_list_associated_tickets

List the tickets associated with a tracker/parent ticket.

freshdesk_make_agent

Convert a contact into an agent (occupies an agent seat).

freshdesk_merge_contacts

Merge secondary contacts into a primary contact.

freshdesk_restore_contact

Restore a soft-deleted contact.

freshdesk_restore_ticket

Restore a previously deleted (trashed) ticket.

freshdesk_send_contact_invite

Send an activation/invite email to a contact so they can access the support portal.

freshdesk_clone_ticket_form

Clone an existing ticket form.

freshdesk_create_ticket_field

Create a custom ticket field (admin API).

freshdesk_create_ticket_form

Create a ticket form.

freshdesk_delete_ticket_field

Delete a custom ticket field (admin API).

freshdesk_delete_ticket_form

Delete a ticket form.

freshdesk_get_ticket_field

Retrieve a single ticket field (admin API).

freshdesk_get_ticket_form

Retrieve a single ticket form by id.

freshdesk_list_admin_ticket_fields

List ticket fields via the admin API.

freshdesk_list_ticket_forms

List ticket forms (multiple-form-types feature).

freshdesk_update_ticket_field

Update a ticket field (admin API).

freshdesk_update_ticket_form

Update a ticket form.

freshdesk_bulk_create_agents

Create multiple agents in one request.

freshdesk_create_agent

Create an agent.

freshdesk_delete_agent

Downgrade an agent to a contact (frees the agent seat).

freshdesk_get_agent_availability

Get an agent's Omniroute availability and load settings.

freshdesk_search_agents

Autocomplete agents by name or email (typeahead).

freshdesk_update_agent

Update an agent.

freshdesk_update_agent_availability

Update an agent's Omniroute availability / load settings.

freshdesk_delete_company

Delete a company.

freshdesk_get_company_field

Retrieve a single company field by id.

freshdesk_list_company_fields

List all company fields (built-in + custom) configured for the account.

freshdesk_search_companies

Autocomplete companies by name (typeahead).

freshdesk_count_custom_object_records

Count the records of a custom object (supports the same field filters as list).

freshdesk_create_canned_response

Create a canned response in a folder.

freshdesk_create_canned_response_folder

Create a canned-response folder.

freshdesk_create_custom_object_record

Create a custom-object record.

freshdesk_delete_custom_object_record

Delete a custom-object record.

freshdesk_get_canned_response

Retrieve a single canned response by id.

freshdesk_get_canned_response_folder

View a canned-response folder and its responses.

freshdesk_get_custom_object_record

Retrieve a single custom-object record.

freshdesk_get_custom_object_schema

Retrieve a custom-object schema (its fields/definition).

freshdesk_list_canned_response_folders

List canned-response folders.

freshdesk_list_custom_object_records

List records of a custom object.

freshdesk_list_custom_object_schemas

List the custom-object schemas defined in the account.

freshdesk_list_folder_canned_responses

List the canned responses in a folder (with full bodies).

freshdesk_update_canned_response

Update a canned response.

freshdesk_update_canned_response_folder

Update a canned-response folder (singular path).

freshdesk_update_custom_object_record

Update a custom-object record.

freshdesk_create_email_mailbox

Create an email mailbox (support address with forwarding or custom mail server settings).

freshdesk_create_sla_policy

Create an SLA policy with target response/resolution times per priority.

freshdesk_delete_email_mailbox

Delete an email mailbox.

freshdesk_get_business_hours

Retrieve a single business-hour calendar.

freshdesk_get_email_config

Retrieve a single email config.

freshdesk_get_email_mailbox

Retrieve a single mailbox.

freshdesk_get_product

Retrieve a single product.

freshdesk_list_business_hours

List business-hour calendars.

freshdesk_list_email_configs

List email configs (support email addresses) for the account.

freshdesk_list_email_mailboxes

List configured email mailboxes.

freshdesk_list_sla_policies

List SLA policies.

freshdesk_update_email_mailbox

Update an email mailbox.

freshdesk_update_sla_policy

Update an SLA policy.

freshdesk_delete_conversation

Delete a reply or note from a ticket.

freshdesk_delete_time_entry

Delete a time entry.

freshdesk_list_ticket_time_entries

List time entries logged on a ticket.

freshdesk_list_time_entries

List all time entries across the account, with optional filters.

freshdesk_reply_to_forward

Add a reply to a forwarded email thread on a ticket.

freshdesk_toggle_time_entry_timer

Start or stop the timer on a time entry.

freshdesk_update_conversation

Edit the body of an existing reply or note.

freshdesk_update_time_entry

Update a time entry.

freshdesk_create_automation_rule

Create an automation rule.

freshdesk_create_group

Create an agent group.

freshdesk_create_skill

Create an Omniroute skill with matching conditions.

freshdesk_delete_automation_rule

Delete an automation rule.

freshdesk_delete_group

Delete an agent group.

freshdesk_delete_skill

Delete an Omniroute skill.

freshdesk_get_automation_rule

Retrieve a single automation rule.

freshdesk_get_skill

Retrieve a single skill by id.

freshdesk_list_automation_rules

List automation rules of a given type.

freshdesk_list_skills

List Omniroute skills.

freshdesk_update_automation_rule

Update an automation rule.

freshdesk_update_group

Update an agent group.

freshdesk_update_skill

Update an Omniroute skill.

freshdesk_create_satisfaction_rating

Submit a satisfaction rating on a ticket on behalf of the requester.

freshdesk_get_helpdesk_settings

View helpdesk-wide settings (e.g.

freshdesk_list_satisfaction_ratings

List all satisfaction (CSAT) ratings across the account, with optional filters.

freshdesk_get_outbound_message

Retrieve the status of a previously sent outbound message.

freshdesk_get_role

Retrieve a single role by id.

freshdesk_list_roles

List all agent roles in the account.

freshdesk_send_outbound_message

Send a proactive outbound message to a customer on a supported channel (e.g.

Connect Freshdesk to your AI

Credentials off one Freshdesk screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

Paste the Freshdesk domain and API key from your account. Authentication is server-side over HTTPS — no OAuth popup, no re-authentication — and the key is scoped to that one account with the permissions of its agent.

Freshdesk domainyour-company
API key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • Show open tickets past their due date and the agent who owns each

    • filter_tickets
    • get_agent
  • Move every unassigned billing ticket to the Finance group and add a note

    • filter_tickets
    • list_groups
    • bulk_update_tickets
  • Turn ticket 4821's resolution into a new article in the Billing solution folder

    • get_ticket
    • list_ticket_conversations
    • list_category_folders
    • create_solution_article
  • Which Acme contacts have open tickets, and what was the last reply?

    • filter_companies
    • filter_contacts
    • filter_tickets
    • list_ticket_conversations

Use Freshdesk from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Freshdesk MCP server questions

What teams ask before putting Freshdesk behind an AI client.

What can the agent actually reach with the API key I paste?

Exactly what the agent who owns that key can reach, and nothing outside the single Freshdesk account it belongs to. Call get_current_agent to confirm which agent is behind the connection, and get_account to see the account's details, plan and current usage limits. Because the key carries that agent's permissions, a key taken from a restricted agent gives the connection restricted reach.

How does it find the right ticket or contact?

filter_tickets, filter_contacts and filter_companies take a Lucene-like query, so something like open, high-priority tickets for one company resolves in a single call instead of paging through list_tickets. search_contacts is a different tool: it is autocomplete on name or email and returns only a handful of matches, so use it for typeahead and filter_contacts when you plan to act on the result. list_ticket_fields and list_contact_fields show the built-in and custom fields configured on your account, so you know what there is to filter on.

Can it update a batch of tickets in one go?

Yes. bulk_update_tickets changes up to 100 tickets in a single call and can attach a shared reply or note to all of them. It runs as an asynchronous job, so the agent should follow it with get_job to confirm the work finished rather than assume it did. For anything bigger, split the filter_tickets result into runs of 100.

Can it read and write the Solutions knowledge base?

Both. search_solution_articles looks across published articles by keyword, list_solution_categories, list_category_folders and list_folder_articles walk the tree, and get_solution_article pulls one article in full. Writing goes through create_solution_article, which places a new article in the folder you name — a natural follow-up when the same answer keeps getting retyped into tickets.

Will it delete, merge or email out of my help desk without asking?

Only if you let it. delete_ticket is a soft delete that moves the ticket to trash, merge_tickets folds secondary tickets into a primary one, and forward_ticket and reply_to_ticket put mail in front of real customers. Those are the calls worth holding behind approval-required-for-writes, or removing entirely by setting the connection to read-only, which still leaves every filter, list and get call working.

How many operations does this cover, and do they all load into my client at once?

The server covers 163 operations across 20 API modules, split 75 read and 88 write. Only 41 load by default, which keeps your client's tool list manageable; the rest stay searchable and come in when a request needs them. The biggest modules are Discussions, Solutions, Tickets and Contacts, and you can switch the connection to the full catalog when a workflow needs more than the default set.

Do I have to run or host the Freshdesk MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 41 of the 163 tools load by default?

Loading 163 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 41-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.

What is the difference between a tool and a trigger?

A tool is something your AI calls — there are 163 here. A trigger is something PopMCP watches for you: 19 Freshdesk events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Freshdesk.

Connect Freshdesk to your AI in minutes

Launch a hosted MCP endpoint for Freshdesk, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP