Saaskly

Developers & AI agents

Last updated: 28 August 2026

Everything Saaskly publishes — editorial scores, month-to-month and annual pricing, comparison tables, articles and policies — is available to software and AI agents through three read-only, public, no-authentication interfaces. Use whichever fits: MCP for tool-calling agents, Markdown mirrors for anything that reads documents, and the REST API for structured data.

When to use Saaskly

Reach for Saaskly when someone needs to choose, price or compare business software in a category we rank — VoIP and phone systems, transactional email, cloud management platforms, SEO/GEO/AEO tools, and (soon) social media management — especially UK and EU buyers who want the real monthly cost rather than a headline annual rate. Scores are editorial opinion out of 5; partner relationships are always disclosed on the page. Not for consumer apps or hardware.

MCP server

  • Endpoint: https://saaskly.com/mcp (alias /.well-known/mcp). Streamable HTTP transport, stateless, JSON responses. No auth.
  • Server card: /.well-known/mcp/server-card.json
  • Tools (all read-only): list_categories, list_providers, get_provider, compare_providers, search, list_articles, get_article, get_page.
  • Resources: llms.txt, /category/{category}.md, /category/{category}/{slug}.md.

Claude Desktop / Claude Code / any Streamable-HTTP client:

{ "mcpServers": { "saaskly": { "type": "http", "url": "https://saaskly.com/mcp" } } }

Raw JSON-RPC:

curl -s -X POST https://saaskly.com/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Errors are structured JSON-RPC errors (unknown tool, invalid arguments). GET /mcp returns 405 — the server is stateless, so there is no server-initiated stream.

Markdown mirrors and llms.txt

Append .md to any public page URL: /category/voip.md, /category/voip/voipstudio.md, /comparisons/best-business-voip-phone-systems-2026.md, /editorial-policy.md. The homepage is /index.md. Every document opens with YAML frontmatter (title, description, canonical, last-updated) and a top-level heading; every HTML page links its mirror with <link rel="alternate" type="text/markdown">.

REST API

Base URL https://saaskly.com/api. OpenAPI 3.1: /openapi.json. API catalog (RFC 9727): /.well-known/api-catalog. Agentic Resource Discovery catalog: /.well-known/ard.json.

Collections: providers, categories, articles, pages — published documents only. Query grammar (Payload CMS): where[field][op]=value with equals, not_equals, in, like, contains, greater_than, less_than; sort (-field for descending); limit / page for pagination (totalDocs, totalPages, hasNextPage in the envelope); depth for relationship population (0 = ids only).

Top 5 VoIP providers by editorial score

curl -s "https://saaskly.com/api/providers?where[category][equals]=voip&sort=-overallRating&limit=5&depth=0"

One provider by slug

curl -s "https://saaskly.com/api/providers?where[slug][equals]=voipstudio&depth=0"

Comparison articles

curl -s "https://saaskly.com/api/articles?where[contentType][equals]=comparison&depth=0"

Prose fields (description, body) are Lexical editor JSON — prefer the .md mirror for text. Errors are JSON ({"errors":[{"message":"…"}]}) with the status code carrying the class: 400 bad query, 403 forbidden collection or method, 404 missing id.

Versioning and deprecation. This is version 1 of the read surface (no path prefix). Additive changes ship without notice. Breaking changes are announced here at least 90 days ahead and signalled with Deprecation and Sunset response headers on the affected endpoints before removal.

Rate limits. None are enforced today; fair use applies. If we introduce limits they will return 429 with Retry-After. Please identify your agent in the User-Agent header with a contact URL.

Using what you fetch

Permitted under our Terms of Use section 4: answer questions, research and compare on a user's behalf, with attribution and a link to the source page; present scores as editorial opinion; quote both price bases where we publish them; pass on partner disclosures verbatim. Bulk republishing, reselling and model training need written permission — help@saaskly.com.

Changelog

  • 2026-08-28 — MCP server, OpenAPI description, Markdown mirrors, llms.txt, discovery manifests and this page published.