Freshdesk MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Freshdesk MCP Serversearch tickets for 'login problem'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Freshdesk MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with structured access to the Freshdesk customer support platform β tickets, contacts, companies, agents, groups, the knowledge base, and SLA/business-hours configuration.
Note: This project is maintained by Wyre Technology. It wraps the published
@wyre-technology/node-freshdeskSDK.
Quick Start
The primary deployment is through the WYRE MCP Gateway, which hosts the containerized server and injects per-request credentials. To run it yourself:
Claude Code (CLI):
claude mcp add freshdesk-mcp \
-e FRESHDESK_DOMAIN=your-subdomain \
-e FRESHDESK_API_KEY=your-api-key \
-- npx -y github:wyre-technology/freshdesk-mcpFRESHDESK_DOMAIN is the part before .freshdesk.com (for https://acme.freshdesk.com it is acme). Find your FRESHDESK_API_KEY in the Freshdesk portal under Profile Settings.
Related MCP server: Freshservice MCP Server
Features
π MCP Protocol Compliance: Tools, prompts, and elicitation support
π« Full Helpdesk Coverage: Tickets, contacts, companies, agents, groups, solutions, SLA policies, business hours, and canned responses
π³ Decision-Tree Navigation: Start at
freshdesk_navigate, enter a domain to reveal its tools, andfreshdesk_backto return β keeping the tool list small and focusedβ οΈ Destructive-Action Guardrails: Irreversible and high-impact tools are clearly flagged and confirmed via elicitation before they run
π Secure Authentication: HTTP Basic Auth with your Freshdesk API key (domain + key)
π Dual Transport: stdio (local) and Streamable HTTP (remote/Docker/gateway)
π³ Docker Ready: Containerized deployment with HTTP transport and health checks
Connecting via the Gateway
When AUTH_MODE=gateway, the server reads credentials from request headers injected by the WYRE MCP Gateway:
Header | Maps to | Description |
|
| Freshdesk account subdomain |
|
| Freshdesk API key |
Each request is stateless: the gateway provides the credentials, the server rebuilds its Freshdesk client, and tool discovery (tools/list) works even before credentials are present.
Configuration
Variable | Description | Default |
| Account subdomain (before | β |
| Freshdesk API key | β |
| Transport mode ( |
|
| HTTP server port |
|
| Auth mode ( |
|
| Log level ( |
|
Tool Overview
The server uses decision-tree navigation. At the top level you see only freshdesk_navigate, freshdesk_back, and freshdesk_status. Call freshdesk_navigate with a domain to reveal that domain's tools; call freshdesk_back to return to the top.
Domain | Tools |
tickets | search, list, get, create, update, reply, add_note, list_conversations, update_conversation, delete*, delete_conversation* |
contacts | search, list, get, create, update, autocomplete, make_agentβ , restore, send_invite, mergeβ , soft_deleteβ , hard_delete* |
companies | search, list, get, create, update, autocomplete, delete* |
agents | list, get, me, create, update, delete* |
groups | list, get, create, update, delete* |
solutions | categories / folders / articles: list, get, create, update, delete* |
sla-business | SLA policies (list, create, update), business hours (list, get), canned responses (list_folders, get_folder, list_responses) |
* = Tier A (irreversible delete) β flagged β DESTRUCTIVE β IRREVERSIBLE, requires confirmation.
β = Tier B (high-impact reversible) β flagged β HIGH-IMPACT, requires confirmation.
Read tools (search/list/get/autocomplete/status) carry no warning and are marked read-only.
freshdesk_status performs a live connectivity check by calling agents/me.
Docker Deployment
See docker-compose.yml. Copy .env.example to .env and fill in your credentials:
cp .env.example .env
# Edit .env: FRESHDESK_DOMAIN and FRESHDESK_API_KEY
docker compose up -dThe container requires NODE_AUTH_TOKEN at build time to install the private @wyre-technology/node-freshdesk package from GitHub Packages:
docker build --build-arg NODE_AUTH_TOKEN=$(gh auth token) -t freshdesk-mcp .Development
export NODE_AUTH_TOKEN=$(gh auth token) # to install @wyre-technology/node-freshdesk
npm install
npm run build # Build the project
npm run dev # Watch mode
npm run test # Run tests
npm run lint # Type-check
npm run clean # Remove dist/Testing
npm test # Run test suite
npm run test:watch # Watch modeContributing
See CONTRIBUTING.md for guidelines.
License
Apache 2.0 β Copyright WYRE Technology
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wyre-technology/freshdesk-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server