Skip to main content
Glama
Freshdesk MCP Server

Freshdesk MCP Server

Freshdesk MCP Server

A Model Context Protocol (MCP) server that fetches Freshdesk ticket details and provides them as context for LLM interactions.

Features

  • get_ticket - Fetch complete ticket details from a Freshdesk URL or ticket ID

    • Ticket metadata (subject, status, priority, type, tags)

    • Requester and assignee information

    • All conversations (replies and private notes)

    • Attachments list

    • Time entries

    • Satisfaction ratings

    • Custom fields

  • search_tickets - Search tickets by text query

    • Filter by status (open, pending, resolved, closed)

    • Filter by priority (low, medium, high, urgent)

    • Configurable result limit

  • get_agent_tickets - Get tickets assigned to a specific agent

    • Search by agent name (supports partial matching)

    • Filter by status

    • Configurable result limit

Related MCP server: Freshdesk MCP Server

Installation

No installation required. Add directly to your config:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "freshdesk": {
      "command": "npx",
      "args": ["-y", "github:nikhilchintawar/freshdesk-mcp"],
      "env": {
        "FRESHDESK_API_KEY": "your-api-key",
        "FRESHDESK_DOMAIN": "yourcompany"
      }
    }
  }
}

Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "freshdesk": {
      "command": "npx",
      "args": ["-y", "github:nikhilchintawar/freshdesk-mcp"],
      "env": {
        "FRESHDESK_API_KEY": "your-api-key",
        "FRESHDESK_DOMAIN": "yourcompany"
      }
    }
  }
}

Manual Installation

# Clone the repository
git clone https://github.com/nikhilchintawar/freshdesk-mcp.git
cd freshdesk-mcp

# Install dependencies
npm install

Then add to your config:

{
  "mcpServers": {
    "freshdesk": {
      "command": "node",
      "args": ["/absolute/path/to/freshdesk-mcp/build/index.js"],
      "env": {
        "FRESHDESK_API_KEY": "your-api-key",
        "FRESHDESK_DOMAIN": "yourcompany"
      }
    }
  }
}

Configuration

Config File Locations

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json

  • Claude Code: ~/.claude/settings.json

Environment Variables

Variable

Description

Required

FRESHDESK_API_KEY

Your Freshdesk API key

Yes

FRESHDESK_DOMAIN

Your Freshdesk subdomain (e.g., mycompany for mycompany.freshdesk.com)

Yes

Usage Examples

Once configured, you can use natural language to interact with Freshdesk:

Getting Your Freshdesk API Key

  1. Log in to your Freshdesk account

  2. Click on your profile icon → Profile Settings

  3. Your API key is displayed on the right side of the page

Development

# Watch mode for development
npm run dev

# Build for production
npm run build

# Test with MCP Inspector
FRESHDESK_API_KEY=your-key FRESHDESK_DOMAIN=your-domain \
  npx @modelcontextprotocol/inspector node build/index.js

License

MIT

Available Tools

3 tools
get_agent_ticketsB

Get tickets assigned to a specific Freshdesk agent by name. Supports partial name matching.

Inputs: agent_name (required), limit, status.

get_ticketA

Fetch complete ticket details from Freshdesk including conversations, attachments, time entries, and satisfaction ratings. Accepts a ticket URL or ID.

Inputs: ticket (required).

search_ticketsB

Search Freshdesk tickets by text query. Can filter by status and priority.

Inputs: query (required), limit, status, priority.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool targets a distinct operation: fetching by agent, fetching by ID/URL, and searching by text query. There is no overlap in purpose.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (get_agent_tickets, get_ticket, search_tickets).

    Tool Count4/5

    Three tools is on the low side but still within the typical 3-15 range and each tool serves a clear read-focused purpose for the domain.

    Completeness2/5

    Only read operations are covered; missing create, update, and delete functionalities that are essential for managing tickets in a CRM system.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to interact with Zendesk ticket data for customer support analysis and insights. It supports searching tickets by tags or keywords, retrieving ticket details, and analyzing agent performance and service trends.
      -
    • A
      license
      B
      quality
      C
      maintenance
      Enables AI agents to interact with Freshdesk, supporting ticket management, customer and company operations, agent lookup, and knowledge base search through natural language.
      19
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables ticket and contact management via Freshdesk API v2, including listing, searching, and retrieving support tickets and customer contacts.
      146 npm
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to securely list, retrieve, and search Freshdesk support tickets through typed read-only MCP tools. It supports API-key authentication, rate-limit handling, safe logging, and an offline fictional demo mode.
      -