D

Freshdesk MCP Server

Community Python MCP server for Freshdesk helpdesk with extensive ticket, contact, agent, and knowledge base management

Overall Score51/100

Score Breakdown

Server Info

Package
freshdesk-mcp
Registry
pypi
Maintainer
Community
Category
Customer Support
Tags
ticketssupporthelpdesk
Last Scanned
7 Apr 2026

Findings

9 issues

Authentication & Identity

HIGHNo per-request auth - requires instance-per-user

Stdio-only transport. Uses two env vars for API key authentication. The API key is used as Basic auth with 'X' as password, encoded in base64. No validation that env vars are set at startup -- they are read at module level and used directly, which could cause runtime errors if missing. For multi-tenant deployment, the platform must spawn a separate server instance per user.

Remediation

Add HTTP/SSE transport to accept per-request Authorization headers, or implement the MCP OAuth spec.

Tool Schema Quality

MEDIUMOnly 4 of 59 schemas have parameter constraints

Most schemas lack maxLength, enum, or pattern constraints on string parameters.

Remediation

Add constraints to string parameters, especially on write operations.

Permission Granularity

HIGH9 destructive operations not isolated

Admin/delete tools are mixed with regular operations and cannot be independently disabled.

Remediation

Namespace admin tools separately for independent access control.

LOWTool descriptions lack resource scope

Descriptions don't specify what data types or resources they access.

Remediation

Add resource type statements to descriptions.

LLM Safety

MEDIUM15 tool descriptions are too vague

Short or generic descriptions make tool selection unreliable.

Remediation

Expand descriptions with specific actions, data types, and side effects.

MEDIUMOverlapping tool descriptions may cause wrong selection

Similar descriptions between tools could cause the LLM to pick the wrong one.

Remediation

Differentiate descriptions with unique use cases.

Data Exposure

MEDIUM6 list operations lack pagination

get_tickets, get_agents, list_contacts, list_companies, and list_groups support page/per_page pagination. However, list_solution_articles, list_solution_folders, list_solution_categories, list_canned_responses, list_canned_response_folders, and list_contact_fields have no pagination. All responses return full records with no field selection. The search_tickets tool passes raw query strings to the Freshdesk API.

Remediation

Add limit/offset or cursor-based pagination.

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Maintenance & Trust

LOWCommunity-maintained by Gopi Krishnan / Effy Tech

No official vendor backing.

Remediation

Seek vendor verification.

Tools

59 total
NameDescriptionRisk
get_ticket_fieldsGet ticket fields from Freshdesk.read
get_ticketsGet tickets from Freshdesk with pagination support.read
create_ticketCreate a ticket in Freshdeskwrite
update_ticketUpdate a ticket in Freshdesk.write
delete_ticketDelete a ticket in Freshdesk.admin
get_ticketGet a ticket in Freshdesk.read
search_ticketsSearch for tickets in Freshdesk.read
get_ticket_conversationGet a ticket conversation in Freshdesk.read
create_ticket_replyCreate a reply to a ticket in Freshdesk.write
create_ticket_noteCreate a note for a ticket in Freshdesk.write
update_ticket_conversationUpdate a conversation for a ticket in Freshdesk.write
get_agentsGet all agents in Freshdesk with pagination support.read
list_contactsList all contacts in Freshdesk with pagination support.read
get_contactGet a contact in Freshdesk.read
search_contactsSearch for contacts in Freshdesk.read
update_contactUpdate a contact in Freshdesk.write
list_canned_responsesList all canned responses in Freshdesk.read
list_canned_response_foldersList all canned response folders in Freshdesk.read
view_canned_responseView a canned response in Freshdesk.read
create_canned_responseCreate a canned response in Freshdesk.write
update_canned_responseUpdate a canned response in Freshdesk.write
create_canned_response_folderCreate a canned response folder in Freshdesk.write
update_canned_response_folderUpdate a canned response folder in Freshdesk.write
list_solution_articlesList all solution articles in Freshdesk.read
list_solution_foldersList all solution folders in Freshdesk.read
list_solution_categoriesList all solution categories in Freshdesk.read
view_solution_categoryView a solution category in Freshdesk.read
create_solution_categoryCreate a solution category in Freshdesk.write
update_solution_categoryUpdate a solution category in Freshdesk.write
create_solution_category_folderCreate a solution category folder in Freshdesk.write
view_solution_category_folderView a solution category folder in Freshdesk.read
update_solution_category_folderUpdate a solution category folder in Freshdesk.write
create_solution_articleCreate a solution article in Freshdesk.write
view_solution_articleView a solution article in Freshdesk.read
update_solution_articleUpdate a solution article in Freshdesk.write
view_agentView an agent in Freshdesk.read
create_agentCreate an agent in Freshdesk.admin
update_agentUpdate an agent in Freshdesk.admin
search_agentsSearch for agents in Freshdesk.read
list_groupsList all groups in Freshdesk.read
create_groupCreate a group in Freshdesk.admin
view_groupView a group in Freshdesk.read
create_ticket_fieldCreate a ticket field in Freshdesk.admin
view_ticket_fieldView a ticket field in Freshdesk.read
update_ticket_fieldUpdate a ticket field in Freshdesk.admin
update_groupUpdate a group in Freshdesk.admin
list_contact_fieldsList all contact fields in Freshdesk.read
view_contact_fieldView a contact field in Freshdesk.read
create_contact_fieldCreate a contact field in Freshdesk.admin
update_contact_fieldUpdate a contact field in Freshdesk.admin
get_field_propertiesGet properties of a specific field by name.read
list_companiesList all companies in Freshdesk with pagination support.read
view_companyGet a company in Freshdesk.read
search_companiesSearch for companies in Freshdesk.read
find_company_by_nameFind a company by name in Freshdesk.read
list_company_fieldsList all company fields in Freshdesk.read
view_ticket_summaryGet the summary of a ticket in Freshdesk.read
update_ticket_summaryUpdate the summary of a ticket in Freshdesk.write
delete_ticket_summaryDelete the summary of a ticket in Freshdesk.write

Deploy Freshdesk MCP Server securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow