{
  "name": "atom-mothership-mcp",
  "version": "0.1.0",
  "status": "ok",
  "transport": "streamable_http",
  "auth": "clerk-oauth",
  "scope": "atom.mothership.admin",
  "capabilities": {
    "tools": true,
    "prompts": true,
    "resources": true
  },
  "safety": {
    "defaultWriteMode": "draft-only-when-applicable",
    "destructiveTools": [
      "tenant.secret.rotate"
    ],
    "liveStateTools": [
      "tenant.cloudflare.create_pages_project"
    ],
    "tenancyHandoff": "tenancy tools never write the repo; they return a structured nextSteps block with a `gh pr create` payload that the calling agent must execute."
  },
  "endpoints": {
    "root": "https://mothership-mcp.blackflag.design/",
    "mcp": "https://mothership-mcp.blackflag.design/mcp",
    "authorize": "https://mothership-mcp.blackflag.design/authorize",
    "callback": "https://mothership-mcp.blackflag.design/callback",
    "token": "https://mothership-mcp.blackflag.design/token",
    "register": "https://mothership-mcp.blackflag.design/register",
    "protectedResourceMetadata": "https://mothership-mcp.blackflag.design/.well-known/oauth-protected-resource",
    "authorizationServerMetadata": "https://mothership-mcp.blackflag.design/.well-known/oauth-authorization-server"
  },
  "tools": {
    "tenants": [
      "tenant.list",
      "tenant.get",
      "tenant.status"
    ],
    "ops": [
      "tenant.brand.get",
      "tenant.brand.upsert",
      "tenant.docs.list",
      "tenant.docs.upsert",
      "tenant.ops.summary",
      "tenant.audit.list"
    ],
    "content": [
      "tenant.digest.list",
      "tenant.digest.get",
      "tenant.voice.list",
      "tenant.source.list"
    ],
    "tenancy": [
      "tenant.provision.dryRun",
      "tenant.cloudflare.create_pages_project"
    ],
    "observability": [
      "tenant.sentry.recent_errors",
      "tenant.posthog.recent_events",
      "tenant.convex.recent_logs"
    ],
    "destructive": [
      "tenant.secret.rotate"
    ]
  },
  "prompts": [
    {
      "name": "atom-tenant-investigation",
      "description": "Investigate a single tenant: list, get, status, ops summary, audit reads."
    },
    {
      "name": "atom-tenancy-provision",
      "description": "Walk through provisioning a new tenant via tenant.provision.dryRun + a follow-up PR."
    },
    {
      "name": "atom-content-readout",
      "description": "Read a tenant's editorial state: digest list, digest get, voices, sources."
    }
  ],
  "resources": {
    "docs": [
      {
        "uri": "atom-mcp://docs/overview",
        "name": "Atom Mothership MCP Overview",
        "description": "What this MCP exposes and how it maps to the Atom multi-tenant platform.",
        "mimeType": "text/markdown"
      },
      {
        "uri": "atom-mcp://docs/safe-writes",
        "name": "Atom Mothership MCP Safe Writes",
        "description": "Which tools mutate live state and which only stage drafts.",
        "mimeType": "text/markdown"
      },
      {
        "uri": "atom-mcp://docs/tool-catalog",
        "name": "Atom Mothership MCP Tool Catalog",
        "description": "Grouped list of every tool exposed by this server.",
        "mimeType": "text/markdown"
      }
    ]
  },
  "notes": [
    "After tool-surface deployments, reconnect the MCP server or start a new session so clients reload tools, prompts, and resources.",
    "Every tool takes { tenantSlug, environment } except tenant.list / tenant.audit.list which can be unscoped."
  ]
}