← The evidence ledger
Evidence row 23576
Observed , by baseline/1.
- Kind
- listing
- About
- source_record mcp_registry:dev.workers.pathwren.www/crawler-log-triage
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 827be5ae658dc85ec76b00eb382db731e1a5a9273db89d0118e1f3461677733a
- Leaf
- 0x1a08407ed38fc93bb6bd70055b6d61efc27a605c98aff6f92384e08cdc74e7c3
What was observed
{
"endpoints": [
[
"mcp",
"https://www.pathwren.workers.dev/c/mcp-registry-official/mcp/triage"
],
[
"web",
"https://www.pathwren.workers.dev/c/mcp-registry-official/mcp-triage.html"
]
],
"name": "Crawler Log Triage",
"owner_address": null,
"raw": {
"_meta": {
"io.modelcontextprotocol.registry/official": {
"isLatest": true,
"publishedAt": "2026-09-13T00:56:06.40031Z",
"status": "active",
"statusChangedAt": "2026-09-13T00:56:06.40031Z",
"updatedAt": "2026-09-13T00:56:06.40031Z"
}
},
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"auth": "none",
"authentication": "none — no key, no account, no OAuth, no rate limit",
"dataLicense": "CC0-1.0",
"docs": "https://www.pathwren.workers.dev/c/mcp-registry-official/mcp.html",
"example": {
"curl": "curl -s -X POST https://www.pathwren.workers.dev/c/mcp-registry-official/mcp/triage -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"whoami\",\"arguments\":{}}}'",
"endpoint": "https://www.pathwren.workers.dev/c/mcp-registry-official/mcp/triage",
"note": "whoami takes no arguments at all and answers about the request you just sent - user-agent, address, what our classifier makes of it. Every tool here accepts {} and answers with its own documented worked example — nothing of yours is read, nothing is fetched from a third party. Send the request below verbatim.",
"request": {
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "whoami"
}
},
"transport": "streamable-http",
"verified_live_at": "2026-09-02T08:49:08Z"
},
"keywords": [
"access log",
"log analysis",
"nginx log",
"apache log",
"bot traffic",
"fake googlebot",
"waf rules",
"robots.txt generator",
"who is crawling me",
"markdown",
"markdown docs",
"free",
"no api key",
"no auth"
],
"markdown": {
"canonical": "the HTML page; each mirror carries Link: rel=\"canonical\" back to it",
"example": "curl -s https://www.pathwren.workers.dev/c/mcp-registry-official/mcp-triage.md",
"index": "https://www.pathwren.workers.dev/c/mcp-registry-official/sitemap.md",
"note": "Everything this server answers from is also readable without JSON-RPC and without an MCP client: every page of the host is a plain markdown file at the same address with .md — also .mdx, <page>.html.md, <page>.html.mdx, or send Accept: text/markdown to the .html page. No key, no JavaScript, CC0. The registry caps `description` at 100 characters, which is why this sentence lives here."
},
"pricing": "free",
"publisher": "Pathwren — an independent, non-commercial automated project",
"tools": [
{
"name": "whoami",
"search": "who is calling: user-agent, address, our verdict - no arguments"
},
{
"name": "triage_log",
"search": "paste an access log and see which bots hit you"
},
{
"name": "find_impersonators",
"search": "find the lines faking Googlebot or GPTBot"
},
{
"name": "summarize_by_operator",
"search": "roll a log up by operator: who crawled you, how much"
},
{
"name": "robots_from_log",
"search": "generate a robots.txt for the bots actually in your log"
},
{
"name": "waf_ruleset_from_log",
"search": "generate nginx, Caddy, Cloudflare, HAProxy or Apache rules"
},
{
"name": "example",
"search": "run the worked example — no arguments"
}
]
}
},
"description": "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"whoami\",\"arguments\":{}}} free no key",
"icons": [
{
"mimeType": "image/png",
"sizes": [
"256x256"
],
"src": "https://www.pathwren.workers.dev/c/mcp-registry-official/icon.png"
}
],
"name": "dev.workers.pathwren.www/crawler-log-triage",
"remotes": [
{
"type": "streamable-http",
"url": "https://www.pathwren.workers.dev/c/mcp-registry-official/mcp/triage"
}
],
"title": "Crawler Log Triage",
"version": "1.7.0",
"websiteUrl": "https://www.pathwren.workers.dev/c/mcp-registry-official/mcp-triage.html"
}
},
"source": "mcp_registry",
"summary": "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"whoami\",\"arguments\":{}}} free no key"
}What the leaf hashes
{"body":"827be5ae658dc85ec76b00eb382db731e1a5a9273db89d0118e1f3461677733a","id":23576,"kind":"listing","method":"baseline/1","observed_us":1793025351225188,"prev":null,"subject":"mcp_registry:dev.workers.pathwren.www/crawler-log-triage","subject_kind":"source_record"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.