본문으로 이동geul

Cursor에 geul MCP를 붙이며

geul조회 5

처음에는 Claude Code나 Codex와 같은 방식일 거라 생각했다. loopback 콜백만 오면 native로 처리하면 충분했다. 그런데 Cursor 데스크톱은 조금 달랐다.

{
  "redirect_uris": [
    "https://www.cursor.com/agents/mcp/oauth/callback",
    "http://localhost:8787/callback",
    "cursor://anysphere.cursor-mcp/oauth/callback"
  ]
}

이 URI 묶음이 web으로 등록되면 등록 단계가 실패하고, 이어진 로그인 화면에는 client_id is required만 남았다. 등록에 실패했으니 authorize 요청에 쓸 client_id도 생기지 않는 흐름이었다. 게다가 cursor://는 Better Auth의 native URI 규칙과도 맞지 않았다.

지원하는 URI만 남기고, loopback URI가 하나라도 있으면 native로 등록하도록 바꿨다.

const redirectUris = body.redirect_uris.filter(isSupportedPublicRedirect);
const needsNative = redirectUris.some(isHttpLoopbackRedirect);

return {
  ...body,
  redirect_uris: redirectUris,
  ...(needsNative ? { application_type: "native" } : {}),
};

이제 Cursor 요청은 https와 localhost 조합으로 자연스럽게 등록된다. Claude Code와 Codex처럼 loopback만 쓰는 흐름도 그대로다. 여러 에이전트를 함께 지원하는 복잡도는 한곳에 모아 두었다.


09-08 현재

Grok Bot 에도 테스트 해봤다. 매우 연결 잘된다!!

좋아요저장

댓글

로그인후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.