Skip to content

OAuth refresh goes deadloop loop #310

@AlexMKX

Description

@AlexMKX

In case server is unavailable or token refresh is not successfull somehow, the server goes infinite loop and spamming logs despite the server is disabled. The only solution is to restart mcpproxy itself.

2026-02-28T17:56:06.836421+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[33mWARN#033[0m#011refresh-manager#011oauth/refresh_manager.go:642#011OAuth token refresh failed#011{"server": "gcw2", "err
or": "failed to refresh OAuth token: server not found: gcw2", "error_type": "failed_other", "retry_count": 23158726}
2026-02-28T17:56:06.836444+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[34mINFO#033[0m#011refresh-manager#011oauth/refresh_manager.go:747#011OAuth token refresh retry scheduled#011{"server": "gc
w2", "delay": "0s", "next_attempt": "2026-02-28 17:56:06", "retry_count": 23158726, "refresh_state": "retrying"}
2026-02-28T17:56:06.836476+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[34mINFO#033[0m#011refresh-manager#011oauth/refresh_manager.go:837#011Executing proactive token refresh#011{"server": "gcw2
"}
2026-02-28T17:56:06.836506+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[33mWARN#033[0m#011refresh-manager#011oauth/refresh_manager.go:642#011OAuth token refresh failed#011{"server": "gcw2", "err
or": "failed to refresh OAuth token: server not found: gcw2", "error_type": "failed_other", "retry_count": 23158727}
2026-02-28T17:56:06.836558+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[34mINFO#033[0m#011refresh-manager#011oauth/refresh_manager.go:747#011OAuth token refresh retry scheduled#011{"server": "gc
w2", "delay": "0s", "next_attempt": "2026-02-28 17:56:06", "retry_count": 23158727, "refresh_state": "retrying"}
2026-02-28T17:56:06.836616+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[34mINFO#033[0m#011refresh-manager#011oauth/refresh_manager.go:837#011Executing proactive token refresh#011{"server": "gcw2
"}
2026-02-28T17:56:06.836675+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[33mWARN#033[0m#011refresh-manager#011oauth/refresh_manager.go:642#011OAuth token refresh failed#011{"server": "gcw2", "err
or": "failed to refresh OAuth token: server not found: gcw2", "error_type": "failed_other", "retry_count": 23158728}
2026-02-28T17:56:06.836740+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[34mINFO#033[0m#011refresh-manager#011oauth/refresh_manager.go:747#011OAuth token refresh retry scheduled#011{"server": "gc
w2", "delay": "0s", "next_attempt": "2026-02-28 17:56:06", "retry_count": 23158728, "refresh_state": "retrying"}
2026-02-28T17:56:06.836796+03:00 lingfn mcpproxy[1885]: 2026-02-28 17:56:06#011#033[34mINFO#033[0m#011refresh-manager#011oauth/refresh_manager.go:837#011Executing proactive token refresh#011{"server": "gcw2
"}

Suggested solution:

  1. Stop refreshes if server is disabled.
  2. Use sleep or timer for token refreshes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions