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

# Cloudflare

Put SpecStream on your Cloudflare MCP server portal. The people your Access policies allow reach it from the portal's one address, ask for live web data in plain words, and get each value with the page it came from.

[SpecStream for CloudflareAPI & cloud platforms](https://specstream.ai/integrations/cloudflare.md)

## What you need

-   Cloudflare Zero Trust with an identity provider set up.
-   An active domain on Cloudflare for the portal's address.
-   A SpecStream account. Creating one is free.

1.  1

    ## 1. Add SpecStream as an MCP server

    In the Cloudflare dashboard, go to **Zero Trust**, then **Access controls**, then **MCP Portals**. On the **MCP servers** tab, choose **Add MCP server**.

    Enter `SpecStream` as the name, `specstream` as the **Server ID**, and `https://api.specstream.ai/mcp` as the **HTTP URL**. Under **OAuth credentials**, keep **Automatic (recommended)**. Cloudflare registers itself with SpecStream, so there's no client ID to copy. Add the Access policies that decide who sees the server.

    Choose **Save and connect server** and sign in to SpecStream when asked. The server is ready when its status reads **Ready**.

2.  2

    ## 2. Add SpecStream to a portal

    On **MCP Portals**, choose **Add MCP server portal**, name it, and pick a domain from an active zone under **Custom domain**. Add SpecStream and, if you like, choose which of its tools the portal shows.

    Leave **Require user auth** on **Enabled** so each person signs in with their own SpecStream account. Add the Access policies for the portal and choose **Add an MCP server portal**.

3.  3

    ## 3. Connect an MCP client

    The portal answers at `https://<subdomain>.<domain>/mcp`. Add that address to any client that takes a remote MCP server. The first connection signs in through your identity provider, then through SpecStream. A client that reads a config file can connect through `mcp-remote`:

    JSON

    ```json
    {
      "mcpServers": {
        "company-portal": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://<subdomain>.<domain>/mcp"]
        }
      }
    }
    ```

4.  4

    ## 4. Ask for data

    Describe what you need and where, the way you'd say it to a colleague:

    `Independent dental practices in Austin, with their website, phone, and the owner's name`

    SpecStream reads the request back, then quotes the most it can cost and when the price expires. Nothing runs until you approve that price. A run takes a few minutes, and each match comes back with its values and the page each value was read from. Possible matches come separately, at no cost.

## Whose account pays

With **Require user auth** on, every request runs on the SpecStream account of the person who asked, with that account's balance and limits. Turned off, everyone on the portal uses the account that connected the server, so set a spending limit on it in SpecStream under **Settings**, then **Usage and billing**.

To keep paid work off the portal, leave `authorize_capacity_work` out of the tools it shows. People can still read requests, see prices, and read the results they already own.

## An API key instead of a sign-in

Cloudflare's API can add a server with a fixed Bearer token instead of the OAuth sign-in. Use a SpecStream key from **Agents & API** with a total spending limit, since everyone on that server shares the account that owns it.

## Cost

Connecting SpecStream to Cloudflare is free. SpecStream bills your balance per match, a request that finds nothing is free, and a run can't cost more than the maximum you approved. New accounts get $10 of work for 30 days without a card. [Balance, quotes, and billing](https://specstream.ai/docs/billing.md) has the details.

## Disconnect

Remove SpecStream from the portal, or delete the server on the **MCP servers** tab. To end the sign-in on the SpecStream side, open **Agents & API** in your workspace, choose **OAuth applications**, and revoke Cloudflare. Your saved results stay put. Questions go to [support@specstream.ai](mailto:support@specstream.ai).

## More

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