Hey guys! Working with your mcp auth package - it ...
# ask-a-descoper
n
Hey guys! Working with your mcp auth package - it seems to be working when I integrate via Claude Code, but fails when I do it via Cursor. The failure logs are attached in the thread, but the main issue:
Copy code
2026-02-23 10:53:00.241 [error] Client error for command Failed to create app: 500 - Application logo image is invalid (E074005)
Welp
full auth log
m
@Eliya Sadan @Akash Jivane can you help here
r
Hi @Nimrod Kor The error "Application logo image is invalid (E074005)" suggests Cursor is sending different client metadata during registration compared to Claude Code. Based on the MCP architecture, when MCP clients register with Descope (via DCR or CIMD), they provide metadata that gets validated. The logo image field is one of these metadata elements that Descope validates during client registration Doc • Verify the logo URL is accessible and in a valid format (typically HTTPS URL to a valid image) The Python MCP SDK validates tokens and handles authorization Doc, but client registration metadata validation happens at the Descope platform level during the initial registration flow. If you need to pre-register the client to avoid this validation issue, you can manually register the agent in the Descope Console under Agentic Identity Hub → Agentic Identity. Doc
n
Wait, I need to register Cursor manually? This seems.. odd
r
You shouldn't need to manually register Cursor - DCR is specifically designed to avoid manual registration The issue is that Cursor's client metadata contains an invalid logo during the automatic registration process. This is a validation error on Cursor's side, not a requirement for manual registration Doc
n
Hmmm... Seems I never registered my MCP. How does this work then?
Guys you made a breaking change. I don't have an MCP server yet serving MCP. Something in the auth with Cursor is broken - don't send me to the docs šŸ™
It's not an edge case
How do I pre-register Cursor? I'm supposed to give them a secret?
e
What is the configuration you use in Cursor for the MCP server?
e
OK, and what MCP auth SDK version do you use?
n
Copy code
"@descope/mcp-express": "^1.0.5",
    "@modelcontextprotocol/sdk": "^1.12.1",
I don't see it implemented in mcp-express, the agentic hub. Does that mean I have no way of overcoming the Cursor registration issue?
I got the descope mcp provider to redirect to:
Copy code
const mcpProjectId = `agentic/${env.DESCOPE_PROJECT_ID}/${env.DESCOPE_MCP_CLIENT_ID}`
But now I'm getting shot down for aud
Copy code
const provider = new DescopeMcpProvider({
  projectId: mcpProjectId,
  managementKey: env.DESCOPE_MANAGEMENT_KEY,
  serverUrl:
    env.HOST !== "localhost"
      ? `https://${env.HOST}/mcp`
      : `<http://localhost>:${String(env.PORT)}`,
  authorizationServerOptions: {
    isDisabled: false, // Enable Authorization Server
    enableAuthorizeEndpoint: true,
    enableDynamicClientRegistration: true,
  },
  dynamicClientRegistrationOptions: {
    isDisabled: false,
    attributeScopes: [],
    permissionScopes: [],
  },
})
app.use(descopeMcpAuthRouter(undefined, provider))
app.use(["/mcp"], descopeMcpBearerAuth(provider))
e
The
express-sdk
with the
authServerOptions
enabled uses and old mcp spec of having the MCP server act as the AS server as well Lately (most likely during the plugins release) Cursor started sending the
logo_uri
as part of the
DCR
/regsiter
request and our server inbound apps does an extra sanitization of this field that causes this error. We will push a fix to handle this issue on our side, also we would love to offer a meeting to move to the agentic hub routes like you did and have better support of audience and so on like you mentioned
n
Thank you! Sending calendar in DM I'm clauding away at migrating from express to something else that you already support, in https://github.com/descope/ai/tree/main/examples