Skip to content

feat: Deferred (proxied) tools can now be composed via the Bash tool - #360

Merged
jcarver989 merged 29 commits into
mainfrom
feat/deferred-tools
Aug 18, 2026
Merged

feat: Deferred (proxied) tools can now be composed via the Bash tool #360
jcarver989 merged 29 commits into
mainfrom
feat/deferred-tools

Conversation

@jcarver989

@jcarver989 jcarver989 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

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 Bash tool 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 Bash tool by giving the our CLI a mcp sub-command to list servers, their tools, and call a tool. This allows the agent to compose tool calls via Unix pipes, pipe tool results into jq, pipe output to files and...all sorts of other useful things.

…er a unix socket, to support aether being able to

compose MCP tool calls in Bash
@jcarver989 jcarver989 changed the title refactor: Prepare for better deferred tools implementation. feat: Deferred (proxied) tools can now be composed via the Bash tool Aug 18, 2026
@jcarver989
jcarver989 marked this pull request as ready for review August 18, 2026 16:01
@jcarver989
jcarver989 merged commit 4eca62e into main Aug 18, 2026
13 checks passed
@jcarver989
jcarver989 deleted the feat/deferred-tools branch August 18, 2026 21:13
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant