Goose
Goose is an MCP client published by Agentic AI Foundation (AAIF); its MCP spec-revision support has not been verified yet. Last verified 2026-09-15.
Does Goose support the current MCP specification (2026-07-28)?
Undetermined. We have not verified which MCP specification revision Goose supports (as of 2026-09-15).
Which MCP client features does Goose support?
Goose supports: tools, resources, prompts, sampling, elicitation, roots (last verified 2026-09-15).
When were Goose's facts last verified?
2026-09-15. Each fact on this page links to the sources used to verify it.
Goose is a general-purpose AI agent that runs locally, built in Rust and
distributed as a native desktop app for macOS, Linux and Windows plus a CLI
for terminal workflows. It connects to more than 70 MCP extensions,
configured under extensions in ~/.config/goose/config.yaml, each entry
either a stdio command or a streamable_http endpoint. Block donated the
project to the Agentic AI Foundation (AAIF) at the Linux Foundation on
2026-04-07, alongside MCP itself, A2A, and AGENTS.md; its GitHub repository
moved from block/goose to aaif-goose/goose, and the old block/goose
path now returns the identical repository record at the GitHub API level.
Goose's MCP client code implements all six client-facing features tracked by
the official clients matrix. extension_manager.rs implements
list_tools/call_tool, list_resources/read_resource, and
list_prompts/get_prompt; mcp_client.rs enables sampling and
elicitation, implementing create_message and create_elicitation
handlers, and enables roots, implementing list_roots and covered by a unit
test named test_client_capabilities_advertise_roots. Goose also runs its
own bundled MCP servers: the goose mcp <name> CLI subcommand serves
built-in tools such as computercontroller, memory, and tutorial over
stdio for other MCP clients to consume.
No vendor statement names a protocol revision that Goose itself supports.
Goose 1.50.0 briefly changed the default MCP lifecycle to prefer 2026-07-28
via server/discover, and
Goose 1.50.1 reverted that change
on 2026-09-14, restoring the legacy initialize handshake at protocol
version 2025-11-25 as the default; a default negotiation path is not itself
a support claim for the current spec, so spec_status is recorded as unknown.
A single security advisory has been published against the project,
GHSA-r5pp-p5r8-466r (CVE-2026-72718, high severity, patched in 1.44.0),
covering a git core.fsmonitor command-injection flaw in the goose review
CLI command, unrelated to MCP.
How was this verified, and what are the sources?
Verified · method: repo-readme
· confidence 0.85 (Good).
- Repository README for aaif-goose/goose, fetched 2026-09-15 - "goose is a general-purpose AI agent that runs on your machine"; "A native desktop app for macOS, Linux, and Windows. A full CLI for terminal workflows... Built in Rust for performance and portability"; "goose is part of the Agentic AI Foundation (AAIF) at the Linux Foundation" - accessed
- AAIF blog announcement, dated April 7, 2026, fetched 2026-09-15 - "Block has donated goose to the Agentic AI Foundation (AAIF) at the Linux Foundation"; "The GitHub repository and related projects have moved from block/goose to a new org: https://github.com/aaif-goose/goose." The old block/goose path returns the identical repository record at the GitHub API level, confirmed via gh api repos/block/goose - accessed
- crates/goose/src/agents/extension.rs at tag v1.50.1, fetched 2026-09-15 - ExtensionConfig enum (lines 161-263) has exactly four variants: Stdio (serde rename "stdio"), Builtin, Platform, and StreamableHttp (serde rename "streamable_http"); no Sse variant present - accessed
- crates/goose/src/agents/extension_manager.rs at tag v1.50.1, fetched 2026-09-15 - defines async fn list_tools/call_tool (lines 962, 982), list_resources/read_resource (lines 1005, 1025), and list_prompts/get_prompt (lines 1042, 1062), each forwarding to the extension client - accessed
- crates/goose/src/agents/mcp_client.rs at tag v1.50.1, fetched 2026-09-15 - builds client capabilities with .enable_sampling() (line 602), .enable_elicitation() (line 603) and .enable_roots() (line 600); implements create_message (lines 435-523), create_elicitation (lines 526-588) and list_roots (line 394, returning a "working_directory" root); a unit test named test_client_capabilities_advertise_roots (lines 1723-1728) asserts "client should advertise roots capability" - accessed
- crates/goose/src/agents/agent.rs at tag v1.50.1, fetched 2026-09-15 - line 102, "pub const MCP_PROTOCOL_VERSION: ProtocolVersion = ProtocolVersion::V_2025_11_25;", applied in AgentConfig::new (line 252); these are the values restored by the v1.50.1 revert of PR #11827 - accessed
- Repository security advisories for aaif-goose/goose, fetched 2026-09-15 - one published advisory, GHSA-r5pp-p5r8-466r (CVE-2026-72718), severity high, published 2026-07-24: arbitrary command execution via git core.fsmonitor during "goose review", patched in 1.44.0, CWE-94 - accessed
- crates/goose-mcp directory listing and crates/goose-cli/src/cli.rs at tag v1.50.1, fetched 2026-09-15 - the goose-mcp crate contains built-in server implementations (autovisualiser, computercontroller, memory, peekaboo, tutorial); cli.rs defines an Mcp subcommand ("Run one of the mcp servers bundled with goose") that imports goose_mcp::mcp_server_runner - accessed