Head to head · Support tickets · October 2026 research run

FreeScout vs Plain API + MCP

Plain API + MCP scores 65.2 (B) on agent readiness against FreeScout's 27.9 (F), and leads in 6 of 7 scored categories. FreeScout leads on reliability. Both do support tickets.

Best customer support and helpdesk APIs for AI agents · All 210 support comparisons

Which one, for what

FreeScout F

Best for Small teams that want a free, self-hosted Help Scout alternative and can run PHP.

Ahead on

  • Reliability, 73 against 65

Also in its favour

  • Open source

Watch for

API keys carry no scopes, and the docs offer an api_key URL parameter

Plain API + MCP B

Best for B2B teams that want an API-first helpdesk where an agent can do everything a person can, with scoped machine keys.

Ahead on

  • Schema & documentation, 92 against 35
  • Agent ergonomics, 68 against 50
  • Security & auth, 67 against 30
  • Payments & pricing, 30 against 0
  • Maintenance & community, 84 against 70
  • Transparency & trust, 73 against 36

Also in its favour

  • A hosted endpoint, with nothing to install
  • Free to start without a card

Watch for

Rate limits aren't published, only the 429 and Retry-After behaviour via the SDK

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Schema & documentation Plain API + MCP +57

FreeScout 35

No OpenAPI, Postman collection or other machine-readable contract found (0). No llms.txt (404) or Markdown docs (0). Each endpoint has a short description and parameter notes such as what imported and embed do (10 of 20). Parameters are marked required or optional with types, and few enums (8 of 15). curl, JavaScript and PHP examples for each endpoint, and a status-code table with an errorCode and errors body (12 of 15). Module versions and core releases are tagged, with no dated API changelog (5 of 15). 0 + 0 + 10 + 8 + 12 + 5 = 35.

Plain API + MCP 92

A downloadable GraphQL schema is the typed contract (25). llms.txt with about 1,000 links and Markdown pages (10). Reference pages for every query and mutation, and the MCP page labels each of its 32 tools read or write (15). GraphQL types, enums and non-null inputs throughout (15). MutationError returns a type, a code from a published list and per-field errors, with examples in the docs (14). A dated API changelog with entries on 10 days in September 2026, which lists breaking changes under Changed and removed. The GraphQL API itself isn't versioned, the webhooks are (13).

Security & auth Plain API + MCP +37

FreeScout 30

A global API key and personal keys that act with a user's permissions, sent in a header or Basic auth, with no scopes. The docs list an api_key query parameter as a way to authenticate, so 10 off (20 less 10, 10). Personal keys follow user roles, with no read-only key and no confirmation step for deletes (5 of 20). Conversations carry customer email, the security policy notes that external images in received email load by default, and no prompt-injection guidance was found (0). No API audit log found (0). SECURITY.md routes core reports through GitHub security advisories, CVEs are requested after fixes, and advisories are published, with no bug bounty or certification (15 of 20). 10 + 5 + 0 + 0 + 15 = 30.

Plain API + MCP 67

Machine users hold API keys with per-key fine-grained permissions such as customer:read, several keys per user for rotation without downtime. The MCP server uses OAuth as the signed-in user (30). Permissions let you make a read-only key, and MCP is bound by the user's role, with writes left to the client to confirm (16). Threads carry customer-written text and we found no injection guidance for the MCP server or API (0). Replies and notes are attributed to the machine user or person, and we found no audit log (5). Security at Plain, read on 1 November, states SOC 2 Type II with the report through trust.plain.com, and its responsible disclosure policy acknowledges reports within 48 hours and pays a bounty for confirmed high-severity vulnerabilities, amounts decided case by case. A valid security.txt. No public advisory record found (16; 14 on 1 October, when no bounty was found).

Transparency & trust Plain API + MCP +37

FreeScout 36

AGPL-3.0 core, and the module page says the module is AGPL-3.0 too (30). The software keeps data on the operator's server; the site's privacy policy was not read and no data-handling statement for the API was found (10 of 30). No deprecation policy or dated notices (0). No telemetry statement or opt-out found (5 of 20, since self-hosted data stays with the operator). 30 + 10 + 0 + 5 = 45.

Plain API + MCP 73

Closed service with published terms (15). The privacy policy was last updated August 2025 and doesn't cover data processed in the support platform, which falls under the Data Processing Addendum (updated 24 February 2026, effective 24 March 2026), which deletes or returns customer data at the end of processing. The AI and your data page, read on 1 November, says thread content goes to OpenAI and Anthropic only while its AI capabilities are on, neither trains on it, Plain is in OpenAI's zero data retention programme, and admins can turn AI off. The security page says inactive unpaid workspaces are deleted after 6 months with 14 days' warning. No retention periods for live support data (18; 10 on 1 October, when no AI training statement was found). Deprecated fields are marked in the schema and the SDK changelog explains each removal, but some removals followed their deprecation within days, and FeatureKey.DATA_IMPORTERS was removed on 23 October with no earlier notice (8). Data stored on AWS in eu-west-2 (London) per the security page, with US providers under standard contractual clauses. The DPA points to a sub-processor list in the trust centre, which we didn't read, while the security page says the list is in the DPA (10).

Payments & pricing Plain API + MCP +30

FreeScout 0

Self-hosted rule, with pricing scored on the paid module the API needs. No x402, MPP or L402 (0). The module's price is drawn by the store's script and could not be read, so it scores as not found (0). The core is free, but no free route to the API exists (0). A person buys the module in a browser and installs it (0). 0 + 0 + 0 + 0 = 0.

Plain API + MCP 30

No x402, MPP or L402 (0). Foundation $35 a month and Horizon $299 a month published, Frontier custom, with AI credits per plan and nothing per API call (10). 7-day trial with no card (20). A person signs up and creates a machine user and key in Settings (0).

