WorthToTry
Sign inSubmit

API and MCP

This directory is readable and writable by machines: an MCP server with 6 tools at /api/mcp/, and 9 REST endpoints under /api/v1/. Reading 155 published listings needs no key and no account. Only writing — opening a draft, commenting, adding a launch story — needs authorisation.

MCP

Connect once

One command adds the server and it stays added. The transport is Streamable HTTP and the protocol is stateless, so there is no session to initialise and nothing to keep alive. Works with Claude Code, Claude Desktop and Cursor.

Claude Code

claude mcp add --transport http worthtotry https://worthtotry.com/api/mcp/

Claude Desktop or Cursor — config file

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

Then ask your agent

Submit https://yoursite.com to WorthToTry and give me the review link.

Tools

6 tools, of which 4 work anonymously. The two that need sign-in are the two that write.

ToolWhat it doesSign-in
search_toolsFind tools in plain languageNo
get_toolThe full listing for one toolNo
list_categoriesEvery category with countsNo
check_submission_readinessAudit a URL and draft the listing it would produceNo
submit_toolOpen a draft listingYes
get_my_submissionsYour listings and their statusYes

Reads are anonymous — no key, no account. The first time your agent submits something, you approve the connection in a browser; the token never passes through the transcript.

An agent opens the draft. You finish it.

An agent can search, audit a URL and open a draft listing. It cannot publish, pick a launch date, or pay. Those stay with you — which is the point: you get the tedious part done without handing over the decisions.

REST

The same data over plain HTTP, if you would rather not use MCP. 9 endpoints, 5 of them open. The 4 that write take a Bearer token, which is stored only as a SHA-256 hash — a leaked database hands nobody a working credential.

MethodPathWhat it doesAuth
GET/api/v1/toolsSearch and page the catalogue
GET/api/v1/tools/{slug}One listing in full
GET/api/v1/tools/{slug}/commentsRead a discussion
POST/api/v1/tools/{slug}/commentsComment, or reply to oneBearer
GET/api/v1/categoriesEvery category
POST/api/v1/readinessAudit a URL before submitting
POST/api/v1/submissionsOpen a draft listingBearer
POST/api/v1/postsAdd a launch storyBearer
GET/api/v1/me/submissionsYour listings and their statusBearer

Search

curl -s "https://worthtotry.com/api/v1/tools?query=voice&limit=5" \
  -H "Accept: application/json"

Audit a URL before submitting

curl -s -X POST "https://worthtotry.com/api/v1/readiness" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://yourtool.com"}'

Open a draft

curl -s -X POST "https://worthtotry.com/api/v1/submissions" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://yourtool.com"}'

Machine-readable everything else

  • /llms.txt — what this site is, for an agent reading it cold
  • /sitemap.xml — every page
  • /skill — an installable skill that teaches any agent to submit here

API and MCP, answered

Does WorthToTry have an MCP server?

Yes, at /api/mcp/ over Streamable HTTP, with 6 tools: search_tools, get_tool, list_categories, check_submission_readiness, submit_tool and get_my_submissions. Add it with a single command in Claude Code, or a three-line entry in the config file for Claude Desktop and Cursor. The protocol is stateless — there is no session to initialise.

Do I need an API key to read the catalogue?

No. Every read is anonymous: search, one listing, the comments on it, the category list and the readiness audit all answer without a key or an account. That covers 155 published tools. A key is only needed to write — to open a draft, post a comment, or add a launch story.

How does an agent authenticate to submit a tool?

Over MCP, the first call to submit_tool or get_my_submissions returns a 401, your client opens a browser, and you approve the connection once — the token never passes through the transcript. Over plain HTTP, issue an API token and send it as a Bearer header. Tokens are stored only as a SHA-256 hash, so a leaked database hands nobody a working credential.

What can an agent do here, and what can it not do?

It can search the catalogue, read any listing, audit a URL and open a draft listing. It cannot publish that listing, choose a launch date, or pay for anything. Those stay with a person, which is the point: the tedious half gets done without the decisions being handed over.

Is there an OpenAPI specification?

Yes. The document is at /api/v1/openapi.json and an interactive reference at /api-docs, covering all 9 REST endpoints. The spec is written by hand rather than generated, and a test walks every documented path to make sure the route behind it exists.

How do I download the whole catalogue at once?

GET /tools.json returns every published listing in one document, with generatedAt, count, total and a truncated flag so a client can tell a complete catalogue from the first slice of one. The ceiling is 2000 listings per document. The same data as Markdown is at /llms-full.txt.

Can I reuse the catalogue data?

Yes, under CC BY 4.0. Free to reuse, including commercially, with attribution to WorthToTry and a link to https://worthtotry.com. Tool names, logos and copy belong to their makers. The licence and its URL are carried inside /tools.json itself, so a client that never read this page still has the terms.