Agent access · free

Use NeedAnAI from your AI

One MCP server and one JSON API over the whole catalogue: 15,000+ AI tools with pricing, pros and cons, alternatives and the date each site was last confirmed alive. Reads are free and need no account.

MCP · Streamable HTTP
https://mcp.needanai.com/mcp
Any tool page as data
https://needanai.com/tool/<slug>.json
Claude Code
claude mcp add --transport http needanai https://mcp.needanai.com/mcp

Connect

Pick your host. Each snippet is the complete setup; there is nothing to sign up for.

Claude Code

Run once in a terminal; the server is available in every project.

command
claude mcp add --transport http needanai https://mcp.needanai.com/mcp

claude.ai and Claude Desktop

Settings → Connectors → Add custom connector. Paste the URL; no authentication.

url
https://mcp.needanai.com/mcp

Cursor

Use the Add to Cursor button above, or add this to ~/.cursor/mcp.json.

config
{
  "mcpServers": {
    "needanai": {
      "url": "https://mcp.needanai.com/mcp"
    }
  }
}

VS Code

Use the Install in VS Code button above, or add this to .vscode/mcp.json.

config
{
  "servers": {
    "needanai": {
      "type": "http",
      "url": "https://mcp.needanai.com/mcp"
    }
  }
}

ChatGPT

Settings → Connectors → Create (developer mode). Authentication: none.

url
https://mcp.needanai.com/mcp

Gemini CLI

Add to ~/.gemini/settings.json.

config
{
  "mcpServers": {
    "needanai": {
      "httpUrl": "https://mcp.needanai.com/mcp"
    }
  }
}

Hosts that only speak stdio

@needanai/mcp forwards stdio to https://mcp.needanai.com/mcp. Set NEEDANAI_API_KEY in the host's env for keyed tools.

config
{
  "mcpServers": {
    "needanai": {
      "command": "npx",
      "args": [
        "-y",
        "@needanai/mcp"
      ]
    }
  }
}

Plain HTTP

No SDK needed. Every MCP tool is also a REST endpoint.

command
curl "https://api.needanai.com/v1/tools?query=video%20editing&pricing=free,freemium"
curl "https://api.needanai.com/v1/tools/claude"
curl "https://api.needanai.com/v1/recommendations?task=create%20a%20logo&budget=free"
curl https://needanai.com/tool/claude.json   # same profile, no gateway
curl https://needanai.com/tool/claude.md     # markdown with provenance

Try it

A live call to the public API, exactly what your AI receives when it asks recommend_for_task. Nothing runs until you press the button.

GET https://api.needanai.com/v1/recommendations?task=remove+image+backgrounds&budget=free

What the tools do

Fourteen MCP tools. Each one is also a REST route with the same inputs, and the OpenAPI document has the exact schemas.

ToolDoesInputsREST
search_toolsSearch by text, pricing, category or task. Returns facets, freshness labels and a separate sponsored block.query, pricing[], category, task, sort (relevance | recent), page, perPage ≤ 25GET /v1/tools
get_toolFull profile: pricing with the date it was checked, pricing history, pros, cons, FAQs, status, alternatives.slugGET /v1/tools/{slug}
find_alternativesRanked alternatives with a rationale for each pick.slug, samePricing, limit ≤ 25GET /v1/tools/{slug}/alternatives
compare_toolsTwo to five tools side by side, attribute by attribute.slugs[2..5]GET /v1/compare?slugs=a,b
recommend_for_taskBest tools for a task, in plain words, with a budget. Every pick explains itself.task, budget (free | freemium | paid | any), limit ≤ 10GET /v1/recommendations
list_taxonomyCategory or task slugs with live tool counts, for building valid queries.kind (categories | tasks)GET /v1/categories · /v1/tasks
search_articlesReviews, comparisons and guides from the blog.query, category, limit ≤ 25GET /v1/articles
get_articleOne article as markdown.slugGET /v1/articles/{slug}
check_statusIs the site alive, when was it last checked, how fresh is the listing.slugGET /v1/tools/{slug}/status
watch_toolkeyWebhook or email when a tool’s status or pricing changes. Checked every 30 minutes.slug, channel (webhook | email), targetPOST /v1/watches
list_watcheskeyYour active watches.noneGET /v1/watches
unwatch_toolkeyStop a watch.idDELETE /v1/watches/{id}
submit_toolkeySuggest a tool for review. A known website returns the existing listing.name, url, description, pricingTypePOST /v1/submissions
export_toolskeyUp to 2,000 matching rows as JSON or CSV behind a signed link valid for 24 hours.query, pricing[], category, task, format (json | csv), maxRows ≤ 2000POST /v1/exports

