# KnowMan MCP server for Goose

Client: Goose

Goose connects to applications and tools through extensions based on the [Model Context Protocol](https://www.knowman.io/guides/what-is-an-mcp-server), and any MCP server can be added as a goose extension ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)). Add a `knowman` entry to `~/.config/goose/config.yaml` ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)) that runs `npx -y @knowman/mcp` with your `KNOWMAN_API_KEY` ([KnowMan MCP guide](https://www.knowman.io/guides/mcp-server-knowledge-base)). KnowMan is a stdio server, so it runs locally through Node 22 or newer.

## knowman extension in ~/.config/goose/config.yaml

```yaml
extensions:
  knowman:
    name: KnowMan
    cmd: npx
    args:
      - "-y"
      - "@knowman/mcp"
    enabled: true
    envs:
      KNOWMAN_API_KEY: "<YOUR_KNOWMAN_API_KEY>" # substitute your key; keys look like km_...
    type: stdio
    timeout: 300
```

## 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). A stdio extension entry uses the fields `name`, `cmd`, `args`, `enabled`, `envs`, `type`, and `timeout`, nested under the `extensions` key ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). For a local server such as KnowMan, set Type to Standard IO ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)).

## Add the extension with the goose CLI

Run `goose configure`, select Add Extension from the menu, then choose Command-Line Extension ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)). The CLI prompts for the extension name, the command to run, a timeout in seconds, and optional environment variables ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). Extensions enabled this way last only for the current session unless configured as defaults ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)).

## 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](https://www.knowman.io/guides/personal-knowledge-base), 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). Start a new Goose session and ask it to search your library with `kb_search`, which searches [saved items](https://www.knowman.io/guides/how-to-save-articles) by [keyword or meaning](https://www.knowman.io/guides/ai-knowledge-base), 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](https://goose-docs.ai/docs/getting-started/using-extensions/)).

## Common problems

`npx` fails or is not found: the npx commands in the Goose documentation require Node.js installed on your system ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)), 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](https://goose-docs.ai/docs/getting-started/using-extensions/)), 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://www.knowman.io/guides/mcp-server-knowledge-base) and [persistent memory for AI agents](https://www.knowman.io/guides/persistent-memory-for-ai-agents).

## Questions

### 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). The `knowman` entry goes under the `extensions` key ([Goose docs](https://goose-docs.ai/docs/getting-started/using-extensions/)).

### 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](https://goose-docs.ai/docs/getting-started/using-extensions/)). 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](https://goose-docs.ai/docs/getting-started/using-extensions/)).

## Related pages

- [Connect your knowledge base through KnowMan's MCP server](https://www.knowman.io/guides/mcp-server-knowledge-base)

- [What Is a Knowledge Base for AI Agents?](https://www.knowman.io/guides/knowledge-base-for-ai-agents)

- [Persistent Memory for AI Agents](https://www.knowman.io/guides/persistent-memory-for-ai-agents)

- [How to Give Your AI Context from What You Read](https://www.knowman.io/guides/give-your-ai-context)

- [How Do You Connect AI to Your Notes?](https://www.knowman.io/guides/connect-any-ai-to-your-notes)

## More in this topic

- [KnowMan MCP server for Hermes Agent](https://www.knowman.io/integrations/hermes)
- [Add the KnowMan MCP server to Crush](https://www.knowman.io/integrations/crush)
- [Add the KnowMan MCP server to Devin CLI](https://www.knowman.io/integrations/devin-cli)

## More for Goose

- [How to give Goose better memory](https://www.knowman.io/guides/goose-memory)
- [How to teach Goose your knowledge](https://www.knowman.io/guides/teach-goose-your-knowledge)

## Point Goose at everything you have read

Try KnowMan Pro for 14 days with no credit card. [Create your account](https://app.knowman.io/signup)

[Start free](https://app.knowman.io/signup)

Every new account starts with 14 days of Pro. No credit card.

Source: https://www.knowman.io/integrations/goose
