P1: Verify MCP OAuth 2.1 PKCE Client & Test External Integration #117
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Commit
38d84460implementstools/mcp_oauth.py— the OAuth 2.1 PKCE client adapter formcp_tool.py's existingauth: oauthhook.Components:
HermesTokenStorage: persists tokens to~/.hermes/mcp-tokens/<server>.jsonwith 0o600 permissionsAcceptance Criteria
auth: oauth, trigger the OAuth flow in CLI, confirm token exchange succeeds and tokens are saved to~/.hermes/mcp-tokens/<server>.jsonoauth.client_idandoauth.client_secretfrom config, confirm DCR is skipped and pre-registered credentials are usedauth: oauthwith server name../../../etc/passwd, confirm it is rejected with a path traversal errorWhy This Matters
MCP OAuth opens the door to integrating with external platforms without hardcoding credentials. This is sovereignty in practice: authenticate once, rotate automatically, never leak tokens.
Hints
tools/mcp_oauth.py(610 lines)mcp_servers: {server: {url: '...', auth: 'oauth', oauth: {client_id: '...', client_secret: '...'}}}Estimated Effort
4-6 hours (requires an OAuth-capable MCP server or a local test server)
Parent: #111
🏷️ Automated Triage Check
Timestamp: 2026-04-06T16:30:12.867272
Agent: Allegro Heartbeat
This issue has been identified as needing triage:
Checklist
Context
Automated triage from Allegro 15-minute heartbeat