Tools marked key need a free API key sent as Authorization: Bearer nai_…. Every MCP answer carries both readable text and structured content. The server also exposes a needanai://tool/<slug> resource and a find_tool_for prompt.

Tool pages as data

Every tool page answers in three formats from the same record. No gateway, no key, cached at the edge.

Freshness and sponsorship

Every answer says how fresh it is

A tool is fresh when its site was confirmed alive within 30 days, aging within 90, stale beyond that, and unknown when it was never checked. The label comes with the date and whether it rests on a full verification or a reachability check.

Sponsored items never enter a ranking

Search results carry a separate sponsored block with a disclosure. It is present on every answer, usually empty, and its items are never mixed into ranked results. Read the disclosure page for how sponsorship is labelled on the site.

Limits

Everything is free while we learn what people use. Rate-limit headers are on every response.

TierAuthPer dayBurstGets
Anonymousnone300 requests5 per secondevery read tool; search pages 1–20
Free keyAuthorization: Bearer nai_…3,000 requests20 per secondreads plus watches, submissions and exports; search pages up to 400

Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix seconds), Retry-After on 429 and 503, X-Request-Id on everything, X-Cache on catalogue reads. Search pages hold at most 25 results.

Errors

Failures are RFC 9457 problem documents (application/problem+json). The type URL of each one points at its row below.

KindStatusMeaningWhat to do
invalid_input400A parameter failed validation. The detail names the field.Check the input schema in the tool list or openapi.json.
unauthorized401The call needs an API key, or the key is unknown or revoked.Create a key under Profile → API Keys and send it as a Bearer token.
forbidden403The key is valid but not allowed to do this.Use a different key, or read the limits table.
not_found404No tool, article or watch with that identifier.Search first; slugs are lower-case with hyphens.
conflict409The resource already exists, for example a duplicate watch.List watches and reuse the existing one.
rate_limited429Too many requests in a short window.Wait for the seconds in Retry-After, then retry.
quota_exceeded429The daily quota is used up.Wait for the reset in X-RateLimit-Reset, or use a free key for a higher quota.
upstream_unavailable503The catalogue did not answer in time. Cached answers are served when one exists.Retry after the seconds in Retry-After.
not_configured501The feature is not enabled on this deployment, for example email delivery.Use the alternative named in the detail, such as a webhook.
{
  "type": "https://needanai.com/developers#errors-rate_limited",
  "title": "Too many requests",
  "status": 429,
  "detail": "Anonymous clients may make 5 requests per second.",
  "kind": "rate_limited",
  "requestId": "…"
}

In the browser

WebMCP

On Chrome builds that expose a model context, every page of this site registers search_tools, get_tool, compare_tools and open_tool_page for the browser’s own agent, so it can act on the site rather than scrape it.

Built-in AI on tool pages

When Chrome’s on-device models are present, a tool page offers a summary, questions and answers, and translation computed on your machine. Nothing leaves the browser, and other browsers see the page unchanged.

FAQ

Is it really free?

Yes. Reads need no account and no key. A free key unlocks watches, submissions and exports with a higher daily quota. If commercial tiers ever exist they will be announced on this page first, and the anonymous tier stays.

Where does the data come from?

The same catalogue as the website: 15,000+ tools discovered by our crawlers, summarised with AI assistance, and re-checked by an automated scanner. Every answer carries the date a site was last confirmed alive. See the methodology page for the details.

How fresh is an answer?

Search results are cached for 15 minutes and tool profiles for 6 hours, and every tool carries a freshness label with its own date. When the catalogue is slow the gateway serves the last good answer rather than failing; the X-Cache header says whether an answer came from cache.

Do you log my prompts?

The gateway never sees your prompt, only the tool call your AI makes. We record which tools are called, how long they take and a salted hash of the client, to know what people use. No query text is stored.

Can I get the whole catalogue?

Use export_tools with a free key: up to 2,000 rows per export as JSON or CSV. For more, run several filtered exports by category.

Something is wrong. Where do I report it?

Every error carries an X-Request-Id. Send it, with the request you made, through the contact details on the About page, and we can find the exact log line.

Files for agents

Hosts that only speak stdio run npx @needanai/mcp (see Connect), our published shim. The server is named com.needanai/catalog in the MCP Registry. Source and issues live with the site’s repository; see the About page for contact.