Server
Plaid
- Endpoint
https://api.dashboard.plaid.com/mcp/- Transport
- Streamable HTTP
- Access
- Closed Connecting needs something not available by self-service: an existing contract, a tenant an admin must enable, a sales process or a private beta. A catalog of approved clients is not one: any account connects through a listed client. Manual check · jbspeakr (documentation pass with Claude Code) · · evidence · Works with Production data only; the team must be approved for Production access with at least one Plaid product before using the server.
- Auth
- OAuth An OAuth 2.x authorization obtained through the server's authorization server. Manual check · jbspeakr (documentation pass with Claude Code) · · evidence · OAuth client_credentials token with scope mcp:dashboard from /oauth/token, sent as a bearer header and refreshed every 15 minutes.
- Why it is listed
- Listed because it appears in a public directory of MCP servers. Source
- Homepage
- https://plaid.com
- Notes
- The vendor's MCP page documents an OAuth 2.0 client_credentials grant with the team's client ID and production secret (scope mcp:dashboard); there is no user consent flow for MCP clients.
Against MCP Authorization 2026-07-28current
- Partial 1
- Unsupported 3
- Unknown 19
Passive scanGrade F · · Report
Older revisions of the matrix: 2025-11-25
MCP server features 13
| Feature | Level | Status | Observed | Evidence |
|---|---|---|---|---|
| Protected Resource Metadata served | MUST | Unknown | source1 earlier observation
| |
| PRM lists an authorization server | MUST | Unknown | source1 earlier observation
| |
| PRM lists scopes_supported | MAY | Unknown | source1 earlier observation
| |
| PRM reachable at a well-known URI | MUST | Unsupported | source1 earlier observation
| |
| resource_metadata in the 401 challenge | MUST | Unsupported | source1 earlier observation
| |
| 403 insufficient_scope for step-up | SHOULD | Unknown no observation | no observation yet | |
| Scope in the WWW-Authenticate challenge | SHOULD | Unsupported | source | |
| No offline_access in advertised scopes | SHOULD | Unknown | source1 earlier observation
| |
| 401 for missing or invalid tokens | MUST | Partial | source | |
| Audience validation | MUST | Unknown no observation | no observation yet | |
| Bearer token only in the Authorization header | MUST | Unknown no observation | no observation yet | |
| No token passthrough to upstream APIs | MUST | Unknown no observation | no observation yet | |
| Per-client consent on proxy servers | MUST | Unknown no observation | no observation yet |
Authorization server features 10
| Feature | Level | Status | Observed | Evidence |
|---|---|---|---|---|
| Metadata issuer matches the discovery URL | MUST | Unknown | source1 earlier observation
| |
| Authorization server metadata discoverable | MUST | Unknown | source1 earlier observation
| |
| Client ID Metadata Documents supported | SHOULD | Unknown | source1 earlier observation
| |
| Dynamic Client Registration offered | MAY | Unknown | source | |
| Documented pre-registration path | SHOULD | Unknown no observation | no observation yet | |
| Issuer identifier in authorization responses | SHOULD | Unknown | source1 earlier observation
| |
| PKCE with S256 advertised | MUST | Unknown | source1 earlier observation
| |
| Refresh token rotation for public clients | MUST | Unknown no observation | no observation yet | |
| Resource indicators honoured | MUST | Unknown no observation | no observation yet | |
| All endpoints served over HTTPS | MUST | Unknown | source1 earlier observation
|