Skip to content

fix(mcp): honor advertised catalog subscription capabilities - #41

Merged
danielkov merged 3 commits into
mainfrom
fix/mcp-advertised-subscriptions
Oct 19, 2026
Merged

danielkov merged 3 commits into
mainfrom
fix/mcp-advertised-subscriptions

Conversation

@danielkov

Copy link
Copy Markdown
Owner

Summary

Honor explicit listChanged: true advertisements when requesting MCP catalog notifications. Do not open subscriptions/listen during connection, discovery, or authentication reconnect when neither catalog notifications nor resource subscriptions are requested.

Motivation

Servers can advertise tools, resources, and prompts without implementing notification subscriptions. Treating capability presence as notification support sends unsupported requests to these servers.

Technical details

Explicit resource subscriptions still open a modern stream lazily when there is no catalog stream, and reconnect replays the committed resource filter. A modern resource unsubscribe with no controller is a no-op rather than falling back to a legacy RPC. HTTP protocol regressions cover missing, empty, false, mixed, and true catalog advertisements, plus resource-only streams.

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lazy resource subscriptions started after authentication reconnect silently discard resource notifications because they retain the retired transport’s inactive sink.

Took 2 min 42 sec

Comment thread crates/agentkit-mcp/src/lib.rs Outdated

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found. The changes look good to merge.

Took 2 min 29 sec

@danielkov
danielkov merged commit 58d03bd into main Oct 19, 2026
2 checks passed
danielkov added a commit that referenced this pull request Oct 19, 2026
## Summary
Prepare releases for all unpublished package changes and the libraries
that must move together with the new loop API. Update 17 package
versions, their internal dependency requirements, and the workspace
lockfile without changing external dependencies.

## Impact
| Packages | Release |
| --- | --- |
| `agentkit-loop`, `agentkit-adapter-completions`, `agentkit-acp`,
`agentkit-compaction`, `agentkit-reporting` | `0.11.0` |
| All nine `agentkit-provider-*` crates | `0.11.0` |
| `agentkit` facade | `0.12.0` |
| `agentkit-mcp` | `0.11.3` |
| `how-cli` | `0.10.7` |

## Technical details
### Changes included since published releases
Four packages have unpublished source changes relative to their latest
non-yanked crates.io archives: loop, OpenAI, and Anthropic include
context-rejection recovery and classification from #42; MCP includes
advertised catalog subscription capability handling from #41.
Anthropic's cached-token usage fix from #38 is already included in
published `0.10.11`.

The other 12 publishable packages have no unpublished package changes
and retain their versions. The existing publish script covers all 29
publishable workspace members in dependency order; no publish-script
change is needed.

### Coordinated minor versions
The new `ContextRecoveryDeadlineExceeded` variant extends the public,
exhaustive `LoopError` enum, requiring a minor release before 1.0.
Providers, the completions adapter, compaction, ACP, and reporting
expose loop traits or types and therefore move to `0.11.0` together. The
facade moves to `0.12.0`; binary-only `how-cli` takes a patch bump.

All affected version-bearing internal dependency edges are aligned,
including optional facade dependencies and integration-test
requirements, so registry builds do not mix incompatible loop type
identities. Compaction and reporting receive explicit versions rather
than raising the inherited workspace version for unchanged crates. The
lockfile changes only the 17 workspace package versions.
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