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

# FetchCoder

Add SpecStream to FetchCoder with one remote entry in `fetchcoder.json`. The terminal agent can then search the live web, read whole pages, and build lists with a source on every value.

[SpecStream for FetchCoderCoding agents](https://specstream.ai/integrations/fetchcoder.md)

## What you need

-   FetchCoder 1.1.0, the current release on npm, installed with `npm install -g @fetchai/fetchcoder`.
-   A SpecStream account and an API key. New accounts get $10 of credit, no card. [Create one](https://specstream.ai/signup?utm_source=fetchcoder).

1.  1

    ## 1. Create a SpecStream API key

    In your SpecStream workspace, open [Agents & API](https://specstream.ai/workspace/agents?tab=keys&utm_source=fetchcoder), choose **API keys**, then **Create API key**, and set a total spending limit. FetchCoder sends the key as a header on every call to SpecStream, so there is no browser sign-in.

    Put the key in `~/.fetchcoder/.env`. The `fetchcoder` command reads that file each time it starts, before it loads the config:

    ~/.fetchcoder/.env

    ```bash
    SPECSTREAM_API_KEY=YOUR_SPECSTREAM_API_KEY
    ```

2.  2

    ## 2. Add SpecStream to fetchcoder.json

    Open `~/.fetchcoder/fetchcoder.json`, the file the installer wrote. Under `mcp`, keep the `agentverse` entry and add `specstream` beside it. The type is `remote`, and FetchCoder replaces `{env:SPECSTREAM_API_KEY}` with the key from the environment when it loads the file:

    ~/.fetchcoder/fetchcoder.json

    ```json
    {
      "mcp": {
        "agentverse": {
          "type": "local",
          "command": ["./mcp-server"],
          "enabled": true,
          "environment": {
            "AGENTVERSE_MCP_ESSENTIAL_ONLY": "true"
          }
        },
        "specstream": {
          "type": "remote",
          "url": "https://api.specstream.ai/mcp",
          "enabled": true,
          "headers": {
            "Authorization": "Bearer {env:SPECSTREAM_API_KEY}"
          }
        }
      }
    }
    ```

3.  3

    ## 3. Start FetchCoder and ask

    Run `fetchcoder` and ask for something current. Name SpecStream when you want its results. FetchCoder lists each tool under the server's name, so SpecStream's tools appear as `specstream_search_web`, `specstream_read_pages` and so on:

    In FetchCoder

    ```text
    Use SpecStream to find the latest stable release of Node.js and read its release notes.
    ```

## What FetchCoder gets

SpecStream's server at `https://api.specstream.ai/mcp` adds these tools to FetchCoder, next to the Agentverse tools it ships with.

-   `specstream_search_web` answers a question from the live web, with up to 10 results for $5 per 1,000 searches. A search that returns nothing costs nothing.
-   `specstream_read_pages` returns the main text of up to 20 pages or documents (PDF, Word, Excel) in one call, at $0.80 per 1,000 pages. A page that gives no text is not charged.
-   Deep Search builds a list from a request in plain words. `compile` reads the request back, `quote_capacity_work` prices it for free, and `authorize_capacity_work` starts it only after you approve the maximum. `get_find` and `list_find_rows` read the rows, each with its source.

## Rules for the entry

A remote entry takes four keys: `type`, `url`, `enabled` and `headers`. FetchCoder refuses the file if the entry holds any other key.

To add SpecStream to one project only, put the same `mcp` block in a `fetchcoder.json` at the project's root. FetchCoder reads that file when you start it inside the project.

To keep the entry but switch it off, set `enabled` to `false`.

## Check the connection

Run one task with debug logging, as FetchCoder's docs show: `DEBUG=* fetchcoder run "Use SpecStream to search for this week's Node.js release"`. The log names each MCP server FetchCoder found and its type, so a line for `specstream` with type `remote` means the entry loaded.

If the SpecStream tools do not appear, check that `SPECSTREAM_API_KEY` is set in `~/.fetchcoder/.env` or in your shell, and that the key has a spending limit above zero.

## Approvals in FetchCoder

FetchCoder's `permission` setting covers `edit`, `bash` and `webfetch`. Searches and page reads are charged per call with no quote, so the spending limit on the key is the cap for them. Deep Search adds its own gate: nothing paid starts until you approve the price SpecStream quotes.

## Cost

Connecting SpecStream to FetchCoder is free, and new accounts start with $10 of credit, no card. A search of up to 10 results costs $5 per 1,000, and a page read costs $0.80 per 1,000. Deep Search is priced per delivered row and quoted before it runs, and a run can't cost more than the maximum you approved. See [pricing](https://specstream.ai/pricing.md) and [how billing works](https://specstream.ai/docs/billing.md).

## Remove

Delete the `specstream` entry from `fetchcoder.json` and restart FetchCoder. To end its access, open **Agents & API** in your SpecStream workspace and revoke the key under **API keys**. Your saved results stay in your workspace. Questions: [support@specstream.ai](mailto:support@specstream.ai).

## More

[SpecStream for FetchCoder](https://specstream.ai/integrations/fetchcoder.md) covers what it does in FetchCoder 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).
