Server

Asana

Endpoint
https://mcp.asana.com/sse
Transport
HTTP with SSE
Authentication as listed
oauth2.1 (the source's own label, not an observation)
Why it is listed
Listed because it appears in a public directory of MCP servers. Source
Homepage
https://asana.com
  • Supported 6
  • Unsupported 1
  • Unknown 16

Contribute a correctionWithdraw this serverJSON

Status against MCP Authorization 2026-07-28 (current revision). Older revisions: 2025-11-25

MCP server features

FeatureLevelStatusObservedEvidence
Protected Resource Metadata servedmcp.prm · Discovery · Authorization Server Discovery › Authorization Server LocationMUSTSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "https://mcp.asana.com/v2/.well-known/oauth-protected-resource" (Documented as the protected resource metadata document for the Asana MCP server; a second one is documented for the Command MCP endpoint.)
PRM lists an authorization servermcp.prm.authorization-servers · Discovery · Authorization Server Discovery › Authorization Server LocationMUSTSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "Points to Asana's authorization server metadata at https://app.asana.com/.well-known/oauth-authorization-server"
PRM lists scopes_supportedmcp.prm.scopes-supported · Discovery · Authorization › Scope Selection StrategyMAYUnknown (no observation)no observation yet
PRM reachable at a well-known URImcp.prm.well-known · Discovery · Authorization Server Discovery › Protected Resource Metadata Discovery RequirementsMUSTUnknown (no observation)no observation yet
resource_metadata in the 401 challengemcp.prm.www-authenticate · Discovery · Authorization Server Discovery › Protected Resource Metadata Discovery RequirementsMUSTUnknown (no observation)no observation yet
403 insufficient_scope for step-upmcp.rs.insufficient-scope · Authorization · Authorization › Scope Challenge HandlingSHOULDUnknown (no observation)no observation yet
Scope in the WWW-Authenticate challengemcp.rs.scope-challenge · Authorization · Authorization › Scope Selection StrategySHOULDUnknown (no observation)no observation yet
No offline_access in advertised scopesmcp.prm.no-offline-access · Tokens · Authorization › Refresh TokensSHOULDUnknown (no observation)no observation yet
401 for missing or invalid tokensmcp.rs.401-on-invalid · Tokens · Authorization › Token HandlingMUSTUnknown (no observation)no observation yet
Audience validationmcp.rs.audience-validation · Tokens · Security Considerations › Access Token Privilege RestrictionMUSTUnknown (no observation)no observation yet
Bearer token only in the Authorization headermcp.rs.bearer-header · Tokens · Authorization › Access Token UsageMUSTUnknown (no observation)no observation yet
No token passthrough to upstream APIsmcp.rs.no-passthrough · Delegation · Security Considerations › Access Token Privilege RestrictionMUSTUnknown (no observation)no observation yet
Per-client consent on proxy serversmcp.proxy.consent · Consent · Security Considerations › Confused Deputy ProblemMUSTUnknown (no observation)no observation yet

Authorization server features

FeatureLevelStatusObservedEvidence
Metadata issuer matches the discovery URLmcp.as.issuer-match · Discovery · Authorization Server Discovery › Authorization Server Metadata DiscoveryMUSTUnknown (no observation)no observation yet
Authorization server metadata discoverablemcp.as.metadata · Discovery · Authorization Server Discovery › Authorization Server Metadata DiscoveryMUSTSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "Points to Asana's authorization server metadata at https://app.asana.com/.well-known/oauth-authorization-server"
Client ID Metadata Documents supportedmcp.as.cimd · Registration · Client Registration › Client ID Metadata DocumentsSHOULDUnknown (no observation)no observation yet
Dynamic Client Registration offeredmcp.as.dcr · Registration · Client Registration › Dynamic Client RegistrationMAYUnsupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "Dynamic client registration is not supported with Asana’s V2 MCP Server."
1 earlier observation
  1. Unknown · Vendor claim · jbspeakr · evidence
Documented pre-registration pathmcp.as.preregistration · Registration · Client Registration › Pre-registrationSHOULDSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "Although these documents can be used to dynamically discover endpoints, clients must still pre-register to get a client id and client secret as described above." (App is created in the Asana developer console with app type 'MCP app'; tokens issued for MCP apps only work with the MCP server.)
Issuer identifier in authorization responsesmcp.as.iss-param · Authorization · Authorization › Authorization Response ValidationSHOULDUnknown (no observation)no observation yet
PKCE with S256 advertisedmcp.as.pkce-s256 · Authorization · Security Considerations › Authorization Code ProtectionMUSTSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "The code_challenge_method should be the string "S256" to tell Asana we hashed with SHA256." (From Asana's general OAuth documentation for the same authorization server; the MCP page's example authorization URL also carries code_challenge_method=S256.)
Refresh token rotation for public clientsmcp.as.refresh-rotation · Tokens · Security Considerations › Token TheftMUSTUnknown (no observation)no observation yet
Resource indicators honouredmcp.as.resource-indicator · Tokens · Security Considerations › Token Audience Binding and ValidationMUSTSupportedVendor claim · jbspeakr (documentation pass with Claude Code)source— "When directing users to the authorization endpoint, you can include the resource parameter to specify the MCP server: [...] Tokens issued for MCP apps only work with the MCP server." (Docs describe the resource parameter as optional; values https://mcp.asana.com/v2 or https://mcp.asana.com/v2/command/mcp.)
All endpoints served over HTTPSmcp.as.https · Transport · Security Considerations › Communication SecurityMUSTUnknown (no observation)no observation yet