Back to Browse

Freshdesk MCP Server

Business ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP server for Freshdesk — tickets, contacts, companies, agents, groups, and knowledge base.

About

MCP server for Freshdesk — tickets, contacts, companies, agents, groups, and knowledge base.

Security Report

5.2
Moderate5.2Moderate Risk

This is a well-structured Freshdesk MCP server with proper authentication, appropriate permission scoping, and good security practices. Credentials are managed via environment variables or gateway headers (not hardcoded), destructive operations include user confirmation flows, and all API calls are properly logged. Minor code quality improvements around error handling and input validation are recommended but do not present security risks. Supply chain analysis found 6 known vulnerabilities in dependencies (2 critical, 3 high severity).

5 files analyzed · 10 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

file_system

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Freshdesk account subdomain — the part before .freshdesk.com (e.g. 'acme')Optional

Environment variable: FRESHDESK_DOMAIN

Freshdesk API key (found under Profile Settings in the Freshdesk portal)Required

Environment variable: FRESHDESK_API_KEY

Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.Optional

Environment variable: MCP_TRANSPORT

Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.Optional

Environment variable: AUTH_MODE

Log verbosity: debug, info, warn, errorOptional

Environment variable: LOG_LEVEL

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-wyre-technology-freshdesk-mcp": {
      "env": {
        "AUTH_MODE": "your-auth-mode-here",
        "LOG_LEVEL": "your-log-level-here",
        "MCP_TRANSPORT": "your-mcp-transport-here",
        "FRESHDESK_DOMAIN": "your-freshdesk-domain-here",
        "FRESHDESK_API_KEY": "your-freshdesk-api-key-here"
      },
      "args": [
        "-y",
        "freshdesk-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Freshdesk MCP Server

Build Status License Node.js

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-freshdesk SDK.

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-mcp

FRESHDESK_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.

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, and freshdesk_back to 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:

HeaderMaps toDescription
x-freshdesk-domainFRESHDESK_DOMAINFreshdesk account subdomain
x-freshdesk-api-keyFRESHDESK_API_KEYFreshdesk 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

VariableDescriptionDefault
FRESHDESK_DOMAINAccount subdomain (before .freshdesk.com)
FRESHDESK_API_KEYFreshdesk API key
MCP_TRANSPORTTransport mode (stdio or http)stdio
MCP_HTTP_PORTHTTP server port8080
AUTH_MODEAuth mode (env or gateway)env
LOG_LEVELLog level (debug, info, warn, error)info

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.

DomainTools
ticketssearch, list, get, create, update, reply, add_note, list_conversations, update_conversation, delete*, delete_conversation*
contactssearch, list, get, create, update, autocomplete, make_agent†, restore, send_invite, merge†, soft_delete†, hard_delete*
companiessearch, list, get, create, update, autocomplete, delete*
agentslist, get, me, create, update, delete*
groupslist, get, create, update, delete*
solutionscategories / folders / articles: list, get, create, update, delete*
sla-businessSLA 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 -d

The 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 mode

Contributing

See CONTRIBUTING.md for guidelines.

License

Apache 2.0 — Copyright WYRE Technology

Reviews

No reviews yet

Be the first to review this server!

Freshdesk MCP Server - MCP server for Freshdesk — tickets, contacts, companies, | MCP Marketplace