# noticed MCP authorization

noticed protects its Model Context Protocol server with OAuth 2.1 or a personal noticed access key. Authorization is required for every tool invocation and every request that can reach a user's relationship data. Public MCP initialization, schema listing, and public documentation resources do not grant access to user data.

This guide connects an MCP client to an existing noticed account. noticed does not implement agent-created account flows, anonymous account registration, identity-assertion registration, or user-claim ceremonies, and this document does not advertise those capabilities.

## Discover

- Authorization server: https://www.noticed.so
- RFC 8414 metadata: https://www.noticed.so/.well-known/oauth-authorization-server
- OAuth 2.1 dynamic client registration: https://www.noticed.so/api/oauth/register
- Authorization endpoint: https://www.noticed.so/oauth/authorize
- Token endpoint: https://www.noticed.so/api/oauth/token
- Revocation endpoint: https://www.noticed.so/api/oauth/revoke
- MCP protected-resource metadata: https://mcp.noticed.so/.well-known/oauth-protected-resource

Start with the MCP protected-resource metadata, then follow its authorization-server link. The MCP server also returns a `WWW-Authenticate` challenge with the same `resource_metadata` URL when a protected operation has no valid credential.

## Pick a method

Use OAuth 2.1 Authorization Code with PKCE S256 when the MCP client supports browser authorization. A signed-in noticed user may instead create a personal noticed access key for a client that cannot complete OAuth. Both methods remain scoped to the existing user's tenant; neither creates a noticed account.

| Scope | Purpose |
| --- | --- |
| `network:read` | Connect to the noticed MCP surface for one authenticated user's tenant. Tool safety annotations and server-side authorization continue to distinguish reads from explicit writes. |

Requests with missing, invalid, revoked, or insufficient bearer credentials are rejected. The MCP challenge includes a `resource_metadata` URL so clients can discover the authorization server without hard-coded configuration.

## Register

OAuth clients register at https://www.noticed.so/api/oauth/register using RFC 7591 dynamic client registration. Public clients may request `token_endpoint_auth_method=none`; confidential clients may use `client_secret_basic`. Registration creates an OAuth client, not a noticed user or agent-owned account. A client using a personal noticed access key does not register as an OAuth client.

## Authorize

Open https://www.noticed.so/oauth/authorize with Authorization Code and PKCE S256, the MCP resource indicator, and the `network:read` scope. The existing noticed user signs in and approves access in the browser; the client exchanges the returned code at https://www.noticed.so/api/oauth/token.

## Claim: not supported

noticed does not implement agent-created account flows, anonymous account registration, identity-assertion registration, or user-claim ceremonies. There is no separate agent claim endpoint or claim token to request; an agent acts only after an existing noticed user completes OAuth or supplies their own personal access key.

## Use credential

Send an OAuth access token or personal noticed access key only as `Authorization: Bearer <credential>` to https://mcp.noticed.so/api/mcp, never in a query string. Personal keys are created at https://www.noticed.so/settings/api-keys, use the `nk_live_` prefix, and are shown once. After authentication, call `account_status` before reading relationship data so the user and tenant context are explicit.

## Errors

MCP JSON-RPC failures use error objects with a numeric `code` and human-readable `message`. Missing or invalid bearer credentials return HTTP 401 with a `WWW-Authenticate` challenge pointing at the protected-resource metadata. Unknown resources and invalid tool arguments return structured protocol errors rather than an HTML page.

## Revocation

The OAuth revocation endpoint accepts `client_secret_basic` at https://www.noticed.so/api/oauth/revoke. The authorization-server metadata does not advertise public-client revocation for clients registered with `token_endpoint_auth_method=none`; those clients must discard their local tokens and let the user control any later authorization. Signed-in users revoke personal noticed access keys at https://www.noticed.so/settings/api-keys. A revoked credential stops future requests, and the client must begin a new approved flow if access is needed again.

## Security boundary

The MCP server never accepts credentials in URLs. OAuth tokens are audience-bound and verified for issuer, expiry, revocation, and scope. User and Team data remain subject to noticed tenant isolation, membership, consent, and tool-specific authorization rules. Do not forward a noticed credential to another service or expose it in prompts, logs, or tool output.
