feat: Deferred (proxied) tools can now be composed via the Bash tool - #360
Merged
Conversation
prepare for lazy init of built in servers
servers wihtin spawn()
…o aether can call itself
…er a unix socket, to support aether being able to compose MCP tool calls in Bash
…ools via bash composition
… issue with mcp sub-command
jcarver989
marked this pull request as ready for review
August 18, 2026 16:01
Merged
jcarver989
pushed a commit
that referenced
this pull request
Aug 19, 2026
## 🤖 New release * `aether-auth`: 0.1.11 -> 0.1.12 * `aether-utils`: 0.2.11 -> 0.2.12 * `aether-llm-codegen`: 0.2.18 -> 0.2.19 * `aether-llm`: 0.7.26 -> 0.7.27 * `aether-mcp-utils`: 0.5.31 -> 0.5.32 * `aether-acp-utils`: 0.3.37 -> 0.3.38 * `aether-agent-core`: 0.6.31 -> 0.6.32 * `aether-lspd`: 0.1.31 -> 0.1.32 * `aether-project`: 0.5.32 -> 0.5.33 * `aether-telemetry`: 0.1.12 -> 0.1.13 * `aether-mcp-servers`: 0.4.38 -> 0.4.39 * `aether-tui`: 0.2.19 -> 0.2.20 * `aether-wisp`: 0.4.39 -> 0.4.40 * `aether-agent-cli`: 0.7.35 -> 0.7.36 * `aether-evals`: 0.2.24 -> 0.2.25 * `aether-schemas`: 0.1.19 -> 0.1.20 <details><summary><i><b>Changelog</b></i></summary><p> ## `aether-auth` <blockquote> ## [0.1.12](aether-auth-v0.1.11...aether-auth-v0.1.12) - 2026-08-19 ### Added - *(mcp)* support Client ID Metadata Documents ([#348](#348)) ### Other - Refactor/credential storage ([#345](#345)) </blockquote> ## `aether-utils` <blockquote> ## [0.2.12](aether-utils-v0.2.11...aether-utils-v0.2.12) - 2026-08-19 ### Added - Allow proxying tools within a MCP server ([#341](#341)) </blockquote> ## `aether-llm-codegen` <blockquote> ## [0.2.19](aether-llm-codegen-v0.2.18...aether-llm-codegen-v0.2.19) - 2026-08-19 ### Other - scheduled code-cleanup ([#331](#331)) </blockquote> ## `aether-llm` <blockquote> ## [0.7.27](aether-llm-v0.7.26...aether-llm-v0.7.27) - 2026-08-19 ### Added - *(mcp)* support Client ID Metadata Documents ([#348](#348)) ### Other - Update models ([#363](#363)) - Update models ([#359](#359)) - Update models ([#349](#349)) - Refactor/credential storage ([#345](#345)) - cleanup warnings - Update models ([#336](#336)) </blockquote> ## `aether-mcp-utils` <blockquote> ## [0.5.32](aether-mcp-utils-v0.5.31...aether-mcp-utils-v0.5.32) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) - *(mcp)* support Client ID Metadata Documents ([#348](#348)) - Allow proxying tools within a MCP server ([#341](#341)) - *(mcp-servers)* Bash and Sub-agents can now be run in foreground or background by main agent ([#340](#340)) - Support MCP tasks ([#339](#339)) ### Fixed - *(mcp)* classify OAuth challenges accurately ([#347](#347)) ### Other - *(deps)* bump agent-client-protocol from 0.14.0 to 2.0.0 ([#285](#285)) - remove nested Cargo lockfiles ([#352](#352)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) - Prefer connecting with new 7-28-2026 mcp protocol ([#332](#332)) </blockquote> ## `aether-acp-utils` <blockquote> ## [0.3.38](aether-acp-utils-v0.3.37...aether-acp-utils-v0.3.38) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) ### Other - *(deps)* bump agent-client-protocol from 0.14.0 to 2.0.0 ([#285](#285)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) </blockquote> ## `aether-agent-core` <blockquote> ## [0.6.32](aether-agent-core-v0.6.31...aether-agent-core-v0.6.32) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) - *(mcp)* support Client ID Metadata Documents ([#348](#348)) - Allow proxying tools within a MCP server ([#341](#341)) - *(mcp-servers)* Bash and Sub-agents can now be run in foreground or background by main agent ([#340](#340)) - Support MCP tasks ([#339](#339)) ### Fixed - *(mcp)* classify OAuth challenges accurately ([#347](#347)) ### Other - *(deps)* bump agent-client-protocol from 0.14.0 to 2.0.0 ([#285](#285)) - remove nested Cargo lockfiles ([#352](#352)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) - scheduled code-cleanup ([#329](#329)) </blockquote> ## `aether-lspd` <blockquote> ## [0.1.32](aether-lspd-v0.1.31...aether-lspd-v0.1.32) - 2026-08-19 ### Other - scheduled code-cleanup ([#328](#328)) </blockquote> ## `aether-project` <blockquote> ## [0.5.33](aether-project-v0.5.32...aether-project-v0.5.33) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) ### Other - scheduled code-cleanup ([#328](#328)) </blockquote> ## `aether-telemetry` <blockquote> ## [0.1.13](aether-telemetry-v0.1.12...aether-telemetry-v0.1.13) - 2026-08-19 ### Other - *(deps)* bump agent-client-protocol from 0.14.0 to 2.0.0 ([#285](#285)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) - scheduled code-cleanup ([#329](#329)) </blockquote> ## `aether-mcp-servers` <blockquote> ## [0.4.39](aether-mcp-servers-v0.4.38...aether-mcp-servers-v0.4.39) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) - *(mcp-servers)* Bash and Sub-agents can now be run in foreground or background by main agent ([#340](#340)) - Support MCP tasks ([#339](#339)) ### Other - scheduled code-cleanup ([#331](#331)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) - scheduled code-cleanup ([#328](#328)) - release ([#325](#325)) </blockquote> ## `aether-tui` <blockquote> ## [0.2.20](aether-tui-v0.2.19...aether-tui-v0.2.20) - 2026-08-19 ### Other - scheduled code-cleanup ([#331](#331)) </blockquote> ## `aether-wisp` <blockquote> ## [0.4.40](aether-wisp-v0.4.39...aether-wisp-v0.4.40) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) - Support MCP tasks ([#339](#339)) ### Other - *(deps)* bump agent-client-protocol from 0.14.0 to 2.0.0 ([#285](#285)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) </blockquote> ## `aether-agent-cli` <blockquote> ## [0.7.36](aether-agent-cli-v0.7.35...aether-agent-cli-v0.7.36) - 2026-08-19 ### Added - Deferred (proxied) tools can now be composed via the Bash tool ([#360](#360)) - Allow proxying tools within a MCP server ([#341](#341)) - *(mcp-servers)* Bash and Sub-agents can now be run in foreground or background by main agent ([#340](#340)) - Support MCP tasks ([#339](#339)) ### Other - *(deps)* bump agent-client-protocol from 0.14.0 to 2.0.0 ([#285](#285)) - Refactor/credential storage ([#345](#345)) - Upgrade to rmcp 3.1.1 and MCP tool calls now use multi round trip requests (MRTR) ([#337](#337)) - scheduled code-cleanup ([#329](#329)) - release ([#325](#325)) </blockquote> ## `aether-evals` <blockquote> ## [0.2.25](aether-evals-v0.2.24...aether-evals-v0.2.25) - 2026-08-19 ### Other - scheduled code-cleanup ([#329](#329)) </blockquote> ## `aether-schemas` <blockquote> ## [0.1.20](aether-schemas-v0.1.19...aether-schemas-v0.1.20) - 2026-08-19 ### Other - update Cargo.lock dependencies </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: contextbridge-pr-automation[bot] <259134118+contextbridge-pr-automation[bot]@users.noreply.github.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aether has long supported a "proxy" for tools that allowed progressive discovery by deferring when we load MCP tools into context. Prior to this PR we would do this by writing proxied tools to a tmp dir on the file system, which allowed the agent to use its
Bashtool to dynamically discover and load tool schemas.This worked very well, but one major downside is the agent was unable to compose tool calls in a way that avoided tool results passing directly into context.
CloudFlare's Code Mode was an early experiment to sidestep this problem by giving the agent a tool to write TypeScript that called MCP servers.
Changes
This PR gives Aether the equivalent of a "code mode". But, instead of embedding an interpreter for TS, Lua or Bash, we allow the agent to compose MCP tool calls using its
Bashtool by giving the our CLI amcpsub-command to list servers, their tools, and call a tool. This allows the agent to compose tool calls via Unix pipes, pipe tool results intojq, pipe output to files and...all sorts of other useful things.