Cloudflare Website Analysis
STDIOHTTP-SSEDeploy remote MCP server with website analysis tools using Cloudflare's Browser Rendering and AI.
Deploy remote MCP server with website analysis tools using Cloudflare's Browser Rendering and AI.
This example allows you to deploy a remote MCP server that doesn't require authentication on Cloudflare Workers. The server includes tools for website analysis and content extraction using Cloudflare's Browser Rendering and AI capabilities.
This will deploy your MCP server to a URL like: remote-mcp-server-authless.<your-account>.workers.dev/sse
Alternatively, you can use the command line below to get the remote MCP Server created on your local machine:
npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless
analyze_website
url
(string) - The website URL to analyze[tool] analyze_website(url: "https://example.com")
ask_q_about_website
url
(string) - The website URL to analyzequestion
(string) - Your question about the website content[tool] ask_q_about_website(url: "https://example.com", question: "What services does this company offer?")
To add your own tools to the MCP server, define each tool inside the init()
method of src/index.ts
using this.server.tool(...)
.
You can connect to your MCP server from the Cloudflare AI Playground, which is a remote MCP client:
remote-mcp-server-authless.<your-account>.workers.dev/sse
)You can also connect to your remote MCP server from local MCP clients, by using the mcp-remote proxy.
To connect to your MCP server from Claude Desktop, follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config.
Update with this configuration:
{ "mcpServers": { "calculator": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" // or remote-mcp-server-authless.your-account.workers.dev/sse ] } } }
Restart Claude and you should see the tools become available.
To use the website analysis tools, you need:
Make sure your wrangler.jsonc
includes:
{ "browser": { "binding": "BROWSER" }, "ai": { "binding": "AI" } }