About Freshdesk
An MCP server for Freshdesk support teams to manage tickets, contacts, companies, and solution articles, as well as configure accounts. Its tools cover ticket search, replies, and internal notes.
Key features
- 01Configure and manage Freshdesk accounts
- 02Filter, search, and view tickets
- 03Create, update, and reply to tickets
- 04Add public or private notes
- 05Find contacts, companies, and agents
- 06Search and read solution articles
Use cases
- 01Find support tickets using filters
- 02Update ticket status or assign an agent
- 03Reply to customers or add internal notes
- 04Find solution articles for support requests
MCP support
Provides MCP clients with tools for Freshdesk accounts, tickets, contacts, companies, and knowledge base articles. Account credentials are stored in a configuration directory.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mindstone/mcp-server-freshdeskFRESHDESK_CONFIG_PATHPath to the config directory storing per-account credentialsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
20Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | Freshdesk subdomain (e.g. "acme" for acme.freshdesk.com) |
| api_key | string | Yes | Freshdesk API key from Profile Settings |
Details
From the project README@mindstone/mcp-server-freshdesk
Freshdesk Support MCP server for Model Context Protocol hosts. Manage helpdesk tickets, search and filter support requests, reply to customers, add internal notes, and configure Freshdesk accounts — all through a standardised MCP interface.
Status
- Version: 0.3.1 · npm
- Auth: API key (per-account, on disk via
FRESHDESK_CONFIG_PATH) - Tools: 20 (accounts, tickets, contacts, companies, knowledge base, discovery)
- Surface: cloud-api
- Machine-readable:
STATUS.json
Requirements
- Node.js 20+
- npm
One-click install
After clicking the button, your host will prompt you to fill: FRESHDESK_CONFIG_PATH.
Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Freshdesk)
{
"mcpServers": {
"Freshdesk": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-freshdesk"
],
"env": {
"FRESHDESK_CONFIG_PATH": "~/.mcp/freshdesk"
}
}
}
}
Quick Start
Install & build
cd <path-to-repo>/connectors/freshdesk
npm install
npm run build
npx (once published)
npx -y @mindstone/mcp-server-freshdesk
Local
node dist/index.js
Configuration
Environment variables
FRESHDESK_CONFIG_PATH— path to the config directory that stores account credentials (defaults to~/.mcp/freshdesk)MCP_HOST_BRIDGE_STATE— optional path to a host bridge state file used for credential managementMINDSTONE_REBEL_BRIDGE_STATE— backwards-compatible alias forMCP_HOST_BRIDGE_STATE
Host configuration examples
Claude Desktop / Cursor
{
"mcpServers": {
"Freshdesk": {
"command": "npx",
"args": ["-y", "@mindstone/mcp-server-freshdesk"],
"env": {
"FRESHDESK_CONFIG_PATH": "~/.mcp/freshdesk"
}
}
}
}
Local development (no npm publish needed)
{
"mcpServers": {
"Freshdesk": {
"command": "node",
"args": ["<path-to-repo>/connectors/freshdesk/dist/index.js"],
"env": {
"FRESHDESK_CONFIG_PATH": "~/.mcp/freshdesk"
}
}
}
}
Tools (20)
Account management
configure_freshdesk— Connect a Freshdesk account using subdomain and API keylist_freshdesk_accounts— List connected Freshdesk accounts with agent emailsremove_freshdesk_account— Disconnect a Freshdesk account
Tickets
list_freshdesk_tickets— List tickets using predefined filtersget_freshdesk_ticket— Get a single ticket by ID with optional conversationssearch_freshdesk_tickets— Search tickets using Freshdesk query syntaxcreate_freshdesk_ticket— Create a new ticketupdate_freshdesk_ticket— Update ticket fields, status, or assigneereply_to_freshdesk_ticket— Add a public reply to a ticketadd_freshdesk_note— Add a private or public note to a ticket
Discovery
list_freshdesk_ticket_fields— List all ticket fields including custom fieldslist_freshdesk_agents— List agents (support staff); use the IDs asresponder_idwhen assigning ticketslist_freshdesk_groups— List groups (agent teams); use the IDs asgroup_idwhen assigning tickets
Contacts & companies
list_freshdesk_contacts— List contacts, optionally filtered by exact email or company IDsearch_freshdesk_contacts— Search contacts using Freshdesk query syntaxget_freshdesk_contact— Get a single contact by IDlist_freshdesk_companies— List customer organisationsget_freshdesk_company— Get a single company by ID
Knowledge base
search_freshdesk_solutions— Search solution articles by keyword (paginated: 30 per page,pageparameter,hasMoreindicator)get_freshdesk_solution_article— Get a full solution article by ID
Security
- Every string returned by the Freshdesk API (names, bodies, tags, emails, phone numbers, company domains, custom-field keys/values, ticket-field metadata, …) is wrapped in
<untrusted-content source="…">envelopes so the host LLM treats it as data, not instructions. Only numeric connector metadata (IDs, statuses, priorities) is returned raw. - Credentials are stored in
accounts.jsonunderFRESHDESK_CONFIG_PATHwith0600permissions (config directory0700). - Vendor error bodies, raw
Retry-Afterheader text, and query-bearing URLs are never written to logs or surfaced in tool errors. - Invalid
status/priorityvalues and out-of-range IDs/pagination inputs are rejected before any request is made.
Licence
FSL-1.1-MIT — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.