> SpecStream is the live web data engine for teams and agents. This is the Markdown copy of https://specstream.ai/docs/integrations/kotaemon. Every page, with what SpecStream does and costs: https://specstream.ai/llms.txt

# kotaemon

Add SpecStream to kotaemon in the MCP Servers tab, and its ReAct and ReWOO agents can search the live web and read pages next to your own documents.

[SpecStream for kotaemonAI assistants](https://specstream.ai/integrations/kotaemon.md)

## What you need

-   kotaemon 0.12.0 or newer, which has the **MCP Servers** tab under **Resources**.
-   A SpecStream account. New accounts start with $10 of credit, no card. [Create one](https://specstream.ai/signup?utm_source=kotaemon).

1.  1

    ## 1. Create an API key

    kotaemon starts MCP servers as local processes over stdio, or connects over SSE, and sends no headers. SpecStream's server is Streamable HTTP, so kotaemon reaches it through SpecStream's stdio bridge, `specstream-mcp-stdio`, which signs in with a key.

    In SpecStream, open [Agents & API](https://specstream.ai/workspace/agents?tab=keys&utm_source=kotaemon), choose **API keys**, then **Create API key**, and set a total spending limit. kotaemon stores the key with the server's settings in its database, so the limit is what caps it.

2.  2

    ## 2. Add the server in the MCP Servers tab

    Open **Resources**, then **MCP Servers**, then **Add**. Replace the example in **Configuration (JSON)** with the entry below, put your key in place of `YOUR_SPECSTREAM_API_KEY`, and click **Add MCP Servers**. The right column lists the tools once kotaemon has connected.

    The entry starts the bridge with `uvx`, which the kotaemon Docker image installs. The bridge needs Python 3.12 and the image runs 3.11, so `--python 3.12` has uv fetch it on the first start. `enabled_tools` gives the agent web search and page reading only.

    Configuration (JSON)

    ```json
    {
      "mcpServers": {
        "specstream": {
          "transport": "stdio",
          "command": "uvx",
          "args": ["--python", "3.12", "specstream-mcp-stdio"],
          "env": {
            "SPECSTREAM_API_KEY": "YOUR_SPECSTREAM_API_KEY",
            "SPECSTREAM_MCP_URL": "https://api.specstream.ai/mcp"
          },
          "enabled_tools": ["search_web", "read_pages"]
        }
      }
    }
    ```

3.  3

    ## 3. Turn the tools on for an agent

    Open **Settings**, then **Reasoning settings**. Under **ReAct Agent** or **ReWOO Agent**, tick **\[MCP\] specstream** in **Tools for knowledge retrieval**, and click **Save & Close**.

4.  4

    ## 4. Ask in a chat

    In **Chat**, open **Chat settings**, set **Reasoning method** to the agent you set up, and ask a question that needs the web:

    In a kotaemon chat

    ```text
    What changed in the latest PostgreSQL release, and does it affect the setup in my uploaded runbook?
    ```

## What the agent can call

-   `search_web` searches the live web with the Search API, at $5 per 1,000 searches of up to 10 results. Each result carries its URL.
-   `read_pages` returns the text of 1 to 20 pages a call, as Markdown or plain text, at $0.80 per 1,000 pages. A page with no text is not charged.
-   Both take their price from your balance with no quote, up to the key's spending limit.

## Lists of records

SpecStream's server also turns a request for a list into structured rows, priced before the run. A run starts only after the quote's maximum is approved, and a kotaemon agent loop has no step that stops to ask you. To let the agent price lists without starting them, remove `enabled_tools` and give the key read or prepare access: it can price a request but cannot start it. Execute access can start one, up to the key's spending limit. See [how quotes and billing work](https://specstream.ai/docs/billing.md).

## Running kotaemon outside Docker

On Python 3.12 or newer, install the bridge with `pip install specstream-mcp-stdio` and use `"command": "specstream-mcp-stdio"` with `"args": []` in the entry. If the command is not on the `PATH` kotaemon runs with, put its full path in `command`.

## If no tools appear

-   The right column of the **Add** or **View** tab shows `Failed to fetch tools` with the reason.
-   `uvx` not found: you are outside the Docker image. Install the bridge with pip as above.
-   A refused key: check `SPECSTREAM_API_KEY` in the entry. Select the server in the **View** tab, fix **Configuration (JSON)**, and click **Save**.
-   **\[MCP\] specstream** missing in **Reasoning settings**: reload the page after adding the server.

## Remove it

In **Resources**, **MCP Servers**, **View**, select **specstream**, click **Delete**, then **Confirm Delete**. Revoke the key in **Agents & API**. Questions: [support@specstream.ai](mailto:support@specstream.ai).

## More

[SpecStream for kotaemon](https://specstream.ai/integrations/kotaemon.md) covers what it does in kotaemon on one page. Every other tool has its guide in [Connect your tools](https://specstream.ai/docs/integrations.md). You see the most a request can cost before it starts, and the matches are paid from your balance. [Billing](https://specstream.ai/docs/billing.md) has the details. For help, email [support@specstream.ai](mailto:support@specstream.ai).
