freshdesk_mcp
A Model Context Protocol (MCP) server for interacting with the Freshdesk API.
Available Tools
📥 my-unresolved-tickets – Instantly shows all unresolved tickets assigned to you (current user)
🧠 ticket-summary-insights – Generates a clean, detailed summary of ticket conversations – Provides key insights + suggested resolutions based on similar past tickets
🤖 find-similar-tickets-using-ai – Uses Freshdesk AI API to surface similar historical tickets – Offers in-depth recommended resolutions to speed up troubleshooting ⚡
Coming Soon
The following tools will be available in the next version:
add-ticket-reply- Add replies/responses to tickets with customizable messagesget-all-unresolved-tickets-in-a-squad- Get all unresolved tickets filtered by squad name with intelligent squad name validation
Installation
Get Your Freshdesk API Key
- Log into Freshdesk → Profile → Security Settings → Copy API Key
- Note your Freshdesk domain (e.g.,
yourcompany.freshdesk.com)
Install in Cursor IDE
Recommended: Using uvx (Auto-install)
-
Install
uv(one-time setup):macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Or using pip:
pip install uv
-
Configure Cursor IDE:
- Open Cursor IDE
- Open Settings (⌘ + , on Mac, or Ctrl + , on Windows/Linux)
- Search for "MCP Servers"
- Add the following configuration:
{ "mcpServers": { "freshdesk-mcp-support": { "command": "uvx", "args": [ "freshdesk-mcp-support" ], "env": { "FRESHDESK_API_KEY": "your_api_key_here", "FRESHDESK_DOMAIN": "yourdomain.freshdesk.com" } } } }
-
Restart Cursor IDE and verify the MCP server is connected.
Manual Installation (Not Recommended)
Click to expand manual installation options
Option 1: Using Python directly
{
"mcpServers": {
"freshdesk-mcp-support": {
"command": "python",
"args": [
"-m",
"freshdesk_mcp.server"
],
"env": {
"FRESHDESK_API_KEY": "your_api_key_here",
"FRESHDESK_DOMAIN": "yourdomain.freshdesk.com"
}
}
}
}
Requires: pip install freshdesk-mcp-support first
Option 2: Direct script execution
{
"mcpServers": {
"freshdesk-mcp-support": {
"command": "freshdesk-mcp-support",
"env": {
"FRESHDESK_API_KEY": "your_api_key_here",
"FRESHDESK_DOMAIN": "yourdomain.freshdesk.com"
}
}
}
}
Requires: pip install freshdesk-mcp-support first
Install in Claude Desktop
Recommended: Using uvx (Auto-install)
-
Install
uv(one-time setup):macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Or using pip:
pip install uv
-
Configure Claude Desktop:
For Mac:
- Open Finder
- Press
⌘ + Shift + Gand navigate to:~/Library/Application Support/Claude/ - Open or create
claude_desktop_config.json - Add the following configuration:
For Windows:
- Press
Win + R - Type
%APPDATA%\Claudeand press Enter - Open or create
claude_desktop_config.json - Add the following configuration:
For Linux:
- Navigate to
~/.config/Claude/ - Open or create
claude_desktop_config.json - Add the following configuration:
{ "mcpServers": { "freshdesk-mcp-support": { "command": "uvx", "args": [ "freshdesk-mcp-support" ], "env": { "FRESHDESK_API_KEY": "your_api_key_here", "FRESHDESK_DOMAIN": "yourdomain.freshdesk.com" } } } }
-
Restart Claude Desktop and verify the MCP server is connected.
Manual Installation (Not Recommended)
Click to expand manual installation options
Option 1: Using Python directly
{
"mcpServers": {
"freshdesk-mcp-support": {
"command": "python",
"args": [
"-m",
"freshdesk_mcp.server"
],
"env": {
"FRESHDESK_API_KEY": "your_api_key_here",
"FRESHDESK_DOMAIN": "yourdomain.freshdesk.com"
}
}
}
}
Requires: pip install freshdesk-mcp-support first
Option 2: Direct script execution
{
"mcpServers": {
"freshdesk-mcp-support": {
"command": "freshdesk-mcp-support",
"env": {
"FRESHDESK_API_KEY": "your_api_key_here",
"FRESHDESK_DOMAIN": "yourdomain.freshdesk.com"
}
}
}
}
Requires: pip install freshdesk-mcp-support first
Local Development Installation
For development purposes:
pip install -e .
Usage
The server exposes various tools through the MCP protocol. Here are the available tools:
Get Ticket Summary with Insights
The ticket-summary-insights tool provides comprehensive ticket summaries including conversations, escalation indicators, action items, and similar tickets:
# Get comprehensive summary for a ticket
result = await ticket_summary_insights(ticket_id=18963595)
Features:
- Ticket overview (ID, subject, status, priority, dates, tags)
- Full description
- Conversation summary and analysis
- Escalation indicators (keywords like "urgent", "critical", "blocked")
- Recent action items extracted from conversations
- Latest public conversations
- Similar tickets from AI Copilot (top 5, optimized for response size)
- Resolution recommendations
Query examples:
- "summary of ticket 12345"
- "ticket 12345 details"
- "what's the status of ticket 12345"
- "get ticket 12345 summary"
- "show me ticket 12345"
- "ticket 12345 information"
- "details for ticket 12345"
- "what is ticket 12345 about"
- "ticket 12345 overview"
- "tell me about ticket 12345"
- "ticket 12345 full details"
- "get details of ticket 12345"
- "ticket 12345 complete information"
- "ticket 12345 summary and conversations"
Find Similar Tickets Using AI Copilot
The find-similar-tickets-using-ai tool uses Freshdesk's AI Copilot to find similar tickets:
# Find similar tickets using AI
result = await find_similar_tickets_using_copilot(ticket_id=12345)
Features:
- AI-powered ticket similarity analysis
- Confidence scores for each similar ticket
- AI-generated summaries and resolutions
- Helps identify duplicate tickets and related issues
Query examples:
- "find similar tickets to 12345"
- "show me similar tickets for ticket 12345"
- "ticket 12345 similar issues"
- "find related tickets for 12345"
- "what tickets are similar to 12345"
- "ticket 12345 find duplicates"
- "search for similar tickets to 12345"
- "ticket 12345 related cases"
- "show similar tickets like 12345"
- "ticket 12345 find matches"
- "get similar tickets for ticket 12345"
- "ticket 12345 find comparable tickets"
- "ticket 12345 similar problems"
- "find tickets similar to ticket 12345"
Get My Unresolved Tickets
The my-unresolved-tickets tool automatically retrieves all unresolved tickets assigned to the current authenticated user:
# Get my unresolved tickets (no parameters needed)
result = await my_unresolved_tickets()
Features:
- Automatically detects current user from API
- Fetches Open (2), Pending (3), and status > 6 tickets
- Returns formatted table with ticket details
- Includes ticket URLs, status, priority, and due dates
Query examples:
- "my tickets"
- "my resolved tickets"
- "Get my tickets"
- "get all my tickets"
- "Get my unresolved tickets"
- "tickets assigned to me"
API Reference
For the complete API reference, see the server.py file. Each function includes detailed docstrings.
Testing
Run the test suite:
python tests/test-fd-mcp.py
Troubleshooting
MCP Server Not Connecting
If the MCP server is not connecting in Cursor or Claude Desktop:
- Verify Python is installed: Run
python --versionin your terminal - Verify package is installed: Run
pip list | grep freshdesk-mcp-support - Check environment variables: Ensure
FRESHDESK_API_KEYandFRESHDESK_DOMAINare correctly set - Check logs: Look for error messages in Cursor's MCP panel or Claude Desktop's console
Authentication Errors
If you're getting authentication errors:
- Verify API key: Make sure your API key is correct and hasn't expired
- Check domain: Ensure the domain format is correct (just the subdomain, e.g., "yourcompany")
- Verify API access: Log into Freshdesk and confirm API access is enabled for your account
Module Not Found Errors
If you see "Module not found" errors:
- Reinstall the package:
pip install --upgrade freshdesk-mcp-support - Check Python path: Ensure the correct Python version is being used
- Use Option B: Try the "Python directly" configuration instead of
uv
Platform-Specific Issues
Mac:
- Ensure you have the correct path:
~/Library/Application Support/Claude/ - Check file permissions on the config file
Windows:
- Navigate to
%APPDATA%\Claudeusing File Explorer - Ensure the JSON file is valid (no extra commas, proper quotes)
Linux:
- Check file permissions:
chmod 600 ~/.config/Claude/claude_desktop_config.json - Verify Python is in your PATH:
which python
License
MIT
Metadata
Release files for freshdesk-mcp-support 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| freshdesk_mcp_support-1.1.0.tar.gz | 38.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| freshdesk_mcp_support-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.7 kB
Release files / freshdesk_mcp_support-1.1.0.tar.gz
| Download URL | freshdesk_mcp_support-1.1.0.tar.gz |
|---|---|
| Size | 38.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23e12fd6ae6206cf880a5008601782349cead534688dd977366454a705ee07cd
|
|
BLAKE2b-256 checksum How to use checksums |
07b474bf24866638683b710fc7042cef6c0721769d8e840e2297d3450f68420e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.18
|
Release files / freshdesk_mcp_support-1.1.0-py3-none-any.whl
| Download URL | freshdesk_mcp_support-1.1.0-py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
821bed595ae2e5e7408c8114a7f9259a87f6031d475a5097e79e3b14f5c12beb
|
|
BLAKE2b-256 checksum How to use checksums |
deff3f6791e881a88d951e021001ee9f7f4d26a235f1b10a9217f1ce5d98d99e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.18
|