An MCP server for Freshdesk
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file freshdesk_mcp_support-1.1.0.tar.gz.
File metadata
- Download URL: freshdesk_mcp_support-1.1.0.tar.gz
- Upload date:
- Size: 38.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e12fd6ae6206cf880a5008601782349cead534688dd977366454a705ee07cd
|
|
| MD5 |
0e9e753b69f3ce6b6b3682e26f862011
|
|
| BLAKE2b-256 |
07b474bf24866638683b710fc7042cef6c0721769d8e840e2297d3450f68420e
|
File details
Details for the file freshdesk_mcp_support-1.1.0-py3-none-any.whl.
File metadata
- Download URL: freshdesk_mcp_support-1.1.0-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
821bed595ae2e5e7408c8114a7f9259a87f6031d475a5097e79e3b14f5c12beb
|
|
| MD5 |
511f8dba0c8e0674e0e07996a382b3be
|
|
| BLAKE2b-256 |
deff3f6791e881a88d951e021001ee9f7f4d26a235f1b10a9217f1ce5d98d99e
|