FreeScout ticket management with AI-powered analysis, search filters, and structured outputs.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An MCP (Model Context Protocol) server for FreeScout helpdesk ticket management. This server provides tools to interact with FreeScout tickets, analyze issues, and manage customer responses.
buildServer factory serves both 2025-era and 2026 MCP stdio clients@modelcontextprotocol/server 2.x with Zod 4 input schemas.structuredContent for stable analysis and write-operation results without declaring output schemas.204 No Content update responses and records the user ID that initiated a ticket update.The easiest way to use this MCP server is with npx:
Add this to your Claude Desktop settings (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Add this to your Cursor MCP settings:
Method 1: Via Cursor Settings UI
Method 2: Manual Configuration
Add this to your Cursor settings.json or create ~/.cursor/mcp.json:
The server communicates only with the FreeScout instance configured in its environment.
If you prefer to install and run the server locally:
Run the server directly:
Or in development mode with auto-reload:
freescout_get_ticketFetch a FreeScout ticket with all its details and conversation threads.
Parameters:
ticket (required): Ticket ID, number, or FreeScout URLincludeThreads (optional): Include conversation threads (default: true)Natural Language Examples:
Example:
Example: Fetching a FreeScout ticket with conversation threads
freescout_analyze_ticketAnalyze a ticket to determine issue type, root cause, and suggested solutions.
Parameters:
ticket (required): Ticket ID, number, or FreeScout URLNatural Language Examples:
Returns:
Example: Intelligent ticket analysis with issue classification
freescout_add_noteAdd an internal note to a ticket for team communication.
Parameters:
ticket (required): Ticket ID, number, or FreeScout URLnote (required): The note contentuserId (optional): User ID for the note (defaults to env setting)Natural Language Examples:
freescout_update_ticketUpdate ticket status and/or assignment.
Parameters:
ticket (required): Ticket ID, number, or FreeScout URLstatus (optional): New status ('active', 'pending', 'closed', 'spam')assignTo (optional): User ID to assign the ticket toNatural Language Examples:
freescout_create_draft_replyCreate a draft reply in FreeScout that can be edited before sending. This tool lets the LLM generate the reply content and saves it directly to FreeScout as a draft. Automatically converts Markdown formatting to HTML for proper display in FreeScout.
Parameters:
ticket (required): Ticket ID, number, or FreeScout URLreplyText (required): The draft reply content (generated by the LLM, supports Markdown formatting)userId (optional): User ID creating the draft (defaults to env setting)to (optional): List of TO recipients. Omit to preserve existing recipients; pass [] to clear.cc (optional): List of CC recipients. Omit to preserve existing recipients; pass [] to clear.bcc (optional): List of BCC recipients. Omit to preserve existing recipients; pass [] to clear.Natural Language Examples:
If recipient fields are omitted, the server preserves the current conversation recipients from FreeScout when available. If FreeScout does not expose existing to recipients on the conversation, its normal default customer recipient behavior is preserved.
Markdown Support:
**text** or __text__ β text*text* or _text_ β textCode: `code` β code1. item β proper ordered lists- item or * item β proper unordered listsWorkflow:
freescout_get_ticket_context to get customer info and ticket detailsfreescout_create_draft_reply to save the draft in FreeScout (Markdown automatically converted to HTML)Example: Draft reply workflow with personalized customer response
freescout_get_ticket_contextGet ticket context and customer information to help craft personalized replies.
Parameters:
ticket (required): Ticket ID, number, or FreeScout URLNatural Language Examples:
Returns:
freescout_search_ticketsSearch for tickets across your FreeScout instance.
Parameters:
query (required): Search querystatus (optional): Filter by status ('active', 'pending', 'closed', 'spam', 'all')mailboxId (optional): Filter by specific mailbox ID (searches all mailboxes if not specified)Natural Language Examples:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-freescout)<a href="https://allmcps.com/mcp/mcp-freescout"><img src="https://allmcps.com/api/badge/mcp-freescout?style=directory" alt="MCP FreeScout on AllMCPs" /></a>