Sitefire · Authentication Profile

Sitefire Authentication

Authentication

Sitefire secures its APIs with oauth2 and none across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

CompanyGenerative Engine OptimizationAI VisibilityMarketingSEOAnalyticsArtificial IntelligenceContent GenerationMCPAgents
Methods: oauth2, none Schemes: 2 OAuth flows: authorizationCode API key in:

Security Schemes

mcp-oauth oauth2
· flows: authorizationCode
none none

Source

Authentication Profile

Raw ↑
generated: '2026-08-13'
method: searched
source: https://app.sitefire.ai/api/mcp/oauth-metadata
docs: https://sitefire.ai/docs/mcp.md
notes: >-
  Sitefire runs two authentication postures, and they are opposites. The hosted
  MCP server (Spark) is protected by OAuth 2.1 and advertises real RFC 9728
  protected-resource metadata: an unauthenticated POST to the MCP endpoint
  returns 401 with a WWW-Authenticate Bearer challenge naming the metadata URL,
  which resolves to a Supabase-hosted authorization server publishing RFC 8414
  metadata (PKCE S256, dynamic client registration, authorization_code +
  refresh_token). The public Book Demo REST API declares no security scheme at
  all and its own llms.txt states "No API key required. The API is public."
  Nothing was derived from OpenAPI securitySchemes because the only published
  spec declares none - derive-authentication.py returned zero schemes for this
  provider. Everything below was probed live.
summary:
  types: [oauth2, none]
  api_key_in: []
  oauth2_flows: [authorizationCode]
  surfaces: 2
schemes:
- name: mcp-oauth
  type: oauth2
  applies_to: https://app.sitefire.ai/api/mcp
  sources: [https://app.sitefire.ai/api/mcp/oauth-metadata]
  bearer_methods_supported: [header]
  discovery:
    protected_resource_metadata: https://app.sitefire.ai/api/mcp/oauth-metadata
    protected_resource_metadata_spec: RFC 9728 (OAuth 2.0 Protected Resource Metadata)
    challenge_header: 'WWW-Authenticate: Bearer resource_metadata="https://app.sitefire.ai/api/mcp/oauth-metadata"'
    canonical_well_known_path_served: false
    canonical_well_known_note: >-
      The metadata document is real and machine-readable but is served from
      /api/mcp/oauth-metadata rather than the RFC 9728 canonical location
      /.well-known/oauth-protected-resource. The canonical path returns the
      app's single-page-app HTML shell (soft 200), not a document. Because of
      that, no WellKnown pointer is emitted for this provider.
    file: sitefire-mcp-protected-resource.json
  flows:
  - flow: authorizationCode
    authorizationUrl: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/oauth/authorize
    tokenUrl: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/oauth/token
    registrationUrl: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/oauth/clients/register
    refreshSupported: true
    pkce: [S256, plain]
    scopes: [openid, profile, email, phone, offline_access]
  authorization_server:
    issuer: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1
    operator: Supabase (third-party identity platform used by Sitefire)
    metadata_spec: RFC 8414 (OAuth 2.0 Authorization Server Metadata)
    metadata_url: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/.well-known/oauth-authorization-server
    jwks_uri: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/.well-known/jwks.json
    userinfo_endpoint: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/oauth/userinfo
    dynamic_client_registration: true
    id_token_signing_alg_values_supported: [RS256, HS256, ES256]
    token_endpoint_auth_methods_supported: [client_secret_basic, client_secret_post, none]
    file: sitefire-mcp-authorization-server.json
  user_experience: >-
    Browser sign-in to a Sitefire account. Documented per client - Claude.ai
    custom connector, `claude mcp add --transport http --scope user sitefire
    https://app.sitefire.ai/api/mcp`, ChatGPT developer-mode connector, and
    `codex mcp add sitefire --url https://app.sitefire.ai/api/mcp` followed by
    `codex mcp login sitefire`.
- name: none
  type: none
  applies_to: https://sitefire.ai/api
  sources: [https://sitefire.ai/llms.txt, openapi/sitefire-book-demo-api-openapi.yml]
  description: >-
    The Book Demo API is documented as public and unauthenticated. The OpenAPI
    declares no securitySchemes and no security requirement on either operation.
  note: >-
    See lifecycle/sitefire-lifecycle.yml - both documented Book Demo routes were
    probed on 2026-08-13 and neither resolved, so the unauthenticated posture
    could not be exercised end to end.
x-evidence:
- url: https://app.sitefire.ai/api/mcp
  method: POST
  http_status: 401
  note: JSON-RPC tools/list; returned {"jsonrpc":"2.0","error":{"code":-32000,"message":"Unauthorized"}} plus the WWW-Authenticate Bearer challenge
  checked: '2026-08-13'
- url: https://app.sitefire.ai/api/mcp/oauth-metadata
  http_status: 200
  content_type: application/json
  checked: '2026-08-13'
- url: https://qhfesxmsojjleewjufcn.supabase.co/auth/v1/.well-known/oauth-authorization-server
  http_status: 200
  content_type: application/json
  checked: '2026-08-13'
- url: https://app.sitefire.ai/.well-known/oauth-protected-resource
  http_status: 200
  content_type: text/html
  note: SPA shell, not a document - rejected as a soft 200
  checked: '2026-08-13'

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/sitefire-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.