ConnectWise PSA vs MCP FreeScout
A side-by-side look at the ConnectWise PSA and MCP FreeScout MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose ConnectWise PSA for support & service management work as a local process; choose MCP FreeScout for support & service management as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose ConnectWise PSA when
- You need dedicated capabilities in the Support & Service Management domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
CW_SITE, CW_COMPANY_ID, CW_CLIENT_ID, CW_PUBLIC_KEY, CW_PRIVATE_KEY. - You want tools like
cw_search_tickets, cw_my_tickets, cw_get_ticket.
Choose MCP FreeScout when
- You need dedicated capabilities in the Support & Service Management domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
FREESCOUT_URL, FREESCOUT_API_KEY. - You want tools like
freescout_get_ticket, freescout_analyze_ticket, freescout_add_note.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Support & Service Management | Support & Service Management |
| Quality signal | 59/100 · Good | 65/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | CW_SITECW_COMPANY_IDCW_CLIENT_IDCW_PUBLIC_KEYCW_PRIVATE_KEY | FREESCOUT_URLFREESCOUT_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 6 | 29 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 41 | 8 |
| Full listing | View ConnectWise PSA | View MCP FreeScout |
Tools & capabilities
ConnectWise PSA tools 41
cw_search_ticketsSearch tickets by company, board, status, summary text, or assigned member. Covers SERVICE and PROJECT tickets — ConnectWise keeps them apart, and ticket_type picks which. Defaults to open tickets only. Returns ticket ids for use with cw_get_ticket / cw_add_ticket_note / cw_create_time_entry.cw_my_ticketsList open tickets assigned to the member this session acts as (owner or listed in resources). Includes project tickets as well as service tickets by default.cw_get_ticketGet one ticket with its most recent notes (newest first). Works for service and project tickets — the resource is detected from the id.cw_create_ticketCreate a new SERVICE ticket on a board for a company. Project tickets cannot be created here — they need a project and a phase.cw_update_ticketUpdate a ticket's status, priority, summary, or owner. Only provided fields change.cw_bundle_ticketsAttach child tickets to a parent ticket (CW's bundling). SERVICE tickets only. Children that already have a parent are refused rather than re-parented, and every child is read back afterwards so the result says which ones actually attached. NOT UNDOABLE FROM HERE — detaching a bundled ticket is only possible in the ConnectWise UI, so check the ids before calling.cw_add_ticket_noteAdd a note to a ticket. Discussion notes are visible to the customer on portals/emails; internal notes are not. Notes are attributed to the member whose API keys this session uses.cw_list_boardsList service boards. Use to discover exact board names for cw_search_tickets / cw_create_ticket, and board ids for cw_get_board (statuses and types).cw_get_boardList what a service board allows — statuses, types, sub-types, items and teams. These are the exact names cw_create_ticket and cw_update_ticket take, and they are BOARD-SCOPED: the same name means a different id on another board. Get the board id from cw_list_boards.cw_list_prioritiesList ticket priorities (exact names for cw_create_ticket / cw_update_ticket).cw_list_ticket_timeList all time entries logged against a ticket (by any member), newest first. Works for service and project tickets.cw_list_ticket_tasksList the task/checklist items on a ticket, with their done state.- +29 more on the listing page
MCP FreeScout tools 8
freescout_get_ticketFetch and analyze a FreeScout ticket by ID or URLfreescout_analyze_ticketAnalyze a FreeScout ticket to determine issue type, root cause, and suggested solutionfreescout_add_noteAdd an internal note to a FreeScout ticketfreescout_update_ticketUpdate ticket status and/or assignmentfreescout_create_draft_replyCreate a draft reply in FreeScout that can be edited before sendingfreescout_get_ticket_contextGet ticket context and customer info to help draft personalized repliesfreescout_search_ticketsSearch for FreeScout tickets with explicit filter parameters. Text search is subject-only (FreeScout has no message-body full-text search): use subject (or its alias textSearch) to match the conversation subject, customerEmail to filter by the customer, and number to look up a single ticket. Use assignee: "unassigned" for unassigned tickets, or assignee: number for a specific user. Supports relative time filters like "7d", "24h". Use includeLastMessage: true to get a preview of the most recent message for each ticket.freescout_get_mailboxesGet list of available mailboxes
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
ConnectWise PSA
{
"mcpServers": {
"connectwise-psa-2": {
"command": "npx",
"args": [
"-y",
"mcp-connectwise-psa"
],
"env": {
"CW_SITE": "YOUR_CW_SITE_HERE",
"CW_COMPANY_ID": "YOUR_CW_COMPANY_ID_HERE",
"CW_CLIENT_ID": "YOUR_CW_CLIENT_ID_HERE",
"CW_PUBLIC_KEY": "YOUR_CW_PUBLIC_KEY_HERE",
"CW_PRIVATE_KEY": "YOUR_CW_PRIVATE_KEY_HERE"
}
}
}
}
MCP FreeScout
{
"mcpServers": {
"mcp-freescout": {
"command": "npx",
"args": [
"@verygoodplugins/mcp-freescout@latest"
],
"env": {
"FREESCOUT_URL": "YOUR_FREESCOUT_URL_HERE",
"FREESCOUT_API_KEY": "YOUR_FREESCOUT_API_KEY_HERE"
}
}
}
}
Frequently asked questions
ConnectWise PSA is categorized under Support & Service Management and uses a local stdio subprocess. MCP FreeScout belongs to Support & Service Management and uses a local stdio subprocess. Pick ConnectWise PSA for support & service management work and MCP FreeScout for support & service management.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
ConnectWise PSA has no declared pricing — check the project's own site. MCP FreeScout has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add connectwise-psa-2 and mcp-freescout as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, ConnectWise PSA has a quality signal of 59/100 (Good) with 2 views, 0 installs and 6 GitHub stars. MCP FreeScout has 65/100 (Great) with 1 views, 0 installs and 29 GitHub stars.