fix-hermes-notion-mcp-oauth-callback-race-windows

Fix Hermes Notion MCP OAuth callback race on Windows by binding the callback server before opening the browser.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/Pans0020/opencode-skills --skill fix-hermes-notion-mcp-oauth-callback-race-windows
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fix-hermes-notion-mcp-oauth-callback-race-windows
Source: https://github.com/Pans0020/opencode-skills/tree/main/fix-hermes-notion-mcp-oauth-callback-race-windows
Command: npx skills add https://github.com/Pans0020/opencode-skills --skill fix-hermes-notion-mcp-oauth-callback-race-windows

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill resolves a Windows OAuth callback race where Hermes reports a successful authorization in the browser but still times out or fails to persist the Notion MCP OAuth token, causing repeated authorization prompts.

Core Features & Use Cases

  • Diagnoses callback listener timing issues: Identifies whether the local callback server is not listening on 127.0.0.1:<port>/callback when Notion redirects back.
  • Guides code-level remediation: Implements the correct operational order by binding the callback server before opening the browser, then using the bound redirect URI for the OAuth request.
  • Provides Windows-specific mitigation and verification: Reduces repro failure rate by managing consent tabs and verifying token persistence via the Hermes token directory, not just browser status.
  • Use Case: When testing hermes mcp test notion on Windows, you can eliminate “Authorization Successful”-but-not-connected behavior so tool discovery and Notion data access work reliably across runs.

Quick Start

Run the Notion MCP OAuth test on Windows and use the recommended callback-first flow to ensure the redirect URI matches the bound local port and the token is persisted before the command times out.

Frequently Asked Questions about fix-hermes-notion-mcp-oauth-callback-race-windows

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix the OAuth callback race condition on Windows for Hermes Notion MCP?

Fix the Hermes Notion MCP OAuth callback race by binding the local 127.0.0.1 callback server before opening the browser, constructing the redirect URI from the actual bound port, and keeping the listener alive until token persistence completes.

Why does Notion MCP require re-authorization on every run in Hermes on Windows?

Notion MCP requires repeated re-authorization because the local callback listener closes before token persistence finishes. Keeping the 127.0.0.1 callback server alive until the OAuth token is saved to the Hermes token directory prevents this failure.

Does the Hermes Notion MCP OAuth fix work on Windows for the callback redirect URI?

Yes, the Hermes Notion MCP OAuth fix targets Windows specifically, ensuring the 127.0.0.1 callback listener is bound and ready before the browser opens, so the redirect URI receives the token reliably.

How do I verify Notion MCP OAuth token persistence after the browser redirect succeeds?

Verify Notion MCP OAuth token persistence by checking the Hermes token directory directly rather than relying on browser status, ensuring the token was saved before the command times out.

What is the correct operational order for Notion MCP OAuth callback handling to prevent races?

The correct order for Notion MCP OAuth callback handling is starting and binding the 127.0.0.1 callback server first, constructing the redirect URI from the bound port, opening the browser, and keeping the listener alive until token persistence completes.