MCP server for Freshdesk support ticket management and knowledge base search, with read-only chat interface powered by Ollama
Server has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-100 chars, mostly adequate), and input schemas are present with type definitions. However, descriptions lack depth on WHEN to use each tool and dependencies between them. Parameter descriptions are minimal (e.g., 'Search query' for web_search). No output schemas documented. Error handling is present but generic. Tools like list_tickets and search_tickets have overlapping functionality with unclear distinction. The 'mine' parameter is a synthetic addition not in the actual API, adding complexity. No tool annotations (readOnlyHint, etc.) despite all being read-only operations.
Autocomplete agent names
Autocomplete company names
Autocomplete contact names
Get details of a specific support ticket
List support tickets from Freshdesk
Search support tickets using Freshdesk query syntax
Search the web for technical info, error messages, or solutions to help resolve a support ticket
No output schemas documented. Tools return data but LLMs cannot plan downstream calls without knowing response structure (e.g., what fields does get_ticket return? Does list_tickets include pagination metadata?).
list_tickets and search_tickets have overlapping functionality with unclear distinction. Both accept status, priority, tag, agent_id filters. LLMs will struggle to choose between them. Consider consolidating or explicitly documenting when each is preferred.
Parameter descriptions are minimal and lack actionable guidance. E.g., 'Search query' for web_search does not explain what kind of queries work best or when to use this vs search_tickets. Descriptions should be 50-200 chars with context on WHEN and WHY to use the tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Synthetic 'mine' parameter added to list_tickets and search_tickets is not part of the actual Freshdesk API. This adds client-side complexity and confusion. Document clearly that this is a convenience wrapper, or remove it and let LLMs compose queries naturally.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all 7 tools being read-only. Annotations help LLMs understand safety and retry semantics. Add readOnlyHint: true to all tools.