About Porch
Porch is a gateway that lets AI agents read public websites through the Model Context Protocol (MCP).
The Porch user agent
When an agent calls a tool, the gateway fetches that one page from the site, on demand. It identifies itself as:
Mozilla/5.0 (compatible; porch/0.1.0; +https://porch.tools/about)
It only makes GET requests, fetches one page per tool call, never crawls basic-tier sites, caches pages for a few minutes, and refuses private network addresses.
Opting out
To block the gateway from a site, add this to robots.txt:
User-agent: porch
Disallow: /
Pages can also opt out individually with <meta name="robots" content="noai"> or the response header X-Robots-Tag: noai.
To have a domain blocked entirely, email contact@porch.tools.
Site manifest
Site owners can declare named tools in /.well-known/mcp.json (or /mcp.json). Tools read same-site paths only; the manifest is declarative and no code is ever executed. JSON Schema: https://porch.tools/schema/manifest.v1.json.
{
"version": 1,
"name": "Yi Zhang",
"description": "Career, resume and writing of Yi Zhang, software engineer.",
"tools": [
{
"name": "get_career_timeline",
"description": "Every role Yi has held, with dates and location.",
"source": "/data/timeline.json"
},
{
"name": "get_role",
"description": "Details of one role.",
"inputSchema": {
"type": "object",
"properties": { "company": { "type": "string", "enum": ["meta", "unit21", "wise"] } },
"required": ["company"]
},
"source": "/company/{company}/"
}
],
"includeGenericTools": true
}
JSON sources can be narrowed with a filter, for example "filter": {"field": "company", "equals": "{company}"} (operators: equals, contains; from selects a nested array). The gateway also reads /llms.txt for the site summary and page list.
Verified sites
Owners can sign in, add their site, and create one DNS record, mcp.example.com CNAME <token>.edge.porch.tools. That record proves control of the domain and serves the endpoint at https://mcp.example.com. Verified sites also get keyword search, headless rendering for JavaScript-only pages, a longer cache with a purge button, and usage analytics. It's free.