ShapelessAI← Back
Interfaces

Shapeless Directory

List an AI marketing tool with your agent: draft from the URL, submit, place the badge, verify, read the stats. REST and a keyless MCP endpoint, no account.

Verified
View as Markdown

The Shapeless Directory at shapelessai.com/ai-tools lists AI marketing tools with one column no other directory has: whether the tool publishes an MCP server, an API or a CLI, checked against the tool's own domain. Listing is free and earns a plain, followed link from the listing page while the badge is on the maker's homepage, and an agent can do the whole thing: draft the listing from the URL, submit it, place the badge on the maker's site and verify it, with no Shapeless account.

For a maker, the short version: paste this into Claude Code, Codex, Cursor or any agent that can edit your site.

List https://your-tool.com on the Shapeless Directory (shapelessai.com/ai-tools): read https://shapelessai.com/ai-tools/agents.md and follow it.

For an agent, the procedure itself is /ai-tools/agents.md: actions in order, exact request shapes, and the two things only the human may supply.

The loop

  1. GET /api/ai-tools/requirements: fields, limits, the category, surface and host vocabularies.
  2. POST /api/ai-tools/preview {homepage}: we read the site and draft name, tagline and description, and probe /.well-known/mcp/server-card.json, /openapi.json, /llms.txt and /.well-known/api-catalog on the domain. The surfaces those documents prove go on the listing.
  3. POST /api/ai-tools/submit: one listing per site. The answer carries the page, a claimToken and the badge HTML. The maker's email is required; an agent asks the human for it.
  4. The badge goes on the homepage or in the footer, in server-rendered HTML, after the maker approves the exact snippet.
  5. POST /api/ai-tools/{slug}/verify with Authorization: Bearer <claimToken>: we read the homepage now and answer badge.found, badge.followed, badge.rel, a hint when it is missing, the agent surfaces the domain proves, and next.
  6. A person reads every listing before it goes live, usually within a few days, and emails the maker. From then on GET /api/ai-tools/{slug}/stats (same bearer) answers views, clicks to the maker's site and agent reads per day.

Over MCP, no key

The same actions are tools on a keyless MCP endpoint, apart from the account server:

https://shapelessai.com/mcp/ai-tools

Streamable HTTP, stateless, no auth. Tools: directory_requirements, directory_preview, directory_submit, directory_verify, directory_stats, and directory_search for any agent choosing a tool for its user. The claim token is an argument, so the host shows it and the human can be asked for it. The server card is at /mcp/ai-tools/server-card.json; the shapeless mcp stdio server from the npm package serves the same six tools without a key.

Verified and Agent-ready

Two marks on a listing carry our judgement, and both are checked, never claimed:

  • Verified: the badge anchor is in the served HTML of the maker's homepage. A nightly read keeps it; a badge gone for 14 days demotes the listing (the mark goes, the link to the maker turns nofollow), it never removes it.
  • Agent-ready: a document on the maker's own domain answered for the surface: the MCP server card for MCP, an OpenAPI document or an RFC 9727 api-catalog for API. A listing can say "MCP" because the maker typed it; the mark says we fetched the proof.

The badge snippet carries no nofollow. A maker who adds rel="nofollow" keeps the listing and every benefit except the plain link back from their page. Submitting accepts the directory terms: public facts and an email, no account; the service terms' licence over agent inputs and outputs does not apply to a listing.

Reading the directory

WhatWhere
Every live listing, JSONGET /api/ai-tools
One listingGET /api/ai-tools/{slug}
One line per tool, for an assistant/ai-tools/llms.txt
The directory's own numbers, datedGET /api/ai-tools/stats
The procedure for agents/ai-tools/agents.md

Every read of the JSON or llms.txt counts as an "agent read" on the rows it returned; that is the number a maker's stats call agent reads, and no other directory reports it.

Limits

3 accepted listings and 30 attempts per address per hour on submit; 20 previews or verifies per address per hour; one verify a minute per listing; 300 MCP calls per address per hour. Tools that sell social media scheduling, what ShapelessAI sells, are listed like every other tool and marked as competitors on their page.