Skip to content

Update to rmcp 1.1.0#7619

Merged
jamadeo merged 16 commits intomainfrom
rmcp-1.0
Mar 6, 2026
Merged

Update to rmcp 1.1.0#7619
jamadeo merged 16 commits intomainfrom
rmcp-1.0

Conversation

@jamadeo
Copy link
Copy Markdown
Collaborator

@jamadeo jamadeo commented Mar 3, 2026

Bumps goose to the pre-release of v1 of rmcp

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0dcb08ac30

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Cargo.toml Outdated

[workspace.dependencies]
rmcp = { version = "0.16", features = ["schemars", "auth"] }
rmcp = { path = "../rust-sdk/crates/rmcp", features = ["schemars", "auth"] }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use a published rmcp source for workspace dependency

Pointing rmcp to ../rust-sdk/crates/rmcp makes this repo non-self-contained: any clone/build environment that does not also have that sibling checkout will fail dependency resolution before compilation. This blocks standard cargo build/test workflows for contributors and CI jobs that only fetch this repository.

Useful? React with 👍 / 👎.

title: tool.title,
meta: Some(rmcp::model::Meta(meta_map)),
});
tools.push(Tool::new_with_raw(public_name, tool.description, tool.input_schema));
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Preserve tool ownership metadata when caching tools

This now computes meta_map but drops it when constructing the tool, so cached tools no longer carry goose_extension metadata. resolve_tool falls back to get_tool_owner for unprefixed tool names, and without this metadata those calls fail with "Tool '' has no owner", breaking dispatch for first-class/unprefixed extensions.

Useful? React with 👍 / 👎.

content: filtered_content,
..result.clone()
}),
tool_result: Ok(CallToolResult::success(filtered_content)),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep original tool-result status when filtering audience

Rebuilding every filtered tool response with CallToolResult::success(...) unconditionally clears error state and drops non-content fields from the original result. When a tool call returns an error (or structured/meta payload), agent_visible_content() now turns it into a successful empty/plain result, which changes model-visible semantics and can cause incorrect follow-up behavior.

Useful? React with 👍 / 👎.

@jamadeo jamadeo changed the title Rmcp 1.0 Update to rmcp 1.0 pre-release Mar 3, 2026
@jamadeo jamadeo requested a review from alexhancock March 3, 2026 16:36
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c1979e2af2

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

name: Cow::Owned(name),
arguments,
};
let tool_call = CallToolRequestParams::new(Cow::Owned(name));
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Preserve parsed tool-call arguments for local inference

This path now parses tool-call arguments into _arguments but then builds CallToolRequestParams with CallToolRequestParams::new(...) and never reattaches them, so local-inference tool calls are emitted with arguments == None. Any tool requiring inputs (for example developer__shell needing command) will fail validation or execute incorrectly even when the model supplied valid arguments; the same regression is also present in extract_xml_tool_call_messages where _args is ignored.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6438230f71

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines 171 to 173
let _ = handler.try_send(ServerNotification::ProgressNotification(
ProgressNotification {
params: params.clone(),
method: ProgressNotificationMethod,
extensions: context.extensions.clone(),
},
Notification::new(params.clone()),
));
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve notification extensions when forwarding events

This now constructs forwarded progress notifications with Notification::new(params.clone()) while ignoring NotificationContext, which strips any server-provided notification extensions before subscribers receive ServerNotification. For MCP servers that attach vendor metadata in notification extensions, downstream handlers subscribed via McpClient::subscribe() will silently lose that data on progress/logging updates, changing runtime behavior compared with the previous forwarding path.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d58ed076ea

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

method: LoggingMessageNotificationMethod,
extensions: context.extensions.clone(),
},
Notification::new(params.clone()),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve extensions when forwarding logging notifications

Forwarding logging notifications with Notification::new(params.clone()) drops the server-provided NotificationContext extensions, because this path no longer copies context.extensions into the emitted ServerNotification. Any MCP server that encodes vendor metadata (for example correlation IDs or custom routing hints) in notification extensions will lose that data for subscribers using McpClient::subscribe(), which is a behavior regression from the previous implementation.

Useful? React with 👍 / 👎.

@jamadeo jamadeo changed the title Update to rmcp 1.0 pre-release Update to rmcp 1.1.0 Mar 5, 2026
Copy link
Copy Markdown
Collaborator

@alexhancock alexhancock left a comment

Choose a reason for hiding this comment

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

LGTM other than the lint issue!

@jamadeo jamadeo enabled auto-merge March 6, 2026 02:35
@jamadeo jamadeo added this pull request to the merge queue Mar 6, 2026
Merged via the queue into main with commit 325bf39 Mar 6, 2026
20 of 21 checks passed
@jamadeo jamadeo deleted the rmcp-1.0 branch March 6, 2026 02:53
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
* origin/main: (29 commits)
  Update to rmcp 1.1.0 (#7619)
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
  fix(shell): replace global static output buffer with per-instance TempDir (#7632)
  opt: remove timestamped config file backup (#7618)
  chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
  chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
  chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
  fix: resolve parameters in initial message with autosubmit (#7659)
  fix: this should not be blocked (#7656)
  Relax the assertion for the model list ACP test (#7653)
  fix: add analyzer extension in recipe to maintain backwards compatibility  (#7652)
  docs: add GOOSE_INPUT_LIMIT environment variable documentation (#7299)
  ...
michaelneale added a commit that referenced this pull request Mar 6, 2026
* origin/main: (40 commits)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
  fix(shell): replace global static output buffer with per-instance TempDir (#7632)
  opt: remove timestamped config file backup (#7618)
  chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
  chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
  chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
  fix: resolve parameters in initial message with autosubmit (#7659)
  fix: this should not be blocked (#7656)
  Relax the assertion for the model list ACP test (#7653)
  fix: add analyzer extension in recipe to maintain backwards compatibility  (#7652)
  ...
Abhijay007 pushed a commit to Abhijay007/goose that referenced this pull request Mar 6, 2026
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
* origin/main: (59 commits)
  fix: restore smart-approve mode (#7690)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
  fix(shell): replace global static output buffer with per-instance TempDir (#7632)
  opt: remove timestamped config file backup (#7618)
  chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
  chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
  chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
  fix: resolve parameters in initial message with autosubmit (#7659)
  fix: this should not be blocked (#7656)
  Relax the assertion for the model list ACP test (#7653)
  ...
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
…e-issue

* origin/main:
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  gh fall back (#7695)
  fix: restore smart-approve mode (#7690)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
jh-block added a commit that referenced this pull request Mar 9, 2026
…deps

* origin/main: (34 commits)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  gh fall back (#7695)
  fix: restore smart-approve mode (#7690)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  ...

# Conflicts:
#	Cargo.lock
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.

2 participants