{
  "_comment": "Agent discovery descriptor for tunnelpowered.com. /.well-known/mcp.json is a convention for pointing at an MCP server, not a ratified standard — treat it as a hint and the documentation URL as authoritative. The endpoints themselves are stable.",
  "name": "tunnel-knowledge-base",
  "description": "Search verified businesses and merchants, check whether a human verified them, and open a two-way conversation with the person behind a listing. Includes merchants with no website, listed from their social presence.",
  "documentation": "https://tunnelpowered.com/docs",
  "provider": {
    "name": "Tunnel",
    "legalName": "\"STILL BETA TECH\" SRL",
    "url": "https://tunnelpowered.com",
    "contact": "contact@tunnelpowered.com"
  },
  "mcp": {
    "transport": "streamable-http",
    "endpoint": "https://api.tunnelpowered.com/api/mcp",
    "protocolVersions": ["2025-06-18", "2025-03-26", "2024-11-05"],
    "stateless": true,
    "tools": [
      { "name": "search_businesses", "auth": "none" },
      { "name": "get_business", "auth": "none" },
      { "name": "check_merchant_verification", "auth": "none" },
      { "name": "contact_business", "auth": "bearer" },
      { "name": "check_replies", "auth": "bearer" },
      { "name": "send_followup", "auth": "bearer" }
    ]
  },
  "authorization": {
    "type": "oauth2",
    "grantTypes": ["client_credentials"],
    "registrationEndpoint": "https://api.tunnelpowered.com/api/v1/agents/register",
    "tokenEndpoint": "https://api.tunnelpowered.com/api/v1/agents/token",
    "authorizationServerMetadata": "https://api.tunnelpowered.com/.well-known/oauth-authorization-server",
    "protectedResourceMetadata": "https://api.tunnelpowered.com/.well-known/oauth-protected-resource",
    "note": "Reading the knowledge base needs no credentials. Only messaging a business does."
  },
  "http": {
    "openapi": "https://api.tunnelpowered.com/openapi.json",
    "index": "https://api.tunnelpowered.com/api/kb",
    "guide": "https://api.tunnelpowered.com/api/kb/llms.txt",
    "search": "https://api.tunnelpowered.com/api/kb/search?q={query}",
    "entity": "https://api.tunnelpowered.com/api/kb/entities/{slug}",
    "website": "https://api.tunnelpowered.com/api/kb/websites/{slug}",
    "searchCaveat": "Search matches words, not meanings. A 'cofetărie' is not returned for 'bakery', and an empty result means 'not in this index', not 'not in business'."
  },
  "a2a": {
    "agentCard": "https://api.tunnelpowered.com/.well-known/agent-card.json",
    "endpoint": "https://api.tunnelpowered.com/api/a2a",
    "protocolVersion": "1.0",
    "protocolBinding": "JSONRPC",
    "method": "SendMessage",
    "note": "Agent2Agent v1.0. The only implemented method is SendMessage — 'message/send' was the v0.3 spelling. It answers synchronously with a Message, never a Task, so there is nothing to poll and GetTask is not implemented.",
    "readOnly": "The three skills are the three MCP tools that need no credentials. Messaging a business is deliberately not exposed over A2A."
  },
  "registry": {
    "name": "com.tunnelpowered/knowledge-base",
    "note": "The identifier claimed in the official MCP registry. Verify it there rather than trusting this file."
  },
  "trust": {
    "levels": {
      "human": "A Tunnel employee checked the merchant's legal identity, their control of the channels, and that the service is real. A second employee approved it. Paid plans only.",
      "automated": "Machines confirmed the merchant controls the channels this record cites — a DNS record or file on the domain, a token in a public bio, a code to the listed inbox. It establishes NOTHING about who they are or whether they deliver, and its signed payload carries a limitations array saying so. Free on every plan.",
      "null": "Neither. This is the common case."
    },
    "readThisField": "verification.level",
    "notTheSameThing": "humanReview says whether a person edited the knowledge-base entry. It is a statement about the record, not about the business, and it is not the verification status.",
    "neitherIsAnEndorsement": "No level is a statement about quality, solvency or licensing, and any of them can be withdrawn.",
    "signingKeys": "https://api.tunnelpowered.com/.well-known/tunnel-trust.json",
    "jwks": "https://api.tunnelpowered.com/.well-known/jwks.json",
    "stalenessSeconds": 300,
    "registryCaveat": "No AI vendor consults this registry today; no cross-vendor trust registry exists yet."
  },
  "context": {
    "llmsTxt": "https://tunnelpowered.com/llms.txt",
    "llmsFullTxt": "https://tunnelpowered.com/llms-full.txt",
    "llmsTxtCaveat": "Served because it is cheap and harmless, not because it is known to be read. llms.txt is a proposed convention, not an adopted standard, and no assistant vendor has publicly committed to fetching it. What tunnel actually sells is pre-rendering for non-JS crawlers, JSON-LD on the customer's own domain, and NAP consistency across their listings.",
    "methodology": "https://tunnelpowered.com/methodology",
    "sitemap": "https://tunnelpowered.com/sitemap.xml"
  }
}
