OAuth surface (mcp.meow.com)
Sign in once with your Meow login. The server runs OAuth 2.1 with PKCE and sits in front of Meow’s identity provider as an authorization proxy, so your MCP client never talks to that provider directly.
The connection flow
Client registers and requests access
Your MCP client discovers the server’s metadata, registers, and opens the authorization URL with PKCE and the
meow.* scopes it wants.You approve the connection
A Meow consent screen shows which client is connecting. Approve it to continue to sign-in.
You sign in
Authenticate with your Meow credentials or Google. This step confirms who you are; what you can do is decided separately, in the next step.
You choose what to share
A scope picker appears after sign-in, so it can hide permissions your role could never use. Pick the scopes to grant.
Choose what to share
The scope picker appears after you sign in.meow.read is always granted. The rest are opt-in, and each one only shows up if your role can actually use it.
| Scope | Grants | Shown when |
|---|---|---|
meow.read | All read access: accounts, balances, transactions, payment networks, contacts, billing, bills, and cards | Always (locked on) |
meow.transfers | Draft ACH, scheduled ACH, wire, book, and crypto payments | Your role can initiate transfers |
meow.cards | Issue, update, freeze, and revoke virtual cards | Your role can manage cards |
meow.billing | Create and manage invoicing products, customers, and invoices | Your role can manage billing |
Granting a write scope never bypasses your role. Permissions are re-checked per entity on every call, so someone who is an admin on one entity and a viewer on another sees the write option but can only use it where their role allows.
What’s enforced on every call
Each tool call is validated on its own. A valid token alone is never enough. The server checks that:- the access token is genuine and was issued for this server;
- your role allows the action on the target entity;
- you granted the matching OAuth scope at connect time;
- the entity is active;
- the session has not been revoked;
- any MFA requirement is satisfied.
Revoking access
You can disconnect an assistant at any time from the Meow dashboard. Revocation is immediate: existing tokens stop working on their next call, and reconnecting starts a fresh OAuth flow.CLI / API-key surface (mcp.meow.com/cli)
The CLI surface authenticates with a Meow API key sent as a bearer token and scoped to a single entity. Use it for coding agents, automation, and agent-led signup.
- Create and scope keys from the Meow dashboard. See API key authentication.
- Use the narrowest scopes the assistant needs. A read-only key can’t draft transfers or issue cards.
- Never commit a config file that contains an API key. Keep it in a secrets manager or environment variable.
Scopes
OAuthmeow.* scopes map onto the API key scopes you already know from the REST API:
| OAuth scope | Underlying API key scopes |
|---|---|
meow.read | accounts:read, accounts:balances, accounts:transactions, accounts:payment_networks, contacts:read, billing:*:read, billpay:read, cards:read |
meow.transfers | transfers:ach:write, transfers:wire:write, transfers:book:write, transfers:crypto:write |
meow.cards | cards:write |
meow.billing | billing:invoices:write, billing:customers:write, billing:products:write |
Next steps
Tool reference
See which scope each tool requires.
Security & trust
The human-in-the-loop model and auditability.