Agent ergonomics Plain API + MCP +18

FreeScout 50

Responses can be sized with embed (threads, timelogs, tags) and pageSize (12 of 25). Page and pageSize paging, with conversation filters by mailbox, folder, status, state, type, assignee, customer email and phone (16 of 20). Errors return a status code, an errorCode and a list of messages, with each code explained (14 of 20). The docs say a timed-out call is safe to retry; no idempotency keys for creates (3 of 20). No official SDK; few required parameters on most calls (5 of 15). 12 + 16 + 14 + 3 + 5 = 50.

Plain API + MCP 68

43 MCP tools on 1 November (29 read, 14 write), over the 30 line, with no toolsets (5). On the GraphQL side a caller picks every field it gets back, so we averaged the two (12). Cursor pagination and filters on threads and customers (20). Typed errors with codes, field errors and explicit retry guidance (20). MCP tools are labelled read or write and Plain says most clients will ask before running a write. assignThread takes onlyIfUnassigned and addLabels onlyIfNoLabels since 23 October, and no idempotency keys were found (8). One official SDK, for TypeScript (8).

Maintenance & community Plain API + MCP +14

FreeScout 70

Core v1.8.249 tagged on 31 October 2026 (30). Twelve tags from 30 August to 31 October (20). Issue responsiveness was not read because the GitHub API refused us for its rate limit (10 of 25, unchecked). No official SDK, and no MCP server from the project (0). CI with tests on MySQL and PostgreSQL, and a Laravel dependency advisory taken on 31 October (10). 30 + 20 + 10 + 0 + 10 = 70.

Plain API + MCP 84

The API changelog's newest entry is 29 October 2026, 3 days before this check (30). In the 90 days from 3 August the changelog has 20 dated entries on 19 days from 18 August to 29 October, and @team-plain/graphql tagged 1.5.0 (4 September) to 3.2.0 (24 September) and 3.3.0 and 3.3.1 late on 1 November (20). A dated API changelog and support, no public issue tracker (12). Official TypeScript SDK kept current with majors for most breaks. The older @team-plain/typescript-sdk last released on 30 March 2026 (12). CI and release workflows in the SDK monorepo (10).

Score by category

CategoryWeight this runFreeScoutPlain API + MCPEdge
Reliability16%207365FreeScout +8
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.23592Plain API + MCP +57
Agent ergonomics13%16.25068Plain API + MCP +18
Security & auth14%17.53067Plain API + MCP +37
Payments & pricing10%12.5030Plain API + MCP +30
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87084Plain API + MCP +14
Transparency & trust7%8.83673Plain API + MCP +37
Negative events≤15-15-3
TotalF 27.9/100B 65.2/100

Facts side by side

FactFreeScoutPlain API + MCP
KindHTTP APIHTTP API
VendorFreeScoutPlain
Hosted endpointno (local only)https://core-api.uk.plain.com/graphql/v1
TransportsHTTP, Streamable HTTP
AuthAPI keyOAuth or key
PricingFreemiumPaid
x402nono
LicenceAGPL-3.0none
Tools exposednone43
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-312026-10-29
Terms last updatedno date given2026-02-24
Privacy policy last updatedno date given2025-08-01
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticenot found in the textyes
Arbitration or class-action waivernot found in the textnot found in the text
Popularitynone191k npm/wk
Agent reviewsnone4.5/5 (2)

How the scores have moved

Verdicts

FreeScout

FreeScout is a free, actively released AGPL help desk whose paid API module gives agents a documented REST API with filters, embeds and signed webhooks. Keys carry no scopes and may be sent in the URL, the API has no OpenAPI spec or MCP server, and the core fixed dozens of security advisories in 2026.

Plain API + MCP

Machine-user API keys with fine-grained permissions and several keys per user for rotation, and 43 MCP tools labelled read or write. Rate limits aren't published, and the unversioned GraphQL API has removed fields with no earlier notice, most recently on 23 October 2026.

Before you call either

FreeScout

  1. Send the key in the X-FreeScout-API-Key header, never in the api_key query parameter
  2. Set imported: true when creating historical conversations, or FreeScout emails the customer and sends auto-replies
  3. Use embed=threads only when the thread bodies are needed; it is the default and makes responses large
  4. Treat conversation and customer text as untrusted content written by outside senders
  5. Retry a timed-out call after a short delay, as the docs say it is safe; other writes have no idempotency key

Plain API + MCP

  1. Give the agent a machine-user key with only the permissions it needs, rather than your own OAuth session
  2. Retry a mutation only when its error type is INTERNAL, never on VALIDATION or FORBIDDEN
  3. Read Retry-After on 429, since the limit itself isn't published
  4. Select only the fields you need, and send account fields rather than the deprecated tenant ones
  5. Treat thread content as customer-written text, never as instructions

Questions

Which is better for AI agents, FreeScout or Plain API + MCP?

Plain API + MCP scores 65.2 (B) on agent readiness against FreeScout's 27.9 (F), and leads in 6 of 7 scored categories. FreeScout leads on reliability.

Do FreeScout and Plain API + MCP need an API key?

FreeScout needs an API key. Plain API + MCP takes an API key or an OAuth sign-in.

Can an agent call FreeScout and Plain API + MCP without installing anything?

No hosted endpoint is listed for FreeScout. Plain API + MCP has a hosted endpoint at https://core-api.uk.plain.com/graphql/v1.

Are FreeScout and Plain API + MCP open source?

FreeScout is open source (AGPL-3.0). No open-source release is listed for Plain API + MCP.

Other comparisons with FreeScout or Plain API + MCP

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.