Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Brave Search (Cloudflare)

FreeNot checked

Remote Brave Search wrapper deployed as a Cloudflare Worker with Durable Objects and optional Zero Trust auth.

GitHubEmbed

About

Remote Brave Search wrapper deployed as a Cloudflare Worker with Durable Objects and optional Zero Trust auth.

README

A remote MCP server that wraps the official Brave Search MCP server and deploys it as a Cloudflare Worker with Durable Objects.

The official repo supports only stdio/Express transports. This project makes it a proper remote MCP server reachable over HTTP — usable by any MCP-compatible client without running a local process.

Tools

All 6 Brave Search tools are available:

Tool Description
brave_web_search General web search
brave_news_search News search
brave_image_search Image search
brave_video_search Video search
brave_local_search Local/maps search with POIs and descriptions
brave_summarizer AI-powered search summarization

Architecture

  • Runtime: Cloudflare Workers with Durable Objects (for McpAgent state)
  • MCP SDK: McpAgent from agents package + McpServer from @modelcontextprotocol/sdk
  • Auth: Cloudflare Access (Zero Trust) — protects /mcp endpoint
  • API key: Stored as a Wrangler secret (BRAVE_API_KEY), never committed

Deployment

Prerequisites

Deploy

npm install

# Set your Brave Search API key as a secret
wrangler secret put BRAVE_API_KEY

# Deploy to Cloudflare Workers
npm run deploy

The Worker will be available at https://brave-search-mcp-cloudflare.<your-subdomain>.workers.dev.

Health check

curl https://brave-search-mcp-cloudflare.<your-subdomain>.workers.dev/health
# {"status":"ok"}

Cloudflare Access Setup (recommended)

To protect the /mcp endpoint so only authorized clients can connect:

  1. Go to Zero Trust dashboardAccessApplications
  2. Click Add an applicationSelf-hosted
  3. Set the application domain to your Worker URL with path /mcp
  4. Create a policy (e.g., allow specific email domains, or use Service Tokens for programmatic access)
  5. To create a Service Token: AccessService AuthService TokensCreate Service Token

Connecting an MCP client through Cloudflare Access

Use mcp-remote with your Service Token credentials:

{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://brave-search-mcp-cloudflare.<your-subdomain>.workers.dev/mcp",
        "--header",
        "CF-Access-Client-Id:<your-client-id>",
        "--header",
        "CF-Access-Client-Secret:<your-client-secret>"
      ]
    }
  }
}

Local development

# Set your API key in .dev.vars (never commit this file)
echo "BRAVE_API_KEY=your_key_here" > .dev.vars

npm run dev
# Worker available at http://localhost:8787
# MCP endpoint: http://localhost:8787/mcp

Test with MCP Inspector:

npx @modelcontextprotocol/inspector http://localhost:8787/mcp

License

MIT — see LICENSE

from github.com/nolanfoster/brave-search-mcp-cloudflare

Installing Brave Search (Cloudflare)

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/nolanfoster/brave-search-mcp-cloudflare

FAQ

Is Brave Search (Cloudflare) MCP free?

Yes, Brave Search (Cloudflare) MCP is free — one-click install via Unyly at no cost.

Does Brave Search (Cloudflare) need an API key?

No, Brave Search (Cloudflare) runs without API keys or environment variables.

Is Brave Search (Cloudflare) hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Brave Search (Cloudflare) in Claude Desktop, Claude Code or Cursor?

Open Brave Search (Cloudflare) on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Brave Search (Cloudflare) with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs