{
  "version": 3,
  "summary": "Create, schedule, and publish social posts through the API, MCP server, or CLI.",
  "credentials": {
    "openpost_api_token": {
      "type": "bearer",
      "label": "OpenPost API token",
      "generateUrl": "https://app.openpo.st/settings?tab=developer",
      "setup": "Sign in to OpenPost, open Settings → Personal → Developer access, and create a token with the scope and workspace access you need."
    },
    "openpost_mcp_oauth": {
      "type": "oauth2",
      "label": "OpenPost MCP OAuth",
      "setup": "Connect the MCP client and approve access in the browser. OpenPost uses authorization code with PKCE and supports mcp:read and mcp:full."
    }
  },
  "surfaces": [
    {
      "type": "http",
      "slug": "api",
      "name": "OpenPost API",
      "docs": "https://openpo.st/docs/development/api-reference",
      "spec": "https://openpo.st/docs/openapi.json",
      "url": "https://app.openpo.st/api/v1",
      "basis": {
        "via": "declared",
        "source": "https://openpo.st/.well-known/integrations.json"
      },
      "auth": {
        "status": "required",
        "entries": [
          {
            "use": [
              {
                "id": "openpost_api_token",
                "mechanics": {
                  "source": "spec",
                  "scheme": "bearerAuth"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://openpo.st/.well-known/integrations.json"
            }
          }
        ]
      },
      "notes": "Use api:read for reads or api:write for reads and changes. Tokens can be limited to one workspace."
    },
    {
      "type": "mcp",
      "slug": "mcp",
      "name": "OpenPost MCP server",
      "docs": "https://openpo.st/docs/mcp/",
      "url": "https://app.openpo.st/mcp",
      "transports": [
        "streamable-http"
      ],
      "basis": {
        "via": "declared",
        "source": "https://openpo.st/.well-known/integrations.json"
      },
      "auth": {
        "status": "required",
        "entries": [
          {
            "use": [
              {
                "id": "openpost_mcp_oauth",
                "mechanics": {
                  "source": "well-known"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://openpo.st/.well-known/integrations.json"
            }
          },
          {
            "use": [
              {
                "id": "openpost_api_token",
                "mechanics": {
                  "source": "http",
                  "in": "header",
                  "headerName": "Authorization",
                  "scheme": "Bearer"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://openpo.st/.well-known/integrations.json"
            }
          }
        ]
      },
      "notes": "OAuth and API tokens support mcp:read and mcp:full. Access can be limited to one workspace."
    },
    {
      "type": "cli",
      "slug": "cli",
      "name": "OpenPost CLI",
      "docs": "https://openpo.st/docs/cli/",
      "packages": [
        {
          "registryType": "other",
          "identifier": "https://raw.githubusercontent.com/getopenpost/openpost/main/scripts/install-cli.sh"
        }
      ],
      "command": "openpost",
      "basis": {
        "via": "declared",
        "source": "https://openpo.st/.well-known/integrations.json"
      },
      "auth": {
        "status": "required",
        "entries": [
          {
            "use": [
              {
                "id": "openpost_api_token",
                "mechanics": {
                  "source": "cli",
                  "command": "openpost auth login https://app.openpo.st"
                }
              }
            ],
            "basis": {
              "via": "declared",
              "source": "https://openpo.st/.well-known/integrations.json"
            }
          }
        ]
      },
      "notes": "The CLI supports browser, device, and manual token sign-in. CLI login creates a cli:full token."
    }
  ]
}
