> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mcp-assistant.in/llms.txt
> Use this file to discover all available pages before exploring further.

# June 15–22, 2026

> Release notes for June 15–22, 2026: error envelope tracking in Code Mode, tool-router ID format change, documentation restructure, and CI improvements.

## New features

### error envelope tracking in Code Mode

`normalizeMcpToolResult` now preserves the `isError` flag when a single text content item is returned. Previously, a tool returning `{isError: true, content: [{type: "text", text: "..."}]}` would lose the error signal after normalization.

`hostCallTool` in the sandbox runtime now checks `result.isError` after calling `server.callTool()`. Error envelopes are recorded in the `toolCalls` array with `ok: false` and the extracted error message, without crashing the script.

### Double-colon tool ID format

Tool IDs now use double-colon format (`serverId::toolName`) consistently across the Tool Router, search, and schema lookup, making parsing unambiguous when tool names or server IDs contain special characters.

## Updates

### Documentation restructure

* Added dedicated documentation for the remote MCP server endpoint and usage guide
* MCP Assistant documentation added to the docs navigation
* Developer Guide updated for clarity with expanded architecture section and Neon storage setup
* README restructured with MCP documentation links, server details, and managed platform examples

### CI improvements

* Package-specific npm publish workflow added
* SDK release tags now use a consistent naming convention
* Tool Router released as a standalone package (v0.5.0)

## Bug fixes

* **Code Mode error envelopes** — `normalizeMcpToolResult` no longer drops `isError` for single text content items (PR [#160](https://github.com/zonlabs/mcp-ts/pull/160))
* **Tool Router ID format** — Fixed inconsistency where tool IDs used different formats in different parts of the API
