Skip to the page

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

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.
  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, 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. 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)
    {
    "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. 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. 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
    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.

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: [email protected].

More

SpecStream for kotaemon covers what it does in kotaemon on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].