webmcp-tool

Agent Readiness Check

tattoo-in-meiner-naehe.de

Checked 2026-09-08 06:42 UTC

96 / 100
grade A

This site is agent-ready

An agent can reach, read and operate this site. What is left is depth: tools it can call, protocols other systems can discover.

Fitness63.5 / 65Does the site work for agents today?
Adoption30 / 32Which agent protocols are in place?
Agent Access20 / 20Can an agent reach the page at all?
Machine Readability20 / 20Can it understand what is on the page?
Actionability23.5 / 25Can it finish the job?
Integration15 / 15Can another system find and call your capabilities?
Identity & Commerce5 / 7Can an agent prove who it is, and pay you?
WebMCP Implementation10 / 10Are there tools an agent can call in the page?

Three fixes worth doing first

Ordered by the points still on the table. Each one comes from a documented check and, where it exists, with the code that fixes it.

01Agent-facing authentication

+2 pts

One auth document exists; the picture is incomplete.

How to fix it Publish OAuth discovery metadata, or an auth.md describing how machine clients obtain access.

RFC 8414 — OAuth authorization server metadataRFC 9728 — OAuth protected resource metadata

02Errors an agent can read

+1.5 pts

Some validation semantics are present, but not consistently.

How to fix it Set aria-invalid on the failing field, link the message with aria-describedby, and keep the text next to the field rather than only in a toast.

Your first WebMCP tool, matched to this page

The crawl found a a search box on this site, so the example below registers that as a tool an agent can call. Paste it, point it at your own endpoint, and the page stops being guessed at and starts being called.

registerTool

// Register the first tool an agent can call on this page.
// Works today with the polyfill: npm install @mcp-b/global
await document.modelContext.registerTool({
  name: "search_site",
  description: "Search this site by free text. Returns titles, one-line summaries and links.",
  inputSchema: {
    type: "object",
    properties: { query: { type: "string", description: "Free-text search term" } },
    required: ["query"],
  },
  annotations: { readOnlyHint: true },
  execute: async ({ query }, { signal }) => {
    const res = await fetch(`/search?q=${encodeURIComponent(query)}&format=json`, { signal });
    return { content: [{ type: "text", text: JSON.stringify(await res.json()) }] };
  },
});

.well-known/webmcp

{
  "name": "tattoo-in-meiner-naehe.de",
  "description": "Return a short summary of this site and links to its main sections.",
  "tools": [
    {
      "name": "search_site",
      "description": "Search this site by free text. Returns titles, one-line summaries and links."
    }
  ],
  "pages": [
    "https://tattoo-in-meiner-naehe.de/"
  ]
}

The manifest at /.well-known/webmcp is the convention ChatGPT Desktop reads to list site tools. It is not part of the score yet; the registered tool above is.

llms.txt

# Tattoostudio in meiner Nähe

> Bundesweites Tattoostudio-Verzeichnis: Tattoostudios zu jeder Postleitzahl — live aus öffentlichen Daten.

## Main pages
- [Start](https://tattoo-in-meiner-naehe.de/)
- [About](https://tattoo-in-meiner-naehe.de/about)
- [Contact](https://tattoo-in-meiner-naehe.de/contact)

Built from this page's own title and description. Replace the three links with your canonical pages.

Share this result

This address is public and stays current. The preview card carries the score.

Share on XShare on LinkedIn

Put the live badge on the site

The image is served from here and re-scores on its own. Every embed links back to this page.

Agent Readiness Score for tattoo-in-meiner-naehe.de: grade A, 96 out of 100 — measured by webmcp-tool.com
<a href="https://webmcp-tool.com/check/tattoo-in-meiner-naehe.de" target="_blank" rel="noopener">
  <img src="https://webmcp-tool.com/badge/tattoo-in-meiner-naehe.de.svg"
       alt="Agent Readiness Score for tattoo-in-meiner-naehe.de: grade A, 96 out of 100 — measured by webmcp-tool.com"
       width="208" height="40" loading="lazy" decoding="async">
</a>

Agent Readiness Check

The full report, plus a re-check in 30 days

Every check with the evidence it was judged on and the code that fixes it, sent as a link that always re-scans. In 30 days we scan again and tell you what moved.

  • All checks, pass by pass, with the exact header, count or path behind each verdict
  • Copy-paste fixes generated from your own markup
  • A re-check in 30 days with the difference, confirmed by you with one click

One email with the report, one re-check after you confirm it, and nothing else unless you ask. No account. Five reports per company per day. What we do with the address.

Agent Tracking

You know whether agents can read this site. Want to know what they do with it?

One line of script records which assistants send visitors, which pages they fetch, which WebMCP tools they call and whether they finish. No cookies, no personal data, hosted in Germany. The check score shows up in the dashboard and is re-scanned monthly.

<script defer data-domain="tattoo-in-meiner-naehe.de" src="https://agenttracking.co/agent.js"></script>

Open the dashboardHow it works

Compare with another site

A competitor, a client, the site you are about to ship. Two checks side by side, on one shareable address.

Open the full reportSee the best-scoring sites

Reports re-scan at most once an hour. Change something and open this address again.


Check another site

One request, about 20 seconds. No sign-up, no email. The result gets a shareable address.