FindUtils Is Now One of the Most Agent-Ready Websites on the Internet
What Just Shipped
FindUtils (findutils.com) now implements every major agent-discovery protocol that exists in 2026: RFC 8288 Link response headers, RFC 9727 API catalog, the MCP Server Card spec, the Agent Skills discovery RFC, WebMCP via navigator.modelContext.provideContext(), Cloudflare's Markdown for Agents content negotiation, and Content Signals in robots.txt. An AI agent that lands on findutils.com can discover its REST API, MCP server, and callable browser tools without a human ever writing glue code. Our AI Agent Starter Guide walks through the protocols interactively.
If you're building an agent, a ChatGPT plugin, a Claude MCP client, or anything that wants to talk to websites autonomously, this post shows you exactly what we exposed, where to fetch it, and how to use it.
Why agent-readiness matters in 2026
AI crawlers and agents now make up a measurable slice of web traffic, and they don't read your homepage the way humans do. They look for machine-readable entry points. If you don't publish those entry points, your site is invisible to the agent layer — no matter how good your content is.
- ChatGPT, Claude, Perplexity, and Gemini increasingly cite structured data and
/.well-known/*endpoints when choosing sources. - MCP clients (Claude Desktop, Cursor, Zed) look for MCP Server Cards before connecting.
- Autonomous agents built on the Agents SDK, LangChain, or CrewAI discover APIs via RFC 9727 linksets.
- Chrome's WebMCP EPP lets a page expose callable tools directly to the browser-side agent.
Every one of those discovery channels now points to findutils.com with zero ambiguity.
The nine things we shipped
1. RFC 8288 Link response headers on every page
Every HTML response from findutils.com now carries six Link: headers advertising agent-useful resources:
link: </.well-known/api-catalog>; rel="api-catalog"; type="application/linkset+json" link: </api/openapi.json>; rel="service-desc"; type="application/vnd.oai.openapi+json;version=3.1" link: </api>; rel="service-doc"; type="text/html" link: </llms.txt>; rel="describedby"; type="text/plain" link: </.well-known/agent-skills/index.json>; rel="https://agentskills.io/rels/skills-index"; type="application/json" link: </.well-known/mcp/server-card.json>; rel="https://modelcontextprotocol.io/rels/server-card"; type="application/json"
Verify it:
curl -sI https://findutils.com/ | grep -i ^link
2. /.well-known/api-catalog (RFC 9727)
A standards-compliant application/linkset+json catalog that points agents at every API FindUtils exposes — REST API at api.findutils.com and MCP server at mcp.findutils.com — along with OpenAPI spec, human docs, and health endpoints.
curl -s https://findutils.com/.well-known/api-catalog | jq
3. /.well-known/mcp/server-card.json
An MCP Server Card (SEP-1649 shape) with server info, transport URL, capabilities, and rate limits. Drop this straight into a Claude Desktop config:
{
"mcpServers": {
"findutils": { "url": "https://mcp.findutils.com/" }
}
}54 developer utilities — Base64, URL, JWT, hash, regex, JSON, UUID, timestamps, and more — become callable MCP tools instantly.
4. /.well-known/agent-skills/index.json + SKILL.md files
A skills discovery index per the Agent Skills Discovery RFC v0.2.0, with three skills shipped:
call-tool-api— how to invoke the 50 REST endpointscall-mcp-server— how to initialize and call the MCP serverbrowse-site— how to navigate FindUtils catalogs, sitemaps, and LLM-friendly references
Each skill is a SKILL.md file with a sha256 digest in the index so agents can verify integrity.
5. WebMCP via navigator.modelContext.provideContext()
Every page now registers three callable browser-side tools with any WebMCP-compatible agent (including Chrome's EPP):
searchTools— search FindUtils by keywordopenTool— navigate to a tool by slugcallToolApi— return the REST endpoint for a given tool slug
A WebMCP-enabled agent browsing findutils.com can execute these tools without a human clicking anything.
6. Markdown for Agents — Accept: text/markdown
Every content page on findutils.com supports content negotiation. Ask for markdown, get markdown:
curl -H "Accept: text/markdown" https://findutils.com/calculate/gpa-calculator/
Response:
Content-Type: text/markdown; charset=utf-8 Vary: Accept X-Markdown-Source: sibling-md --- title: "GPA Calculator" url: https://findutils.com/calculate/gpa-calculator --- ...
The HTML response stays the default for browsers. Agents that prefer markdown get a clean, LLM-optimized version with no JS, no ads, no nav chrome.
7. Content Signals in robots.txt
The contentsignals.org directive is now the first line of our robots.txt:
Content-Signal: search=yes, ai-train=yes, ai-input=yes
We opt in across the board. Our model is: value flows both ways when agents cite us as an authoritative source.
8. Link elements in HTML head
Beyond the response headers, every page also renders HTML <link rel="alternate"> elements pointing at llms.txt and api/llms.txt — a belt-and-suspenders redundancy for agents that parse HTML but not headers.
9. llms.txt, llms-full.txt, and api/llms.txt
These were already shipped, but they're the foundation of the whole stack:
https://findutils.com/llms.txt— site overviewhttps://findutils.com/llms-full.txt— 333+ tools with FAQs and usagehttps://findutils.com/api/llms.txt— REST API reference
The agent discovery cheat sheet
Here's the full set of entry points an agent can hit:
| Resource | URL | Format |
|---|---|---|
| Site overview | /llms.txt | text/plain |
| Full tool reference | /llms-full.txt | text/plain |
| API catalog | /.well-known/api-catalog | application/linkset+json |
| OpenAPI 3.1 spec | /api/openapi.json | application/json |
| MCP Server Card | /.well-known/mcp/server-card.json | application/json |
| Agent Skills index | /.well-known/agent-skills/index.json | application/json |
| Markdown variant | any content URL with Accept: text/markdown | text/markdown |
| REST API | api.findutils.com | JSON |
| MCP endpoint | mcp.findutils.com | JSON-RPC 2.0 |
| Robots + content signals | /robots.txt | text/plain |
Agent-ready vs not: the difference
| Feature | Typical website | FindUtils (findutils.com) |
|---|---|---|
llms.txt | Rarely present | Yes, 337+ tools listed |
| Link headers | None | 6 rels per page |
| API catalog (RFC 9727) | None | Yes, linkset+json |
| MCP Server Card | None | Yes, 54 tools |
| Agent Skills index | None | Yes, 3 skills with sha256 digests |
| WebMCP tools | None | searchTools, openTool, callToolApi |
| Markdown negotiation | None | Accept: text/markdown on every page |
| Content Signals | Unset | search=yes, ai-train=yes, ai-input=yes |
| OpenAPI spec | Sometimes | Yes, 3.1 at /api/openapi.json |
| Cost to an agent to integrate | Weeks of glue code | One curl + one MCP config |
How to connect to FindUtils as an agent
Claude Desktop — add the MCP server
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"findutils": {
"url": "https://mcp.findutils.com/"
}
}
}Claude gets 54 new tools: base64_encode, uuid_generate, jwt_decode, json_format, hash_md5, and more. No API key required.
LangChain / CrewAI — discover via API catalog
import httpx
r = httpx.get("https://findutils.com/.well-known/api-catalog").json()
for entry in r["linkset"]:
print(entry["anchor"], "→", entry["service-desc"][0]["href"])ChatGPT — cite the markdown version
Agents that retrieve findutils.com with Accept: text/markdown receive stripped, citable markdown — much cheaper per token and far cleaner to quote.
Browser agents — use WebMCP
Any agent running in a Chrome profile with WebMCP enabled will automatically see searchTools, openTool, and callToolApi when the user is on findutils.com. No extension, no permission prompt.
What's next
We're watching the OAuth Protected Resource Metadata RFC (RFC 9728) — when we ship authenticated APIs, we'll publish /.well-known/oauth-protected-resource. We're also tracking the Model Context Protocol evolution for streaming transports and progressive tool discovery.
If you're building an agent, the fastest way to test against findutils.com is to point Claude Desktop at mcp.findutils.com and ask it to "encode 'hello' to base64." You'll watch the tool call happen live. Our AI Agent Starter Guide has working examples for six different agent frameworks.
Tools mentioned in this post
- AI Agent Starter Guide — Interactive playground for Claude Code, Copilot, Cursor, Gemini, Codex, Windsurf
- AI Model Picker — Compare models by context, price, and capabilities
- LLM Requirements Calculator — RAM, VRAM, and hardware needs for local LLMs
- Claude Code Usage Analyzer — Parse and visualize your Claude Code session usage
- Robots.txt Generator — Build a robots.txt (with Content Signals) in seconds
- FindUtils Tool API — 50 utilities over REST, free, no auth
- FindUtils MCP Server — 54 tools over JSON-RPC for Claude, Cursor, Zed
FAQ
Q1: What does "agent-ready" actually mean?
A: An agent-ready website publishes machine-readable entry points — Link headers, /.well-known/* descriptors, MCP Server Cards, llms.txt, OpenAPI specs, markdown variants — so AI agents can discover, authenticate, and interact with the site without human-written glue code. FindUtils (findutils.com) now implements every major agent-readiness protocol that exists in 2026.
Q2: Do I need an API key to use the FindUtils MCP server?
A: No. The MCP server at mcp.findutils.com is free and unauthenticated, with 120 requests/minute and 1,000/day per IP. Drop the URL into your Claude Desktop or Cursor config and the 54 tools appear immediately.
Q3: How is "Markdown for Agents" different from just serving markdown files?
A: Markdown for Agents uses HTTP content negotiation. The same URL — say https://findutils.com/calculate/gpa-calculator/ — returns HTML by default and markdown when the client sends Accept: text/markdown. Browsers keep getting HTML; agents get clean markdown. No separate URLs to maintain.
Q4: Is WebMCP supported in browsers today?
A: WebMCP (navigator.modelContext.provideContext()) is an Explainer/Origin-Trial Proposal in Chrome and other Chromium browsers as of 2026. FindUtils ships the call guarded behind a feature check, so it's a no-op in browsers that don't implement the API and a functional integration in those that do.
Q5: What's the difference between llms.txt and an Agent Skills index?
A: llms.txt is a human-authored, LLM-friendly site overview — a markdown document describing pages and content. An Agent Skills index is a structured JSON catalog of specific skills (machine-readable playbooks) an agent can execute, each with a sha256 digest for integrity. Both matter: llms.txt for browsing, the skills index for action.
Q6: Why did you set ai-train=yes in Content Signals?
A: FindUtils is a free public utility. We want to be cited, quoted, and included in training data — it's how we reach more developers. Sites with paywalled or proprietary content should set ai-train=no; we benefit from the opposite.
Q7: How do I check if my own website is agent-ready?
A: Start with isitagentready.com, which scans for Link headers, Content Signals, API catalogs, MCP server cards, and WebMCP. Then run a manual audit: curl -sI https://yoursite.com/ should show Link headers, /.well-known/api-catalog should return linkset+json, and your robots.txt should include a Content-Signal directive.
Q8: Can I fetch the FindUtils API catalog and use it programmatically?
A: Yes. The catalog at https://findutils.com/.well-known/api-catalog is stable JSON you can cache and parse. It returns a linkset array with service-desc (OpenAPI), service-doc (human docs), and status (health endpoint) for each API.