Add KnowMan to the Goose config file
Goose connects to applications and tools through extensions, and extensions are based on the Model Context Protocol, so you can add any MCP server, including one not listed in the Goose directory (Goose docs). KnowMan ships a standalone stdio MCP server, started with npx -y @knowman/mcp.
Open ~/.config/goose/config.yaml, the documented config location; the documentation shows macOS as its example (Goose docs). A stdio extension entry uses the fields name, cmd, args, enabled, envs, type, and timeout, nested under the extensions key (Goose docs). Paste the knowman block above and substitute your key for <YOUR_KNOWMAN_API_KEY>. The timeout field sets how long Goose waits for a tool call from this extension to complete (Goose docs). The server needs Node 22 or newer.
Add the extension in the Goose desktop app
In the desktop app, click the Extensions button on the sidebar, then under Extensions click Add custom extension (Goose docs). For a local server such as KnowMan, set Type to Standard IO (Goose docs). Give the extension an ID such as knowman, and enter npx -y @knowman/mcp as the command, the same npx form the documentation uses for other servers (Goose docs).
Add the extension with the goose CLI
Run goose configure, select Add Extension from the menu, then choose Command-Line Extension (Goose docs). The CLI prompts for the extension name, the command to run, a timeout in seconds, and optional environment variables (Goose docs). Use knowman as the name, npx -y @knowman/mcp as the command, and add KNOWMAN_API_KEY with your key.
Inside a running session, /extension npx -y @knowman/mcp adds a stdio extension on the fly (Goose docs). Extensions enabled this way last only for the current session unless configured as defaults (Goose docs).
Sign in once with knowman login
You can skip the key entirely. Run npx -p @knowman/mcp knowman login once. It opens your browser to sign in, and the saved credential is shared by the CLI and the MCP server, so the envs block can be dropped from the config.
To use a key instead, open Settings > Connections > Connect an AI agent in the KnowMan web app and create one; keys look like km_.... The server talks to KnowMan's HTTP API with a Bearer key in the KNOWMAN_API_KEY environment variable.
Verify the connection
Updates to default extensions apply to future sessions and do not affect currently active sessions (Goose docs). Start a new Goose session and ask it to search your library with kb_search, which searches saved items by keyword or meaning, for example on a topic you have saved. If a call is slow to return, the timeout value in the config sets how long Goose waits (Goose docs).
Common problems
npx fails or is not found: the npx commands in the Goose documentation require Node.js installed on your system (Goose docs), and the KnowMan server needs Node 22 or newer.
No credential set: the MCP server talks to KnowMan's HTTP API with a Bearer key in the KNOWMAN_API_KEY environment variable, or it uses the credential saved by knowman login. Set one of the two, then start a new Goose session.
Wrong extension type: do not add KnowMan as a Remote Extension. That type connects over Streamable HTTP with a URI (Goose docs), while KnowMan is a stdio server, so use Standard IO or Command-Line Extension.
Extension missing in a new session: extensions enabled dynamically last only for that session unless configured as defaults (Goose docs). Put the knowman entry in the config file to keep it.
The six tools KnowMan exposes
Once connected, Goose can call six tools. kb_search searches saved items by keyword or meaning and returns titles, URLs and metadata. kb_ask answers questions with citations. kb_get_item returns the readable content of one item. kb_save saves a URL to the Inbox or the Knowledge Base with an optional note. kb_recent lists recent items. kb_memories lists saved claims, decisions and playbooks.
The Free plan includes five Ask questions a day. For what a connected library adds to agents, see MCP server knowledge base and persistent memory for AI agents.
Questions people ask
Can Goose run any MCP server as an extension?
Yes. Goose extensions are based on the Model Context Protocol, and you can add any MCP server as a goose extension, even if it is not listed in the directory (Goose docs). KnowMan provides a stdio server started with npx -y @knowman/mcp.
Where is the Goose extensions config file?
The documented location is ~/.config/goose/config.yaml, and the documentation uses macOS as its example (Goose docs). The knowman entry goes under the extensions key (Goose docs).
Do I need an API key to connect KnowMan?
No, not if you sign in once. Running npx -p @knowman/mcp knowman login opens a browser, and the saved credential is shared by the CLI and the MCP server, so the envs block can be dropped. Otherwise create a key at Settings > Connections > Connect an AI agent; keys look like km_....
Why did my extension stop working in a new session?
Extensions enabled dynamically during a session last only for that session unless configured as defaults (Goose docs). Add the knowman entry to the config file so it loads every time. Updates apply to future sessions, not the currently active one (Goose docs).