-
Notifications
You must be signed in to change notification settings - Fork 2.7k
chore: upgrade to rmcp 0.14.0 #6674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR upgrades the rmcp dependency to 0.14.0 and updates the goose codebase to match the new model APIs, primarily around CallToolRequestParams and new meta fields on various request/response types.
Changes:
- Bump
rmcpfrom0.13.0to0.14.0inCargo.tomlandCargo.lock. - Replace usages of
CallToolRequestParamwithCallToolRequestParamsacross agents, providers, conversation types, CLI, server, and tests, supplyingmeta: Nonewhere required. - Update MCP client/server code to use the new
*RequestParams/PaginatedRequestParams/ReadResourceRequestParams/GetPromptRequestParamsstructs and to populate newmetafields withNonewhere applicable.
Reviewed changes
Copilot reviewed 35 out of 36 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
Cargo.toml |
Bumps workspace rmcp dependency from 0.13.0 to 0.14.0 with same features. |
Cargo.lock |
Regenerates lockfile to pull in rmcp 0.14.0 and rmcp-macros 0.14.0 and update dependent package references. |
crates/goose/tests/repetition_inspector_tests.rs |
Updates test imports and tool call construction to use CallToolRequestParams with meta: None. |
crates/goose/tests/providers.rs |
Adjusts tests to use CallToolRequestParams and initialize meta: None in tool request instances. |
crates/goose/tests/mcp_integration_test.rs |
Switches all tool call vectors and parameters to CallToolRequestParams including replayed session tooling, adding meta: None. |
crates/goose/tests/agent.rs |
Updates mock provider test to construct CallToolRequestParams with meta: None. |
crates/goose/src/tool_monitor.rs |
Changes internal tool monitor API and comparison helpers from CallToolRequestParam to CallToolRequestParams. |
crates/goose/src/tool_inspection.rs |
Updates test ToolRequest construction to wrap CallToolRequestParams including meta: None. |
crates/goose/src/security/security_inspector.rs |
Adjusts security inspector tests to use CallToolRequestParams with meta: None for shell calls. |
crates/goose/src/security/scanner.rs |
Changes prompt injection scanner interfaces and tests to work with CallToolRequestParams and sets meta: None in test tool calls. |
crates/goose/src/providers/venice.rs |
Updates Venice provider's tool call construction to create CallToolRequestParams { meta: None, ... }. |
crates/goose/src/providers/toolshim.rs |
Changes ToolInterpreter trait and Ollama interpreter to return Vec<CallToolRequestParams> and constructs calls with meta: None. |
crates/goose/src/providers/formats/snowflake.rs |
Uses CallToolRequestParams for parsed tool calls, populating meta: None for both streaming and non-streaming paths and tests. |
crates/goose/src/providers/formats/openai_responses.rs |
Updates OpenAI responses handling to emit tool requests using CallToolRequestParams with meta: None. |
crates/goose/src/providers/formats/openai.rs |
Replaces CallToolRequestParam with CallToolRequestParams for OpenAI responses and streaming, including tests and metadata-aware tool requests. |
crates/goose/src/providers/formats/google.rs |
Switches to CallToolRequestParams in provider implementation and tests and updates helper functions to take the new type. |
crates/goose/src/providers/formats/databricks.rs |
Updates Databricks format conversion and tests to use CallToolRequestParams with meta: None. |
crates/goose/src/providers/formats/bedrock.rs |
Changes Bedrock content conversion to create CallToolRequestParams tool requests with meta: None. |
crates/goose/src/providers/formats/anthropic.rs |
Adjusts Anthropic response handling and streaming to create CallToolRequestParams and include meta: None. |
crates/goose/src/providers/chatgpt_codex.rs |
Updates tests constructing tool requests to use CallToolRequestParams and provides meta: None. |
crates/goose/src/conversation/tool_result_serde.rs |
Changes custom (de)serialization to target ToolResult<CallToolRequestParams> and maps legacy formats into the new struct while setting meta: None. |
crates/goose/src/conversation/mod.rs |
Updates tests that build conversations with tool requests to use CallToolRequestParams and include meta: None. |
crates/goose/src/conversation/message.rs |
Changes ToolRequest/FrontendToolRequest and related constructors/tests to use ToolResult<CallToolRequestParams> while keeping custom serde. |
crates/goose/src/context_mgmt/mod.rs |
Updates mock provider and context-management tests to use CallToolRequestParams for tool calls. |
crates/goose/src/agents/moim.rs |
Adjusts MOIM agent tests to construct tool requests with CallToolRequestParams (meta: None). |
crates/goose/src/agents/mcp_client.rs |
Migrates MCP client to new *RequestParams types (create message, elicitation, pagination, read resource, get prompt, call tool) and sets meta: None on params and ClientInfo. |
crates/goose/src/agents/final_output_tool.rs |
Updates final output tool API and tests to accept CallToolRequestParams and adds meta: None when constructing calls. |
crates/goose/src/agents/extension_manager.rs |
Changes extension manager dispatch and tests to accept/use CallToolRequestParams with meta: None. |
crates/goose/src/agents/code_execution_extension.rs |
Updates code execution client to construct CallToolRequestParams for tool invocations with meta: None. |
crates/goose/src/agents/agent.rs |
Changes agent dispatch_tool_call signature to take CallToolRequestParams, aligning with the rest of the codebase. |
crates/goose/examples/image_tool.rs |
Adjusts example to import and construct CallToolRequestParams with meta: None for the image tool. |
crates/goose-server/src/routes/agent.rs |
Updates HTTP call_tool route to create CallToolRequestParams { meta: None, ... } before dispatching. |
crates/goose-mcp/src/developer/rmcp_developer.rs |
Switches developer MCP server to PaginatedRequestParams/GetPromptRequestParams and populates new meta: None in list/get prompt results. |
crates/goose-mcp/src/computercontroller/mod.rs |
Updates resource listing/reading handlers to use PaginatedRequestParams/ReadResourceRequestParams and set meta: None in results. |
crates/goose-cli/src/session/output.rs |
Changes CLI rendering helpers to accept &CallToolRequestParams instead of the old type. |
crates/goose-cli/src/session/export.rs |
Updates tests and helpers in CLI export path to use CallToolRequestParams with meta: None for all constructed tool calls. |
62bd0b4 to
c961e3d
Compare
c961e3d to
b7b5bfa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 36 out of 37 changed files in this pull request and generated no new comments.
* origin/main: fix: dispatch ADD_ACTIVE_SESSION event before navigating from "View All" (#6679) Speed up Databricks provider init by removing fetch of supported models (#6616) fix: correct typos in documentation and Justfile (#6686) docs: frameDomains and baseUriDomains for mcp apps (#6684) docs: add Remotion video creation tutorial (#6675) docs: export recipe and copy yaml (#6680) Test against fastmcp (#6666) docs: mid-session changes (#6672) Fix MCP elicitation deadlock and improve UX (#6650) chore: upgrade to rmcp 0.14.0 (#6674) [docs] add MCP-UI to MCP Apps blog (#6664) ACP get working dir from args.cwd (#6653) Optimise load config in UI (#6662) # Conflicts: # ui/desktop/src/components/Layout/AppLayout.tsx
…o dkatz/canonical-context * 'dkatz/canonical-provider' of github.com:block/goose: (27 commits) docs: add Remotion video creation tutorial (#6675) docs: export recipe and copy yaml (#6680) Test against fastmcp (#6666) docs: mid-session changes (#6672) Fix MCP elicitation deadlock and improve UX (#6650) chore: upgrade to rmcp 0.14.0 (#6674) [docs] add MCP-UI to MCP Apps blog (#6664) ACP get working dir from args.cwd (#6653) Optimise load config in UI (#6662) Fix GCP Vertex AI global endpoint support for Gemini 3 models (#6187) fix: macOS keychain infinite prompt loop (#6620) chore: reduce duplicate or unused cargo deps (#6630) feat: codex subscription support (#6600) smoke test allow pass for flaky providers (#6638) feat: Add built-in skill for goose documentation reference (#6534) Native images (#6619) docs: ml-based prompt injection detection (#6627) Strip the audience for compacting (#6646) chore(release): release version 1.21.0 (minor) (#6634) add collapsable chat nav (#6649) ...
rmcp upgrade to 0.14.0. Widespread but simple changes re:
CallToolRequestParamsand themetafield