---
title: "Scope Catalogue"
method: GET
path: "/api/mcp-tokens/scopes"
tags: ["earmarkIQ Context"]
---

# Scope Catalogue

`GET /api/mcp-tokens/scopes`

## Request

- Base URL: `https://api.earmarkiq.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.earmarkiq.app/api/mcp-tokens/scopes`
- Auth: HTTP bearer

Every permission a connection can hold, with the words to describe it.

The list endpoint returns `covers` only for scopes a connection already
has, which is enough to display a grant but not to edit one — an app
offering to ADD a permission has to name one the user does not yet
hold. Rather than let each client keep its own copy of the wording and
drift from the browser consent screen the same user reads during OAuth,
they all read it from scopes.py through here.

Not gated on Pro: this is the copy that explains what Context is, and
the people most in need of it are the ones who have not subscribed yet.

## Response `200`

Successful Response

- ScopeCatalogue
  - `scopes` ScopeInfo[], required
    - `scope` string, required
    - `label` string, required
    - `covers` string, required
  - `default_scopes` string[], required

---

[API](https://skmtc.dev/earmarkiq/apis/earmark-api.md) · [All operations](https://skmtc.dev/earmarkiq/apis/earmark-api/llms.txt) · [OpenAPI document](https://skmtc.dev/earmarkiq/apis/earmark-api/revisions/4a2c41907105?raw)
