Postal Developers
MCP server

Auth and scopes

How the MCP server authenticates, and which scopes a key needs for which tools.

Two ways in

OAuth 2.1 (connectors). Claude and other connector-style clients discover the server at /.well-known/oauth-authorization-server, register dynamically, and send you to an authorisation page where you paste a Postal API key. The key is exchanged for a one-hour access token with a 30-day refresh token. The client never holds the key.

Direct header. Clients that let you set headers can send the key on every request as X-API-Key: <key> or Authorization: Bearer <key>. No token exchange.

Either way, every tool call becomes REST API calls made with that key, so the key's scopes apply.

Scope per tool

ScopeTools
read:trackslist_tracks, get_track_count, get_track, search_tracks, find_duplicate_tracks, get_track_submissions, get_tag_taxonomy, get_suggested_tags, wait_for_auto_tag
create:tracksupload_track_by_url
update:tracksupdate_track_details, update_track_tags, trigger_auto_tag, batch_auto_tag, apply_suggested_tags, upload_artwork, and wait_for_auto_tag with trigger: true
read:playlistslist_playlists, get_playlist
create:playlistscreate_playlist, add_tracks_to_playlist
update:playlistsupdate_playlist, remove_track_from_playlist, reorder_playlist
read:composerslist_composers, get_composer_count
read:composerget_composer
create:composercreate_composer
update:composerupdate_composer
delete:composerdelete_composer
read:analyticsget_dashboard, get_entity_stats, get_top_tracks
read:briefslist_briefs, get_brief_submissions

Suggested key profiles

Read-only assistant. Safe to hand to anyone who should look but not touch:

read:tracks, read:playlists, read:composers, read:composer, read:analytics, read:briefs

Librarian. Can tag, organise and build playlists, but not upload or delete:

read:tracks, update:tracks, read:playlists, create:playlists, update:playlists,
read:composers, read:composer, read:analytics, read:briefs

Everything. Every tool works:

read:tracks, create:tracks, update:tracks,
read:playlists, create:playlists, update:playlists,
read:composers, read:composer, create:composer, update:composer, delete:composer,
read:analytics, read:briefs

A key created from Settings → Integrations has this full set. Narrow it in Tools → Integration.

Composer scopes

Listing and counting use read:composers; fetching one uses read:composer. Grant both or the assistant will be able to list composers and then fail to open any of them.

Credits

search_tracks costs one credit per call from the connected account's balance, the same as POST /tracks/search. No other tool is metered.

Revoking access

Revoke or rotate the key in Postal. OAuth tokens minted from it stop working on their next refresh, at most one hour later. The direct-header path stops immediately.

On this page