Skip to content

Conversation

@alexhancock
Copy link
Collaborator

@alexhancock alexhancock commented Jan 23, 2026

rmcp upgrade to 0.14.0. Widespread but simple changes re: CallToolRequestParams and the meta field

Copy link
Contributor

Copilot AI left a 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 rmcp from 0.13.0 to 0.14.0 in Cargo.toml and Cargo.lock.
  • Replace usages of CallToolRequestParam with CallToolRequestParams across agents, providers, conversation types, CLI, server, and tests, supplying meta: None where required.
  • Update MCP client/server code to use the new *RequestParams/PaginatedRequestParams/ReadResourceRequestParams/GetPromptRequestParams structs and to populate new meta fields with None where 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.

@alexhancock alexhancock force-pushed the alexhancock/rmcp-0.14 branch from 62bd0b4 to c961e3d Compare January 23, 2026 19:02
@alexhancock alexhancock force-pushed the alexhancock/rmcp-0.14 branch from c961e3d to b7b5bfa Compare January 23, 2026 19:20
Copilot AI review requested due to automatic review settings January 23, 2026 19:20
Copy link
Contributor

Copilot AI left a 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.

@alexhancock alexhancock merged commit 8233f0a into main Jan 23, 2026
25 checks passed
@alexhancock alexhancock deleted the alexhancock/rmcp-0.14 branch January 23, 2026 19:52
zanesq added a commit that referenced this pull request Jan 26, 2026
* 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
katzdave added a commit that referenced this pull request Jan 26, 2026
…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)
  ...
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.

3 participants