{
 "id": "18.6",
 "title": "API and MCP for agencies",
 "department": "Integrations and ecosystem",
 "department_slug": "integrations-and-ecosystem",
 "direction": null,
 "branded": false,
 "status": "needs-you",
 "owner": "Param",
 "last_verified": "Mon Oct 26",
 "holds": "How an agency or AI tool could plug in",
 "urls": {
  "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/api-and-mcp-for-agencies",
  "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/api-and-mcp-for-agencies.md",
  "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/api-and-mcp-for-agencies.json"
 },
 "other_directions": [],
 "tldr": {
  "headline": "No public API or MCP yet; agencies use Brand Book files",
  "points": [
   {
    "icon": "book",
    "text": "Today: Brand Book as md, json, llms.txt and a kit zip for any AI tool."
   },
   {
    "icon": "warn",
    "text": "No API keys, no MCP server and no one login for many brands exist."
   },
   {
    "icon": "people",
    "text": "Proposal: build the agency login first, since briefs already go to agencies."
   },
   {
    "icon": "lock",
    "text": "Any future key sees one brand, read only, with nothing sent or posted without a yes."
   },
   {
    "icon": "rocket",
    "text": "Proposal: a read only MCP server in v2, one brand per token."
   }
  ],
  "stat": null,
  "decide": "Do we build an agency login before any API?",
  "mood": "waiting"
 },
 "sources": [
  "brew origin/main: brand-kit.js:1-12, 89-101; brand-book-routes.js:93; team-brief.js:18-22; connectors/google.js:104-108; connectors/meta.js:90, 130; SCOPE.md:20, 24",
  "brand-directions/docs2/content/pages.mjs:23-26, 161, 281",
  "brand-directions/book/content/i.js i-3 partner-questions",
  "memory brew-access-rules, brew-sloosh-finals"
 ],
 "open_questions": [
  "**Do we build an agency login before any API?** Proposal: yes; agencies are the people briefs go to, and the agency route is already one of the five open calls.",
  "**Should Brew offer its own MCP server?** Proposal: yes in v2, read only, one brand per token, starting with Plays, briefs and the Brand Book.",
  "**Who is the first user of it?** Proposal: one design partner's agency, named by Param, before any public docs.",
  "**Is it paid?** Proposal: included in the plan while pricing is parked; decide with pricing.",
  "**Does an agency see connected numbers?** Proposal: no, unless the brand's owner says yes per agency."
 ],
 "parts": {
  "Answer": "Brew has no public API and no MCP server today; an agency or an AI tool can plug in only through what already exists, the Brand Book files, the brief written for an agency, and agency logins on Google and Meta, so whether to open an API or MCP, for whom, and when, is Param's call.",
  "Today": "### What an agency or AI tool can use now\n\n| Surface | What it gives | Source |\n|---|---|---|\n| `/<slug>/brand.md` | The Brand Book as one prompt to paste into ChatGPT, Claude or Gemini | [src: brew/brand-kit.js:1-6] |\n| `/<slug>/brand.json` | The whole book as data, each line with its source | [src: brew/brand-kit.js:6] |\n| `/<slug>/llms.txt` | The index an AI agent reads first | [src: brew/brand-kit.js:7, 89] |\n| `/<slug>/brand-kit.zip` | Tokens, palette, logos, references, product photos, and project notes for Claude and ChatGPT | [src: brew/brand-kit.js:8-9, 99-101] |\n| A brief for your agency | Send to picks Your agency; the brief is written for them | [src: brew/team-brief.js:18-20] |\n| The brief link | A read only page with the brief and files | [src: brew/SCOPE.md:20] [src: brand-directions/book/content/i.js i-3 partner-questions] |\n| Agency ad logins | A Google manager account lists the accounts under it; a Meta agency account counts only the brand's Page ads | [src: brew/connectors/google.js:104-108] [src: brew/connectors/meta.js:130] |\n\nThe Brand Book files are built from the share view: no uploads and no connected numbers [src: brew/brand-kit.js:1-3].\n\n### What does not exist\n\n| Missing | Source |\n|---|---|\n| A public API or API keys for brands or agencies | No route found on origin/main |\n| An MCP server of our own; the only MCP Brew speaks is as a client of Sloosh | [src: memory brew-sloosh-finals] |\n| One login for many brands, a brand switcher | [src: brand-directions/docs2/content/pages.mjs:281] [src: brand-directions/book/content/i.js i-3 partner-questions] |\n| An agency replying inside the brief | [src: brand-directions/docs2/content/pages.mjs:161] |\n\nAccess stays with the brand's own email domain or an invite; an agency is invited per brand [src: memory brew-access-rules] [src: brew/SCOPE.md:24].",
  "Tomorrow": "| Item | Version | Tag |\n|---|---|---|\n| Brand Book files for any AI tool | v1 | Stays |\n| An agency login: many brands, briefs it can answer | v2 | New, named as the agency route in the shared docs |\n| Read only MCP server: a brand's Plays, cards, briefs and Brand Book for the brand's own AI tools | v2 | New, Proposed |\n| API keys per brand, read only, for agencies' own dashboards | v3 | New, Proposed |\n| Writes through API or MCP | v4 | New, Proposed, only behind a person's yes per action |\n\nEvery row after the first is a proposal for Param.",
  "How we do it": "Nothing to run until Param decides. When he does, the rules that already bind every surface apply:\n1. Read only first; nothing posts, sends or spends without a person's yes [src: handbook AGENTS.md].\n2. A key or token sees one brand, the same as the domain rule today [src: memory brew-access-rules].\n3. Team only cards, connected numbers and private Plays never leave through a key meant for an agency.\n4. Every call is logged per brand, as every signed in email is today [src: memory brew-access-rules].",
  "Numbers": "| Metric | Definition | Where measured |\n|---|---|---|\n| Brand Book downloads | Requests for brand.md, brand.json, llms.txt and the kit, per brand | Server log, Proposed |\n| Briefs sent to agencies | Briefs with the agency recipient | Briefs, Proposed |\n| Agencies with more than one brand | Agency emails invited to two or more brands | Proposed |",
  "Open": "1. **Do we build an agency login before any API?** Proposal: yes; agencies are the people briefs go to, and the agency route is already one of the five open calls.\n2. **Should Brew offer its own MCP server?** Proposal: yes in v2, read only, one brand per token, starting with Plays, briefs and the Brand Book.\n3. **Who is the first user of it?** Proposal: one design partner's agency, named by Param, before any public docs.\n4. **Is it paid?** Proposal: included in the plan while pricing is parked; decide with pricing.\n5. **Does an agency see connected numbers?** Proposal: no, unless the brand's owner says yes per agency."
 }
}