ClosedLoop AI · OAuth Scopes

ClosedLoop AI OAuth Scopes

OAuth 2.0 probed

ClosedLoop AI uses OAuth 2.0 but publishes no discrete scopes — access is governed by the grant itself (e.g. client-credentials or role-based authorization) rather than per-scope consent.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

Product IntelligenceCustomer FeedbackVoice of CustomerProduct ManagementAgentic AIMCPSaaS analyticsA2ASCIMProduct Discovery
Scopes: 0 Flows: Method: probed

Scopes (0)

ClosedLoop AI implements OAuth 2.0 but publishes no discrete scopes — access is governed by the grant itself (client-credentials or role-based authorization) rather than per-scope consent.

derive-oauth-scopes.py returned nothing for this provider, correctly: the published OpenAPI declares only an apiKey securityScheme and no oauth2 flows, so there is nothing in the REST contract to derive from. The scopes below are NOT derived -- they were read from the live OAuth metadata the MCP servers actually serve. The provider publishes the scope NAMES in that metadata but publishes no per-scope description or permission matrix anywhere in its documentation, so the descriptions below say what the metadata establishes and no more.

Source

OAuth Scopes

Raw ↑
generated: '2026-08-30'
method: probed
source: https://mcp.closedloop.sh/.well-known/oauth-authorization-server and
  https://mcp.closedloop.sh/.well-known/oauth-protected-resource
docs: https://closedloop.sh/docs/account/mcp-service-clients
note: >-
  derive-oauth-scopes.py returned nothing for this provider, correctly: the published OpenAPI
  declares only an apiKey securityScheme and no oauth2 flows, so there is nothing in the REST
  contract to derive from. The scopes below are NOT derived -- they were read from the live OAuth
  metadata the MCP servers actually serve. The provider publishes the scope NAMES in that metadata
  but publishes no per-scope description or permission matrix anywhere in its documentation, so the
  descriptions below say what the metadata establishes and no more.
applies_to: MCP surface only
rest_api_scopes:
  model: none
  detail: >-
    The /v1 REST API has no scope model at all. A key is team-scoped and region-scoped and grants
    read access to everything that team can see; there is no way to issue a narrower key. Since
    every operation is a GET, the blast radius of a leaked key is disclosure, not modification.
authorization_servers:
- issuer: https://mcp.closedloop.sh
  region: us
  documented: true
  scopes_supported: [mcp:tools, mcp:read]
- issuer: https://eu.mcp.closedloop.sh
  region: eu
  documented: true
  scopes_supported: [mcp:tools, mcp:read]
- issuer: https://api.closedloop.sh/mcp
  region: us
  documented: false
  scopes_supported: [mcp:tools, mcp:read]
- issuer: https://eu.api.closedloop.sh/mcp
  region: eu
  documented: false
  scopes_supported: [mcp:tools, mcp:read]
scopes:
- name: mcp:tools
  description: >-
    Invoke MCP tools. Advertised in both scopes_supported (authorization-server metadata) and the
    protected-resource metadata on every ClosedLoop AI MCP host.
  published_description: null
  published_description_note: The provider publishes no description for this scope. Recorded as
    null rather than guessed.
  covers: >-
    Presumed to gate the 12 documented tools (get_overview, get_facets, get_trends,
    search_customers, get_customer, search_insights, get_insight, search_signals, get_signal,
    get_competitors, search_opportunities, get_opportunity). NOT CONFIRMED -- tools/list is
    OAuth-gated so the per-tool scope requirement could not be observed.
- name: mcp:read
  description: >-
    Read access over the MCP surface. Advertised alongside mcp:tools on every host.
  published_description: null
  published_description_note: The provider publishes no description for this scope.
  covers: >-
    Relationship to mcp:tools is not documented. Since every MCP tool is itself a read, the two
    scopes may overlap substantially. NOT CONFIRMED.
scope_count: 2
bearer_methods_supported: [header]
grant_types_supported: [authorization_code, refresh_token, client_credentials]
gaps:
- id: no-scope-reference-page
  detail: >-
    There is no scopes or permissions reference page anywhere under https://closedloop.sh/docs. The
    MCP service-clients guide explains how to obtain a credential but never states what each scope
    grants or which scope a given tool requires. A security reviewer cannot answer "what can this
    token do" from published material -- only from the two scope names in the metadata.
- id: rest-has-no-scopes
  detail: >-
    A ClosedLoop AI REST key cannot be narrowed. There is no read-only-subset key, no per-resource
    key, and no way to issue a key that can see insights but not customer CRM context and deal
    values. For a product whose data includes named customers, ARR and deal values, that is the
    most consequential authorization gap in the surface.

Work with this as data

Every scope set 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 oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set 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 scope set
curl "https://apis.io/api/v1/scopes/closedloop-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?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.