{"version":"2.1.319","anchor":"mcp-tool-calls-download-offers-and-tool-schema-handling","canonical_anchor":"mcp-tool-calls-download-offers-and-tool-schema-handling","heading":"MCP tool results can pass input requests back and carry download offers","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/mcp-tool-calls-download-offers-and-tool-schema-handling","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### MCP tool results can pass input requests back and carry download offers\n\nMCP tool results can now return input_required results unchanged when allowed, and carry download offers through the permission path\n\n**Unclear.** Which MCP servers send download offers, and whether the feature is switched on, is not stated.\n\n**What**\n\nMCP is the way outside tools and servers plug into Claude Code. Claude Code already answered an MCP server's requests for extra input automatically. This release changes how a tool's result is handled after the call:\n\n- A result with resultType `input_required` is now passed back unchanged when the caller sets `allowInputRequired`. Before, only a result of type `task` passed through this way, when `allowTask` was set.\n\n- After an MCP tool call, a result that is an input-required response is returned as `inputRequired`.\n\n- Results now come with `downloadOffers`, worked out from what the server says it supports, and returned alongside the content. The client handles `result.downloadOffers` through the permission and user-input path, so they go through the normal asking and answering steps.\n\n- For tools that do not take file input, a new schema handler is applied.\n\nThe `tengu_mcp_strip_trailing_xml_tags` switch is not changed by this release.\n\n**Why**\n\nThis looks like the start of MCP servers being able to offer files for download and to ask for input partway through a call, with the download going through Claude Code's permission prompts.\n\n- Flag `tengu_mcp_strip_trailing_xml_tags`: Not enough to say (read for one account on one subscription tier against v2.1.319; this account: no value returned, anonymous baseline: no value returned, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: MCP\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}