This section describes the source-side permissions required for the AI Catalog connector to discover assets from each supported discovery source.
MCP / AI Agent (self-hosted)
MCP servers do not have a formal permission model. The access required depends on how each server is protected.
| Scenario | What is needed |
|---|---|
| Open / internal network | Network access from the connector to the MCP endpoint — no credentials required. |
| API Key protected | An active API key with read access; no special role needed. |
| Bearer Token protected | A valid token (JWT, PAT, or session token) that grants read access to the MCP introspection methods. |
| OAuth2 Client Credentials | A client ID and secret that can obtain an access token from the token endpoint. The token must authorize MCP introspection calls. |
| OAuth2 Authorization Code | A pre-issued long-lived refresh token for a user or service account with read access to the MCP server. |
| Basic Auth | Username and password for an account with read access to the MCP server. |
At minimum, the credential must allow the connector to call the following JSON-RPC methods on each configured endpoint:
POST /mcpwith methodinitializePOST /mcpwith methodtools/listPOST /mcpwith methodresources/listPOST /mcpwith methodprompts/list
For AI Agent discovery, the credential must also allow a GET
request to reach one of the following well-known paths on each configured AI
agent base URL:
<base>/.well-known/agent.json<base>/.well-known/agent-card.json
Anthropic Claude
| Permission | Where | Why |
|---|---|---|
| API Key (any active key) | console.anthropic.com → API Keys | Required to authenticate all Anthropic API calls. |
| Models API access | Included with any API key | Needed to call GET /v1/models. No extra
permission required. |
| Managed Agents beta access | Must be enabled on your Anthropic account | Needed to call GET /v1/agents. Without this,
the endpoint returns 403 and agent discovery is skipped. Contact
Anthropic to request access if not available. |
anthropic-beta: managed-agents-2026-04-01) and is subject to
change.OpenAI
| Permission | Where | Why |
|---|---|---|
| API Key (any active key) | platform.openai.com → API Keys | Required for all OpenAI API calls. |
| Models read | Included with any API key | Calls GET /v1/models. No extra permission
needed. |
| Assistants read | Included with any API key | Calls GET /v1/assistants. Only the assistants
in your own account are visible. |
GitHub Copilot
| Permission | Why | Notes |
|---|---|---|
read:org scope on PAT |
Allows GET /orgs/{org} to verify the
organization exists. |
Required. |
repo scope on PAT |
Required for full organization and repository API access. | Required. |
| Enterprise admin role | Allows
GET /enterprises/{enterprise}/copilot/custom-agents
to list enterprise custom agents. |
Optional. If the token owner is not an enterprise admin, custom agent discovery is skipped gracefully (403 is ignored). |
To create a classic PAT with the required scopes:
- Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic).
- Click Generate new token.
- Select the
repoandread:orgscopes. - Click Generate token and copy the value immediately.
Microsoft Copilot Studio
The connector uses an Azure App Registration with application (service-to-service) permissions — no user sign-in is required at runtime.
| Permission | Type | Where to Grant | Why |
|---|---|---|---|
CopilotPackages.Read.All |
Application (not Delegated) | Azure Portal → App Registration → API permissions → Microsoft Graph | Lists all Copilot Studio agents in the tenant. |
| Admin consent | Required | A Global Administrator or Privileged Role Administrator must click Grant admin consent. | Application permissions require admin consent before they are active. Without it, all calls return 403. |
To set up the Azure App Registration:
- Go to portal.azure.com → Microsoft Entra ID → App registrations.
- Click New registration, enter a name (for example,
ai-catalog-connector), and click Register. - Note the following values from the Overview page:
- Directory (tenant) ID — use as the Azure Tenant ID field in the connector.
- Application (client) ID — use as the Azure Client ID field in the connector.
- Go to API permissions → Add a permission → Microsoft Graph → Application permissions.
- Search for
CopilotPackages, selectCopilotPackages.Read.All, and click Add permissions. - Click Grant admin consent for [your organization]. This step requires a Global Administrator.
- Go to Certificates & secrets → New client secret. Copy the Value immediately — use it as the Azure Client Secret field in the connector. This value cannot be retrieved after you navigate away.
CopilotPackages.Read.Allis a read-only permission. The service principal can only read package metadata and cannot create, modify, or delete any Copilot Studio agents.- Create one connection per Azure AD tenant.
- If an existing client secret value is lost, create a new one under Certificates & secrets.