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.
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.
| Tool | What it does | Sign-in |
|---|---|---|
search_tools | Find tools in plain language | No |
get_tool | The full listing for one tool | No |
list_categories | Every category with counts | No |
check_submission_readiness | Audit a URL and draft the listing it would produce | No |
submit_tool | Open a draft listing | Yes |
get_my_submissions | Your listings and their status | Yes |
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.
| Method | Path | What it does | Auth |
|---|---|---|---|
GET | /api/v1/tools | Search and page the catalogue | — |
GET | /api/v1/tools/{slug} | One listing in full | — |
GET | /api/v1/tools/{slug}/comments | Read a discussion | — |
POST | /api/v1/tools/{slug}/comments | Comment, or reply to one | Bearer |
GET | /api/v1/categories | Every category | — |
POST | /api/v1/readiness | Audit a URL before submitting | — |
POST | /api/v1/submissions | Open a draft listing | Bearer |
POST | /api/v1/posts | Add a launch story | Bearer |
GET | /api/v1/me/submissions | Your listings and their status | Bearer |
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.