hermes-agent-features/agent/transports
HKPA 2f91a8406c fix(agent): only strip mcp_ prefix for OAuth-injected tools (GH-25255)
When strip_tool_prefix=True (Anthropic OAuth path), normalize_response
unconditionally stripped the mcp_ prefix from ALL tool names starting
with mcp_. This broke Hermes-native MCP server tools (registered under
their full mcp_<server>_<tool> name in the registry) because the stripped
name doesn't match any registry entry.

Fix: check the tool registry before stripping. Only strip when:
- The stripped name EXISTS in the registry (OAuth-injected tool)
- The full name does NOT exist in the registry

This preserves backward compatibility for OAuth-injected tools while
protecting native MCP server tools from incorrect prefix removal.

7 new tests covering: OAuth strip, native preserve, no-flag, non-mcp,
unknown tools, mixed responses, and dual-registration edge case.

Signed-off-by: HKPA <hayka-pacha@users.noreply.github.com>
2026-05-24 15:27:45 -07:00
..
__init__.py
anthropic.py fix(agent): only strip mcp_ prefix for OAuth-injected tools (GH-25255) 2026-05-24 15:27:45 -07:00
base.py
bedrock.py
chat_completions.py fix(transport): strip Hermes-internal scaffolding keys before chat.completions 2026-05-24 15:15:37 -07:00
codex_app_server_session.py fix(tui): handle images with codex app-server 2026-05-23 20:40:09 -07:00
codex_app_server.py fix(codex): allow kanban worker board writes 2026-05-17 11:50:43 -07:00
codex_event_projector.py
codex.py fix(xai): restore encrypted reasoning replay across turns 2026-05-20 23:12:45 -07:00
hermes_tools_mcp_server.py
types.py