Freshdesk MCP Server is an MCP server implementation for integrating with Freshdesk, enabling AI models to interact with Freshdesk modules and perform various support operations.
Main capabilities:
- Freshdesk integration: Seamlessly interact with Freshdesk API endpoints.
- AI model support: Enable AI models to perform support operations through Freshdesk.
- Automated ticket management: Handle ticket creation, updates, and replies.
The tools provided by the server include:
- create_ticket: Create a new support ticket. Inputs: subject (string, required), description (string, required), source (number, required), priority (number, required), status (number, required), email (string, optional), requester_id (number, optional), custom_fields (object, optional), additional_fields (object, optional).
- update_ticket: Update an existing ticket. Inputs: ticket_id (number, required), ticket_fields (object, required).
- delete_ticket: Delete a ticket. Inputs: ticket_id (number, required).
- search_tickets: Search for tickets based on criteria. Inputs: query (string, required).
- get_ticket_fields: Get all ticket fields. No inputs.
- get_tickets: Get all tickets. Inputs: page (number, optional), per_page (number, optional).
- get_ticket: Get a single ticket. Inputs: ticket_id (number, required).
- get_ticket_conversation: Get a ticket's conversation. Inputs: ticket_id (number, required).
- create_ticket_reply: Reply to a ticket. Inputs: ticket_id (number, required), body (string, required), cc_emails (string array, optional), bcc_emails (string array, optional), from_email (string, optional), user_id (number, optional).
- create_ticket_note: Add a ticket note. Inputs:ticket_id (number, required), body (string, required).
- update_ticket_conversation: Update a conversation. Inputs: conversation_id (number, required), body (string, required).
- view_ticket_summary: Get a ticket summary. Inputs: ticket_id (number, required).
- update_ticket_summary: Update a ticket summary. Inputs: ticket_id (number, required), body (string, required).
- delete_ticket_summary: Delete a ticket summary. Inputs: ticket_id (number, required).
- get_agents: Get all agents. Inputs: page (number, optional), per_page (number, optional).
- view_agent: Get a single agent. Inputs: agent_id (number, required).
- create_agent: Create a new agent. Inputs: agent_fields (object, required).
- update_agent: Update an agent. Inputs: agent_id (number, required), agent_fields (object, required).
- search_agents: Search for agents. Inputs: query (string, required).
- list_contacts: Get all contacts. Inputs: page (number, optional), per_page (number, optional).
- get_contact: Get a single contact. Inputs: contact_id (number, required).
- search_contacts: Search for contacts. Inputs: query (string, required).
- update_contact: Update a contact. Inputs: contact_id (number, required), contact_fields (object, required).
- list_companies: Get all companies. Inputs: page (number, optional), per_page (number, optional).
- view_company: Get a single company. Inputs: company_id (number, required).
- search_companies: Search for companies. Inputs: query (string, required).
- find_company_by_name: Find a company by name.Input: name (string, required).
- list_company_fields: Get all company fields. No input.
Getting started: Installation:
- Install via Smithery, which can automatically install freshdesk_mcp for Claude Desktop. Prerequisites:
- A Freshdesk account (you can sign up at freshdesk.com)
- Freshdesk API key
- uvx installed (pip install uv or brew install uv) Generate a Freshdesk API key from the Freshdesk admin panel, and set the domain and authentication details.
Using with Claude Desktop: If it is not already installed, install Claude Desktop first, then add the following configuration to claude_desktop_config.json. Important notes:
- Replace YOUR_FRESHDESK_API_KEY with your actual Freshdesk API key
- Replace YOUR_FRESHDESK_DOMAIN with your Freshdesk domain (for example, yourcompany.freshdesk.com)
Example actions: After configuration is complete, you can ask Claude to perform actions such as:
- "Create a new ticket with subject 'Payment Issue for customer A101' and description as 'Reaching out for a payment issue in the last month for customer A101', where customer email is a101@acme.com and set priority to high"
- "Update the status of ticket #12345 to 'Resolved'"
- "List all high-priority tickets assigned to the agent John Doe"
- "List previous tickets of customer A101 in last 30 days" For testing purposes, you can start the server manually.
Troubleshooting:
- Verify that the Freshdesk API key and domain are correct
- Ensure there is proper network connectivity to the Freshdesk servers
- Check API rate limits and quotas
- Verify that the uvx command is available in PATH
This MCP server is licensed under the MIT License. For full details, see the LICENSE file in the project repository.