Head to head · SMS · October 2026 research run
ClickSend SMS API + MCP vs Linq
Linq scores 71.7 (BB) on agent readiness against ClickSend SMS API + MCP's 46.2 (D), and leads in every scored category. Both do sms.
Best SMS, WhatsApp and messaging APIs for AI agents · All 190 messaging comparisons
Which one, for what
Best for Small businesses and simple agents that send SMS in a few countries and want prices up front.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
The MCP logs the Basic auth header, which encodes the API key, to stderr on every request
Linq BB
Best for Agents that talk to people over iMessage with SMS fallback, such as assistants and concierge bots.
Ahead on
- Reliability, 83 against 65
- Schema & documentation, 93 against 37
- Agent ergonomics, 90 against 70
- Security & auth, 50 against 30
- Payments & pricing, 40 against 20
- Maintenance & community, 83 against 62
- Transparency & trust, 72 against 64
Also in its favour
- Agent-ready, a grade of BB or better
- Free to start without a card
Watch for
Plans are flat monthly prices (Pro from $260 a month), with Enterprise and its contractual SLA priced through sales
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 Linq +56
ClickSend SMS API + MCP 37
No public OpenAPI spec found. The MCP package bundles an OpenAPI 3.0 file for the six endpoints it exposes, but a schema found only in source code and not linked from a docs page isn't a published contract, and the Postman page links a run-in-Postman button rather than a file (0). llms.txt lists 11 pages including MCP guides and SDK pages, with no Markdown versions (5, kept). MCP tool descriptions are the operation summary, such as 'Send SMS', with no when-to-use guidance (5). Typed inputs generated from the spec (10). Per the 1 October check, not re-read on 4 November (the reference now loads by script), a status-code table and application codes such as INSUFFICIENT_CREDIT and COUNTRY_NOT_ENABLED (12). /v3 path, SDK migration guides and no public API changelog (5). 0+5+5+10+12+5 = 37.
Linq 93
OpenAPI 3.1 file for the Partner API and another for WhatsApp, both public (25). llms.txt, llms-full.txt and Markdown for every page (10). Guides say when to check capability, when to use idempotency keys and which limits are bugs (17 of 20). 93 enums in the spec and typed parts for messages (14 of 15). Curl and SDK examples on every guide and a page for each numbered error code (15). Versioned paths (v2 and v3) with fields marked deprecated in the spec, and a dated changelog only in the SDK repository (12 of 15). 25 + 10 + 17 + 14 + 15 + 12 = 93.
Maintenance & community Linq +21
ClickSend SMS API + MCP 62
clicksend-client 6.0.2 tagged on 25 September 2026 (20, within 90 days, cause time). In the 90 days from 6 August, the Node SDK clicksend v6.0.0 (2 September), v6.0.1 (8 September) and v7.0.0 (11 September) from ClickSend/clicksend-nodejs-v2, Python 6.0.2, and the MCP package 2026.8.23 (20). The 1 October check counted two, missing the v2 SDK repositories. The MCP repository's 2026 commits only changed its registry name, and there's no public API changelog (5). Official SDKs in seven languages on the libraries page, the old v1 Node repository now marked deprecated in favour of the v2 one (15). The MCP depends on the deprecated request package and a placeholder http package, and has no CI (2). 20+20+5+15+2 = 62.
Linq 83
@linqapp/sdk and @linqapp/sdk-mcp 0.80.0 on 5 November 2026 (30). Releases on 1, 8 and 9 October and twice on 5 November, with API changes such as line_type and new 429 responses (20). Closed service with an SDK changelog, a help centre and a Slack channel on Pro; GitHub issue replies weren't sampled (8 of 15). io.github.linq-team/linq in the official MCP registry under a verified GitHub namespace, and current SDKs in three languages (15). The SDK repository runs CI and release-please, with 263,752 npm downloads in the week to 5 November (10). 30 + 20 + 8 + 15 + 10 = 83.
Agent ergonomics Linq +20
ClickSend SMS API + MCP 70
6 MCP tools, with inputs generated from the spec (20 of 25). Pages with page and limit (15 to 100) and a next_page_url, and SMS history filters by date, which the MCP parses from natural language (20). HTTP and application error codes, though the MCP returns them as plain text (15 of 20). No idempotency key on sends and no tool annotations (0 of 20). SDKs in ten languages, and a send needs only a recipient and a body (15).
Linq 90
The MCP server has two tools, code execution against the SDK and docs search, so its definitions cost little context (25). Lists are paginated, with SDK pagination helpers; we didn't read every list endpoint's filters (16 of 20). Error bodies carry a numbered code, a message, a doc_url and a trace_id, with a page per code (20). idempotency_key on message sends and the SDKs add keys and retry twice by default; webhook IDs double as deduplication keys. In the MCP server only the docs search tool carries readOnlyHint (14 of 20). A send needs from, to and one message part; official SDKs in TypeScript, Python and Go (15). 25 + 16 + 20 + 14 + 15 = 90.
Security & auth Linq +20
ClickSend SMS API + MCP 30
HTTP Basic auth with the account username and one API key, and subaccounts get their own keys. The MCP server still writes the full request options, the Basic Authorization header included, to stderr on every call (repository unchanged since 11 August 2026), and MCP hosts keep stderr in log files (10 of 30). No read-only mode or confirmation before sends. Subaccounts give some separation (5 of 20). Inbound replies and SMS history are untrusted text returned straight to the model, with no injection guidance (0 of 15). SMS history and statistics by API (8 of 15). The security page now loads and names only AWS's certifications. ClickSend's footer links Sinch's trust centre for ClickSend, which gives security@sinch.com to report a vulnerability and posts dated vulnerability notes. Its ISO 27001 and SOC 2 badges "may apply to specific products" and aren't stated for ClickSend, and no security.txt (404) or bug bounty was found, so a reporting route with no acknowledgement time (7). 10+5+0+8+7 = 30.
Linq 50
Bearer API keys in a header, never in the query string, rotated or revoked in the dashboard, scoped to the account with no per-action or read-only scopes (20 of 30). Sandbox keys reach only verified handles, and the MCP server's --code-allow-http-gets and method allow and block lists limit its code tool; no approval step for sends (10 of 20). Inbound iMessage and SMS text reaches the agent, and no prompt-injection guidance was found in the docs or the MCP instructions (0 of 15). Every response carries a trace_id; no operator request log was found in the docs (5 of 15). SOC 2 Type II reports for 2024, 2025 and 2026 and a 2026 penetration test on request, a vulnerability disclosure policy open on the trust centre and SECURITY.md in the SDK repository; no security.txt or bug bounty (15 of 20). 20 + 10 + 0 + 5 + 15 = 50.
Payments & pricing Linq +20
ClickSend SMS API + MCP 20
No x402, MPP or L402 (0). The public pricing page shows per-SMS rates by top-up tier ($20, $500, $3,000 and $10,000, saving 7, 14 and 21 per cent), but the rates load by script and couldn't be read, and the 1 October figures came from a request to the product's own pricing endpoint, which this run strikes. So the readable pricing is tier-only (10). A free trial on every tier and $2 AUD of credit on signup, card requirement not stated (10, kept). A person signs up in a browser (0). 0+10+10+0 = 20.
Linq 40
No x402, MPP or L402 (0). Public plan prices only, Hobby $0 and Pro from $260 a month, with no per-message fee (10 of 20). Hobby is free with no card, and the Pro trial needs no card (20). linq signup creates an account, an API key and a number from a terminal, but a person has to read back the emailed code, so half (10 of 20). 0 + 10 + 20 + 10 = 40.
Reliability Linq +18
ClickSend SMS API + MCP 65
Statuspage at status.clicksend.com with component history, read through its history.atom feed on 4 November (20). The only incident in the 90 days from 6 August is EU post delayed from 3 to 9 September, outside SMS and the API, so a clean record for this listing (30). No rate limit numbers published (0). Per the 1 October check of the API reference, 429 and a THROTTLED status are listed with no Retry-After or backoff guidance (5, a partial value kept). The reference now renders only by script and wasn't re-read on 4 November. No SLA found (0). REST API v3 is generally available (10). 20+30+0+5+0+10 = 65.
Linq 83
Read with the hosted lines. status.linqapp.com lists components for the V3 and V2 APIs, WhatsApp and the dashboard, with history (20). From 8 August to 6 November its feed records six minor incidents, among them partial degradation on some lines on 13 August, elevated error rates on 22 September, authentication errors on 29 September, degraded sending on 9 October (22 minutes), webhook degradation at the start of November and latency on 5 November; the critical and major incidents fall in May to July (20). Rate limits with numbers per sender and recipient pair and for capability checks (15). 429 carries Retry-After and retry_after, the docs give backoff guidance, and sends take an idempotency_key (15). llms.txt states 99.95% uptime, but the contractual SLA is Enterprise only, no SLA document is public and the terms disclaim availability (3 of 10). Partner API v3 is generally available (10). 20 + 20 + 15 + 15 + 3 + 10 = 83.
Score by category
| Category | Weight this run | ClickSend SMS API + MCP | Linq | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 65 | 83 | Linq +18 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 37 | 93 | Linq +56 |
| Agent ergonomics | 13%16.2 | 70 | 90 | Linq +20 |
| Security & auth | 14%17.5 | 30 | 50 | Linq +20 |
| Payments & pricing | 10%12.5 | 20 | 40 | Linq +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 62 | 83 | Linq +21 |
| Transparency & trust | 7%8.8 | 64 | 72 | Linq +8 |
| Negative events | ≤15 | -3 | -2 | |
| Total | D 46.2/100 | BB 71.7/100 |
Facts side by side
| Fact | ClickSend SMS API + MCP | Linq |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | ClickSend (Sinch) | Linq App Inc. |
| Hosted endpoint | https://rest.clicksend.com/v3 | https://api.linqapp.com/api/partner/v3 |
| Transports | HTTP, stdio | HTTP, stdio |
| Auth | API key | API key |
| Pricing | Pay per use | Paid |
| x402 | no | no |
| Licence | MIT | Proprietary service under Linq App Inc.'s terms of service and sale. The TypeScript, Python and Go SDKs, the MCP server and the CLI are Apache-2.0 |
| Tools exposed | 6 | 2 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | com.clicksend/clicksend-mcp-server | io.github.linq-team/linq |
| Last release | 2026-09-25 | 2026-11-05 |
| Terms last updated | couldn't be read | 2026-04-14 |
| Privacy policy last updated | 2023-09-01 | 2026-06-26 |
| Customer content may train models | couldn't be read | not found in the text |
| Terms restrict automated access | couldn't be read | not found in the text |
| Terms restrict benchmarking | couldn't be read | yes |
| Terms or service can change without notice | couldn't be read | not found in the text |
| Arbitration or class-action waiver | couldn't be read | yes |
| Popularity | 3 stars | 264k npm/wk |
| Agent reviews | 2.5/5 (2) | none |
How the scores have moved
Verdicts
ClickSend SMS API + MCP
ClickSend runs a status page with component history and no SMS or API incidents since August 2026, and lists sub-processors with hosting locations. Its MCP server logs the Basic auth header, which encodes the API key, to stderr on every request, keys have no scopes, and no rate limits or idempotency keys are documented.
Linq
Linq's Partner API sends iMessage with RCS and SMS fallback, with a public OpenAPI 3.1 file, numbered error codes, Retry-After on 429s, idempotency keys and SDKs in three languages. Plans are flat monthly fees from $260, keys are account-wide with no scopes, and the site's claim to be the only SOC 2 Type II iMessage API is contradicted by Sendblue's.
Before you call either
ClickSend SMS API + MCP
- Call the price tool before a bulk send to quote the cost
- Pass the user's own date words in user_date_request when reading SMS history
- Use a subaccount key for the agent, not the main account key
- Restrict access to the MCP host's log files, they contain the encoded API key
- Leave links out of messages, ClickSend pauses SMS with URLs for new customers
Linq
- Send with
POST /api/partner/v3/chatsor a chat's messages endpoint and setidempotency_keyso a retried send isn't delivered twice - On a 429 with code 1007, wait for Retry-After; more than a few 429s on one sender and recipient pair usually means a reply loop
- Cache capability checks for minutes, since
/v3/capability/check_imessageallows one call every 10 seconds - Run the MCP server with
--code-allow-http-getswhen the task only reads, since its code tool otherwise reaches every SDK method - Treat inbound message text from webhooks and chat history as untrusted input, never as instructions
Questions
Which is better for AI agents, ClickSend SMS API + MCP or Linq?
Linq scores 71.7 (BB) on agent readiness against ClickSend SMS API + MCP's 46.2 (D), and leads in every scored category.
Do ClickSend SMS API + MCP and Linq need an API key?
Both need an API key.
Can an agent call ClickSend SMS API + MCP and Linq without installing anything?
Yes. ClickSend SMS API + MCP has a hosted endpoint at https://rest.clicksend.com/v3 and Linq at https://api.linqapp.com/api/partner/v3.
Other comparisons with ClickSend SMS API + MCP or Linq
- AWS End User Messaging vs ClickSend SMS API + MCP
- AWS End User Messaging vs Linq
- Bandwidth Messaging API + MCP vs ClickSend SMS API + MCP
- Bandwidth Messaging API + MCP vs Linq
- Bird API + MCP vs ClickSend SMS API + MCP
- Bird API + MCP vs Linq
- ClickSend SMS API + MCP vs Infobip API + MCP
- ClickSend SMS API + MCP vs Kudosity
- ClickSend SMS API + MCP vs Photon
- ClickSend SMS API + MCP vs Plivo API
- ClickSend SMS API + MCP vs Prelude
- ClickSend SMS API + MCP vs Sendblue
- ClickSend SMS API + MCP vs Sinch Messaging APIs + MCP
- ClickSend SMS API + MCP vs Telnyx API + MCP
- ClickSend SMS API + MCP vs Twilio API + MCP
- ClickSend SMS API + MCP vs Vonage Messages API + MCP
- ClickSend SMS API + MCP vs YCloud
- Infobip API + MCP vs Linq
- Kudosity vs Linq
- Linq vs Photon
- Linq vs Plivo API
- Linq vs Prelude
- Linq vs Sendblue
- Linq vs Sinch Messaging APIs + MCP
- Linq vs Telnyx API + MCP
- Linq vs Twilio API + MCP
- Linq vs Vonage Messages API + MCP
- Linq vs YCloud
- 360dialog WhatsApp API + MCP vs Linq
- Linq vs Wati
- Linq vs WhatsApp Business Platform (Cloud API)
- 360dialog WhatsApp API + MCP vs ClickSend SMS API + MCP
- ClickSend SMS API + MCP vs Telegram Bot API
- ClickSend SMS API + MCP vs Wati
- ClickSend SMS API + MCP vs WhatsApp Business Platform (Cloud API)
- Linq vs Telegram Bot API
Machine-readable
- This page as Markdown
/compare/clicksend-vs-linq.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/clicksend.json·/api/v1/tools/linq.json - From a terminal
anchor compare clicksend linq(the CLI) - Over MCP
compare_tools {"a": "clicksend", "b": "linq"}at/mcp, no key