Skip to content

Add official Asana MCP via mcp-remote OAuth bridge#16

Merged
BillJr99 merged 1 commit into
mainfrom
claude/asana-mcp-oauth-refresh-znimM
May 31, 2026
Merged

Add official Asana MCP via mcp-remote OAuth bridge#16
BillJr99 merged 1 commit into
mainfrom
claude/asana-mcp-oauth-refresh-znimM

Conversation

@BillJr99

Copy link
Copy Markdown
Owner

Reach the official Asana MCP server (remote, OAuth-protected at
https://mcp.asana.com/v2/mcp) through the mcp-remote stdio bridge, which
performs the OAuth 2.1 authorization-code (PKCE) flow and refreshes the
access token automatically.

  • process_runner: scrape the authorization URL printed to stderr via a
    background reader into a shared pending_auth_urls registry, and extend the
    initialize-handshake timeout (MCPPROXY_AUTH_INIT_TIMEOUT, default 300s) so a
    first-time interactive OAuth flow can complete. The stderr tail buffer still
    surfaces crash causes on EOF.
  • frontend: add GET /api/pending-auth and a wizard poller that shows a
    clickable Authorize link while introspection is blocked on auth.
  • docker-compose: persist the token cache (mcpproxy-mcp-auth volume at
    /app/.mcp-auth, kept out of /app/files so tokens aren't exposed via
    mcpproxy__getfile), set MCP_REMOTE_CONFIG_DIR, and map the OAuth callback
    port 3334. Dev override bind-mounts ./.mcp-auth (gitignored).
  • examples/asana.yaml + README: document the provider and the
    authorize-once-then-silent-refresh flow.
  • tests: cover auth-URL extraction, stderr capture, and registry clearing.

https://claude.ai/code/session_01WBwGMEMH6xsuV3gNVtdLba

Reach the official Asana MCP server (remote, OAuth-protected at
https://mcp.asana.com/v2/mcp) through the mcp-remote stdio bridge, which
performs the OAuth 2.1 authorization-code (PKCE) flow and refreshes the
access token automatically.

- process_runner: scrape the authorization URL printed to stderr via a
  background reader into a shared pending_auth_urls registry, and extend the
  initialize-handshake timeout (MCPPROXY_AUTH_INIT_TIMEOUT, default 300s) so a
  first-time interactive OAuth flow can complete. The stderr tail buffer still
  surfaces crash causes on EOF.
- frontend: add GET /api/pending-auth and a wizard poller that shows a
  clickable Authorize link while introspection is blocked on auth.
- docker-compose: persist the token cache (mcpproxy-mcp-auth volume at
  /app/.mcp-auth, kept out of /app/files so tokens aren't exposed via
  mcpproxy__getfile), set MCP_REMOTE_CONFIG_DIR, and map the OAuth callback
  port 3334. Dev override bind-mounts ./.mcp-auth (gitignored).
- examples/asana.yaml + README: document the provider and the
  authorize-once-then-silent-refresh flow.
- tests: cover auth-URL extraction, stderr capture, and registry clearing.

https://claude.ai/code/session_01WBwGMEMH6xsuV3gNVtdLba
@BillJr99 BillJr99 merged commit aff1bc3 into main May 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants