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.
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.
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
GET /api/ai-tools/requirements: fields, limits, the category, surface and host vocabularies.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.txtand/.well-known/api-catalogon the domain. The surfaces those documents prove go on the listing.POST /api/ai-tools/submit: one listing per site. The answer carries the page, aclaimTokenand the badge HTML. The maker's email is required; an agent asks the human for it.- The badge goes on the homepage or in the footer, in server-rendered HTML, after the maker approves the exact snippet.
POST /api/ai-tools/{slug}/verifywithAuthorization: Bearer <claimToken>: we read the homepage now and answerbadge.found,badge.followed,badge.rel, ahintwhen it is missing, the agent surfaces the domain proves, andnext.- 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:
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
| What | Where |
|---|---|
| Every live listing, JSON | GET /api/ai-tools |
| One listing | GET /api/ai-tools/{slug} |
| One line per tool, for an assistant | /ai-tools/llms.txt |
| The directory's own numbers, dated | GET /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.
