How to add MCP servers to Goose
Goose is an open-source AI agent with a desktop app and a CLI. MCP servers are called extensions in Goose and live in ~/.config/goose/config.yaml.
Add an MCP server to Goose
- 1Run
goose configure→ Add Extension, or add the entry to~/.config/goose/config.yamlunderextensions. - 2Local servers use
cmd,argsandenvs; remote servers usetype: streamable_httpanduri. - 3Restart the Goose session to load the extension.
Example: Codebase Memory
extensions:
codebase-memory-mcp:
name: "codebase-memory-mcp"
enabled: true
timeout: 300
type: stdio
cmd: "npx"
args:
- "-y"
- "codebase-memory-mcp"Extensions that run on their own
- Goose calls MCP servers extensions and, by default, uses them without asking each time.
- Extensions are checked against known malware before they start.
- Extensions added during a session with
/extensiondisappear when the session ends. - OAuth sign-in listens on
127.0.0.1;GOOSE_OAUTH_CALLBACK_PORTfixes the port.
Where Goose keeps MCP servers
~/.config/goose/config.yaml
Check it loaded: goose session → /extensions
Limits and settings
- Goose runs autonomously by default, so tools are not confirmed one by one unless you change the permission mode.
- Extensions are checked for known malware before they start.
- Extensions added during a session last only for that session.
- Timeouts are set per extension in seconds.
When a server does not work in Goose
- Check the extension's toggle in the Extensions sidebar (desktop) or with
goose configure→ Toggle Extensions (CLI). - Disable an extension before removing it.
- Set
GOOSE_OAUTH_CALLBACK_PORTif the OAuth callback port is blocked.
Goose MCP questions
How do I add an MCP server to Goose?
In the desktop app, open Extensions → Add custom extension. In the CLI, run goose configure and choose Add Extension.
Where is the Goose config file?
~/.config/goose/config.yaml, with each server under extensions.
Does Goose ask before using a tool?
Not by default; it works autonomously. Change the permission mode if you want approvals.
Does Goose support OAuth servers?
Yes, for remote Streamable HTTP extensions.
Popular MCP servers for Goose
- 1
Provides a local knowledge graph that connects source code, documentation, and infrastructure to give AI agents structural context.
Config for Goose
~/.config/goose/config.yamlextensions: codebase-memory-mcp: name: "codebase-memory-mcp" enabled: true timeout: 300 type: stdio cmd: "npx" args: - "-y" - "codebase-memory-mcp" - 2
Securely execute LLM-generated code in isolated containers or local Linux and Windows sandboxes across multiple programming languages.
Config for Goose
~/.config/goose/config.yamlextensions: llm-sandbox: name: "llm-sandbox" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "llm-sandbox" - 3
Lets an AI client run browser tasks in a real Chrome browser, including fills forms, clicks, extracts data, and downloads files.
Config for Goose
~/.config/goose/config.yamlextensions: browser-use: name: "browser-use" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "browser-use" - 4
Lets an AI client create, inspect, validate, and save editable 3D building scenes, including walls, rooms, doors, and furnishings.
Config for Goose
~/.config/goose/config.yamlextensions: editor: name: "editor" enabled: true timeout: 300 type: stdio cmd: "npx" args: - "-y" - "@pascal-app/mcp" - 5
Orchestrate AI agents and human operators through a unified task management platform with real-time synchronization and visual workflows.
Config for Goose
~/.config/goose/config.yamlextensions: agentrq: name: "agentrq" enabled: true timeout: 300 type: streamable_http uri: "https://mcp.agentrq.com/mcp" - 6
Provides a unified control plane for AI agents to operate digital content creation tools, game engines, and design software through a single protocol.
Config for Goose
~/.config/goose/config.yamlextensions: dcc-mcp-core: name: "dcc-mcp-core" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "dcc-mcp-server" - 7
Lets AI agents search, run, and read results from thousands of web scraping and automation Actors on Apify Store.
Config for Goose
~/.config/goose/config.yamlextensions: apify-mcp-server: name: "apify-mcp-server" enabled: true timeout: 300 type: streamable_http uri: "https://mcp.apify.com/" - 8
Transcribe local audio files to text using SenseVoiceSmall with private, on-device inference.
Config for Goose
~/.config/goose/config.yamlextensions: funasr-mcp: name: "funasr-mcp" enabled: true timeout: 300 type: stdio cmd: "docker" args: - "run" - "-i" - "--rm" - "ghcr.io/modelscope/funasr-mcp:0.1.2" - 9
Lets an AI client read, write, and search a local-first knowledge graph stored as Markdown files.
Config for Goose
~/.config/goose/config.yamlextensions: basic-memory: name: "basic-memory" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "basic-memory" - 10
Provides AST-based semantic code search for local repositories using incremental re-indexing and natural language queries.
Config for Goose
~/.config/goose/config.yamlextensions: cocoindex-code: name: "cocoindex-code" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "cocoindex-code" - 11
Enforces policy as code to orchestrate, schedule, and audit AI agent workloads with deterministic execution and verifiable lineage.
Config for Goose
~/.config/goose/config.yamlextensions: bernstein: name: "bernstein" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "bernstein" - 12
Enforces policy-as-code governance for AI agents through deterministic scheduling and verifiable audit receipts.
Config for Goose
~/.config/goose/config.yamlextensions: bernstein: name: "bernstein" enabled: true timeout: 300 type: stdio cmd: "uvx" args: - "bernstein"