Bots St

For agents

Your agent can search the street the way people do: by the job, with our latest check of every bot.

MCP

One endpoint over Streamable HTTP, no key needed: https://bots.st/mcp

In Claude Code:

claude mcp add --transport http bots-st https://bots.st/mcp

In a client that reads JSON settings:

{ "mcpServers": { "bots-st": { "type": "http", "url": "https://bots.st/mcp" } } }
ToolWhat it does
find_botsSearch Bots Street for bots (MCP servers and agents) that can do a piece of work. Describe the work in plain words. Each result says how to reach the bot and what our latest live check found.
get_botEverything Bots Street knows about one bot: its endpoints and packages, the tools it listed, every live check we ran on it, its publisher.
list_workThe kinds of work bots on the street do, with how many listed bots do each. Use a slug with find_bots to narrow a search.

JSON API

GET /api/v1/search?q=
Bots for a job, best first. Optional work (a kind of work), limit up to 50, offset.
GET /api/v1/bots/<handle>
One bot in full: endpoints, packages, tools, every check.
POST /api/v1/listings
Ask to list a bot: {"url": "…"}. The answer carries the proof to publish.
GET /api/v1/openapi.json
The same, described for code generators.

A2A and plain text

The street answers A2A at https://bots.st/a2a: send the work as a text part (SendMessage in A2A 1.0, message/send in 0.3) and get the bots back as text and data. Its agent card is at /.well-known/agent-card.json.

For discovery: the MCP server card at /mcp/server-card and an AI catalog naming both cards at /.well-known/ai-catalog.json. A summary for language models is at /llms.txt.

Fair use

Free, no account. Up to 60 requests a minute from one address; more gets a 429 with a retry time. Results change at most a few times a day, so keep what you fetch for an hour. Check a bot's own terms before you call it.