---
url: https://findutils.com/blog/findutils-is-now-ai-agent-ready-link-headers-mcp-webmcp
title: "FindUtils Is Now One of the Most Agent-Ready Websites on the Internet"
description: "Link headers, MCP Server Card, Agent Skills index, WebMCP, Markdown for Agents, Content Signals — every agent-discovery protocol that matters, shipped today."
category: developer
content_type: blog
locale: en
read_time: 8
status: published
author: "codewitholgun"
published_at: 2026-04-17T17:30:00Z
excerpt: "We just shipped nine agent-readiness features to findutils.com in one sitting: RFC 8288 Link headers, RFC 9727 API catalog, MCP Server Card, Agent Skills index, WebMCP, Content Signals, and Markdown for Agents content negotiation."
tag_ids: ["ai-agents", "mcp", "geo", "developer-tools", "ai-seo", "webmcp"]
tags: ["AI Agents", "MCP", "GEO", "Developer Tools", "AI SEO", "WebMCP"]
primary_keyword: "agent ready website"
secondary_keywords: ["mcp server card", "webmcp", "markdown for agents", "rfc 9727 api catalog", "content signals robots.txt", "ai agent discovery"]
tool_tag: "ai-agent-starter-guide"
related_tool: "ai-agent-starter-guide"
related_tools: ["ai-agent-starter-guide", "ai-model-picker", "llm-requirements-calculator", "claude-code-usage-analyzer", "robots-txt-generator"]
updated_at: 2026-04-17T17:30:00Z
---

## 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](/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:

```http
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:

```bash
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.

```bash
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:

```json
{
  "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 endpoints
- `call-mcp-server` — how to initialize and call the MCP server
- `browse-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 keyword
- `openTool` — navigate to a tool by slug
- `callToolApi` — 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:

```bash
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
---

# 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 overview
- `https://findutils.com/llms-full.txt` — 333+ tools with FAQs and usage
- `https://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`:

```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

```python
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](/ai-agent-starter-guide) has working examples for six different agent frameworks.

## Tools mentioned in this post

- **[AI Agent Starter Guide](/ai-agent-starter-guide)** — Interactive playground for Claude Code, Copilot, Cursor, Gemini, Codex, Windsurf
- **[AI Model Picker](/developers/ai-model-picker)** — Compare models by context, price, and capabilities
- **[LLM Requirements Calculator](/developers/llm-requirements-calculator)** — RAM, VRAM, and hardware needs for local LLMs
- **[Claude Code Usage Analyzer](/developers/claude-code-usage-analyzer)** — Parse and visualize your Claude Code session usage
- **[Robots.txt Generator](/seo/robots-txt-generator)** — Build a robots.txt (with Content Signals) in seconds
- FindUtils **[Tool API](/api)** — 50 utilities over REST, free, no auth
- FindUtils **[MCP Server](/mcp)** — 54 tools over JSON-RPC for Claude, Cursor, Zed

## FAQ

**Q: 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.

**Q: 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.

**Q: 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.

**Q: 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.

**Q: 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.

**Q: 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.

**Q: 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.

**Q: 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.
