You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Built-in MCP support: connect local stdio and Streamable HTTP servers, configure them at user/project scope, and manage connections with /mcp or openabcode mcp. See the MCP setup tutorial.
On-demand tool discovery: find tools with tool_search, control direct/deferred/hidden exposure, and keep loaded tools across session branches and reloads. See tool exposure.
OAuth, resources, and programmatic integration: sign in to remote MCP servers, read resources, and use credential-free status snapshots through SDK/RPC. See OAuth, resources, and SDK integration.
Breaking Changes
AgentSession.dispose() now returns Promise<void>; await it to finish extension shutdown and MCP process cleanup.
Added
Added built-in MCP client integration (createMcpExtension()) supporting stdio and Streamable HTTP transports, user (~/.openabcode/agent/mcp.json) and project (.openabcode/mcp.json) configurations, /mcp interactive manager, and openabcode mcp <add|remove|list|login|logout> CLI commands, plus --no-mcp to disable built-in MCP.
Added deferred (default), direct, and hidden tool exposure modes with per-tool toolExposure overrides, BM25-based tool_search (createToolSearchExtension()), <mcp_servers> system prompt summaries, notifications/tools/list_changed dynamic updates, and branch-aware session restoration across resume, fork, /tree, and /reload.
Added registerMcpServer(), unregisterMcpServer(), getMcpServers(), mcp_servers_change, and registerToolRenderer() on ExtensionAPI.
Added credential-free getMcpStatus() snapshots for SDK/extensions, RPC get_mcp_status, streamed mcp_status_change events, and dedicated protocol conformance CI.
Preserve tool-returned isError, structuredContent, and declared outputSchema through the agent pipeline, including MCP results and extension hooks.
Fixed
Revalidate MCP tool availability and current arguments after reconnect/session-expiry retry; withdrawn tools cannot execute through an older request snapshot.
Await idempotent SDK extension shutdown on disposal and restart MCP after headless /reload; document required extension binding.
Redact secrets from MCP stderr, connection errors, status reports, and log notifications.
Apply shared project-trust rules to MCP shell commands and avoid reading untrusted project files for removal suggestions.