Appearance
MCP Extensions
Goose's defining feature is its MCP-native architecture. It connects to 70+ MCP servers covering databases, cloud services, APIs, local tools, and more. Each MCP server adds tools that Goose can call. This lesson covers discovering, connecting, and managing MCP extensions.

What you'll learn
- Goose connects to 70+ MCP servers through the Model Context Protocol
- Each MCP server adds domain-specific tools: databases, cloud APIs, infrastructure, local utilities
- MCP servers are configured once and available across all Goose sessions
Build it
Step 1: Browse available extensions
Check the extension catalog to see what pre-built MCP servers are available for immediate use.
bash
goose extensions listStep 2: Connect an MCP server
Add the specific MCP servers required for your workflow, providing any necessary connection strings or directory paths.
bash
# PostgreSQL database
goose mcp add postgres -- npx @anthropic-ai/server-postgres --connection-string "postgresql://localhost/mydb"
# GitHub integration
goose mcp add github -- npx @modelcontextprotocol/server-github
# Filesystem access
goose mcp add filesystem -- npx @modelcontextprotocol/server-filesystem /path/to/directoryStep 3: Use MCP tools in a session
Now submit a natural language prompt that requires Goose to query the connected database and generate output.
bash
goose run "Query the PostgreSQL database for all users who signed up in the last 30 days and create a summary report"Goose detects the relevant MCP server, connects to PostgreSQL, runs the query, and produces the report.
What goes wrong
| Mistake | How you notice it | The fix |
|---|---|---|
| MCP server fails to start | Tools don't appear or return errors | Test the MCP server command directly in terminal first |
| Too many MCP servers connected | Context window overflows | Only connect servers you actively use. Disconnect unused ones |
Next: Local-First Architecture