74/ 100
firesite.online B
This site registers real WebMCP tools at runtime. Overall readiness is good, with room to improve.
Scanned 1 week ago with Chrome 155, real execution with a modelContext interceptor and synthetic interaction.
Scan another site PASS Page loads over HTTPS 8/8 pts
The page answered with HTTP 200 over HTTPS.
PASS AI agents allowed in robots.txt 6/6 pts
No major AI crawler is blocked in robots.txt.
TIP AI crawlers named explicitly in robots.txt recommendation, no points
robots.txt names no AI crawler. It does not block them, but it does not declare them explicitly either.
How to fix: Add a User-agent line for GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Google-Extended and the other AI crawlers directly under "User-agent: *". The rules stay the same: a crawler without its own group already followed the general group, but some testing tools look for the explicit names. Do not create separate groups that only contain "Allow: /", because they would drop the general group restrictions for those crawlers.
PASS llms.txt present 4/4 pts
Found llms.txt (2,623 bytes).
PASS Not blocked by noindex 4/4 pts
No noindex directive found.
PASS WebMCP tools detected at runtime 14/14 pts
6 tool(s) registered through modelContext.registerTool() while the page ran in our Chrome.
PART Tool schema quality 10/14 pts
Average schema quality 4.2/6 across 6 tool(s). Weakest: listar_paginas (4/6), ler_pagina (4/6), dados_de_contato (3/6), abrir_pagina (4/6).
How to fix: Give every tool a clear description, a JSON Schema with typed and described parameters, constraints (enum, minLength, pattern, format), additionalProperties: false, and readOnlyHint annotations where they apply.
PASS Declarative form field quality 3/3 pts
No declarative forms; imperative tool parameters are evaluated under schema quality.
FAIL Tool names made of a verb and an object 0/3 pts
0 of 6 names follow the verb and object form. To rename: listar_paginas, ler_pagina, dados_de_contato, abrir_pagina, info_site.
How to fix: Name each tool after the action it performs: a verb followed by its object, for example search_products, get_order_status or submit_contact_form. A vague name (data, form1, search) forces the agent to read the description to guess what the tool does.
PASS Origin Trial token 12/12 pts
Valid WebMCP token for firesite.online, expires 30 Mar 2027.
FAIL Discovery manifest at /.well-known/webmcp 0/6 pts
No valid JSON at /.well-known/webmcp (status 404).
How to fix: Publish a JSON file at /.well-known/webmcp describing your tools. It is not part of the official spec, but it lets crawlers and static tools discover what your site offers.
FAIL Manifest describes tools 0/3 pts
The manifest does not describe any tools.
How to fix: Add a "tools" array with name, description and inputSchema for each tool.
FAIL Manifest served as application/json 0/3 pts
No manifest to evaluate.
How to fix: Serve the manifest with the Content-Type: application/json header.
PASS Tools on more than the entry page 6/6 pts
All 5 checked pages expose tools.
PART The surface adapts to the page 7/14 pts
2 distinct tool sets across 5 pages. The surface shifts a little, but most pages expose the same list.
How to fix: Add tools tied to the page the agent is on: the details of that product or service, that page form, search within the current section. The same tools everywhere is a header, not a capability.
Tools registered by this page
| Name | Description | Parameters | Read-only |
|---|---|---|---|
listar_paginas | Lista as páginas do site (título e URL), a partir da navegação. Use antes de abrir_pagina. | 0 | yes |
ler_pagina | Retorna o texto visível da página atual (título, descrição e conteúdo principal). | 0 | yes |
dados_de_contato | Retorna os contatos publicados no site: telefone, WhatsApp, e-mail e endereço. | 0 | yes |
abrir_pagina | Navega para uma página do próprio site. Passe uma URL retornada por listar_paginas ou o ca... | 1 | no |
info_site | Quem é a empresa: nome, descrição, telefone, WhatsApp (com link pronto para mandar ao clie... | 0 | yes |
buscar_no_site | Busca páginas e publicações que contenham TODAS as palavras do termo (título, resumo, text... | 2 | yes |
Captured live from modelContext.registerTool() calls while the page ran. A static HTML scan cannot see these.
Not measurable remotely, so not scored: end-to-end tool execution by an agent, human-in-the-loop consent handling, and result quality. Test those with the Model Context Tool Inspector extension in a WebMCP-capable Chrome.
Push this score higher?
GOAI implements WebMCP end to end: imperative tools, valid schemas, the origin trial token and the discovery manifest.