{
  "name": "BrewMark agent and automated-client policy",
  "version": "2026-10-29",
  "url": "https://brewmark.io/protocol/agents",
  "allowed": [
    "Answer a person’s question about their own grinder or recipe with a call to the API or MCP server, and cite BrewMark with a link to the grinder’s page.",
    "Link to and quote grinder pages and settings for a specific person’s request.",
    "Read /llms.txt, /protocol and the public spec at github.com/jeffreygluck/brewmark-protocol.",
    "Crawl the site’s pages as robots.txt allows."
  ],
  "notAllowed": [
    "Copying the grinder catalogue or settings in bulk through the API or MCP server, or by repeated calls.",
    "Building datasets, training or fine-tuning models, or evaluating models with data from the API, the MCP server or published profiles.",
    "Reselling or redistributing the data, or serving it from your own API or site without a written agreement.",
    "Hiding who you are: rotating addresses, user agents or keys to get around limits."
  ],
  "identify": [
    "Send a User-Agent naming your product, its version and a contact URL, for example \"AcmeAssistant/2.1 (+https://acme.example/bot)\".",
    "Send a From header with an email address for the person responsible, for example \"From: bots@acme.example\".",
    "Clients that identify themselves are contacted before they are ever blocked. Anonymous clients that break the rules are blocked without notice."
  ],
  "attribution": "Grind data: BrewMark (https://brewmark.io), with a link to the grinder’s page where you can.",
  "access": {
    "anonymous": "Lookups need no key, at a low rate limit.",
    "keys": "Higher limits need a key. Request access at https://brewmark.io/protocol/keys; a person reviews each request.",
    "api": "https://brewmark.io/api/v1/openapi.json",
    "mcp": "https://brewmark.io/api/mcp"
  },
  "tdm": {
    "reservation": 1,
    "policy": "https://brewmark.io/protocol/agents"
  },
  "contact": "hello@brewmark.io"
}
