From 67c22cf6482b4e50fa8227ad7b440983fb063908 Mon Sep 17 00:00:00 2001 From: Brendan Irvine-Broque Date: Thu, 5 Feb 2026 15:18:18 -0800 Subject: [PATCH 1/5] Add Cloudflare for Agents documentation section - Create new /cloudflare-for-agents/ section for AI agent services - Add MCP servers catalog page with connection instructions - Add Markdown for Agents zone-level service documentation - Add Workers agent setup guide with skills and API token instructions - Extract MCP servers table into reusable partial - Add Cloudflare skill installation instructions partial - Update sidebar to show LLM resources for products with Developer platform in additional_groups - Add cross-links from Agents docs and API token docs --- src/content/docs/agents/index.mdx | 6 + .../mcp-servers-for-cloudflare.mdx | 101 ++++++++---- .../docs/cloudflare-for-agents/index.mdx | 137 ++++++++++++++++ .../markdown-for-agents.mdx | 106 +++++++++++++ .../mcp-servers/index.mdx | 87 +++++++++++ .../docs/cloudflare-for-agents/skills.mdx | 9 ++ .../api/get-started/create-token.mdx | 63 +++++--- .../docs/workers/get-started/agent-setup.mdx | 146 ++++++++++++++++++ .../agents/cloudflare-skill-install.mdx | 47 ++++++ .../partials/agents/mcp-servers-table.mdx | 18 +++ .../products/cloudflare-for-agents.yaml | 11 ++ src/icons/cloudflare-for-agents.svg | 1 + src/util/sidebar.ts | 19 +-- 13 files changed, 693 insertions(+), 58 deletions(-) create mode 100644 src/content/docs/cloudflare-for-agents/index.mdx create mode 100644 src/content/docs/cloudflare-for-agents/markdown-for-agents.mdx create mode 100644 src/content/docs/cloudflare-for-agents/mcp-servers/index.mdx create mode 100644 src/content/docs/cloudflare-for-agents/skills.mdx create mode 100644 src/content/docs/workers/get-started/agent-setup.mdx create mode 100644 src/content/partials/agents/cloudflare-skill-install.mdx create mode 100644 src/content/partials/agents/mcp-servers-table.mdx create mode 100644 src/content/products/cloudflare-for-agents.yaml create mode 100644 src/icons/cloudflare-for-agents.svg diff --git a/src/content/docs/agents/index.mdx b/src/content/docs/agents/index.mdx index 5ee17c717bec8d..927c45d5bd25c7 100644 --- a/src/content/docs/agents/index.mdx +++ b/src/content/docs/agents/index.mdx @@ -163,3 +163,9 @@ Run machine learning models, powered by serverless GPUs, on Cloudflare's global Build stateful agents that guarantee executions, including automatic retries, persistent state that runs for minutes, hours, days, or weeks. + + + +Services that help AI agents interact with Cloudflare and the web, including MCP servers, Markdown conversion, and content processing. + + diff --git a/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx b/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx index c9363813823c8b..b276fd95bbe1e1 100644 --- a/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx +++ b/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx @@ -7,29 +7,78 @@ sidebar: order: 8 --- -import { Render } from "~/components"; - -Cloudflare runs a catalog of managed remote MCP Servers which you can connect to using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), our own [AI Playground](https://playground.ai.cloudflare.com/) or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). - -These MCP servers allow your MCP Client to read configurations from your account, process information, make suggestions based on data, and even make those suggested changes for you. All of these actions can happen across Cloudflare's many services including application development, security and performance. They support both the `streamble-http` transport via `/mcp` and the `sse` transport (deprecated) via `/sse`. - -| Server Name | Description | Server URL | -| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------- | -| [Documentation server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/docs-vectorize) | Get up to date reference information on Cloudflare | `https://docs.mcp.cloudflare.com/mcp` | -| [Workers Bindings server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-bindings) | Build Workers applications with storage, AI, and compute primitives | `https://bindings.mcp.cloudflare.com/mcp` | -| [Workers Builds server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-builds) | Get insights and manage your Cloudflare Workers Builds | `https://builds.mcp.cloudflare.com/mcp` | -| [Observability server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-observability) | Debug and get insight into your application's logs and analytics | `https://observability.mcp.cloudflare.com/mcp` | -| [Radar server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/radar) | Get global Internet traffic insights, trends, URL scans, and other utilities | `https://radar.mcp.cloudflare.com/mcp` | -| [Container server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/sandbox-container) | Spin up a sandbox development environment | `https://containers.mcp.cloudflare.com/mcp` | -| [Browser rendering server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/browser-rendering) | Fetch web pages, convert them to markdown and take screenshots | `https://browser.mcp.cloudflare.com/mcp` | -| [Logpush server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/logpush) | Get quick summaries for Logpush job health | `https://logs.mcp.cloudflare.com/mcp` | -| [AI Gateway server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/ai-gateway) | Search your logs, get details about the prompts and responses | `https://ai-gateway.mcp.cloudflare.com/mcp` | -| [AI Search server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/autorag) | List and search documents on your AI Searches | `https://autorag.mcp.cloudflare.com/mcp` | -| [Audit Logs server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/auditlogs) | Query audit logs and generate reports for review | `https://auditlogs.mcp.cloudflare.com/mcp` | -| [DNS Analytics server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/dns-analytics) | Optimize DNS performance and debug issues based on current set up | `https://dns-analytics.mcp.cloudflare.com/mcp` | -| [Digital Experience Monitoring server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/dex-analysis) | Get quick insight on critical applications for your organization | `https://dex.mcp.cloudflare.com/mcp` | -| [Cloudflare One CASB server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/cloudflare-one-casb) | Quickly identify any security misconfigurations for SaaS applications to safeguard users & data | `https://casb.mcp.cloudflare.com/mcp` | -| [GraphQL server](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/graphql/) | Get analytics data using Cloudflare's GraphQL API | `https://graphql.mcp.cloudflare.com/mcp` | -| [Agents SDK Documentation server](https://github.com/cloudflare/agents/tree/main/site/agents) | Token-efficient search of the Cloudflare Agents SDK documentation | `https://agents.cloudflare.com/mcp` | - -Check our [GitHub page](https://github.com/cloudflare/mcp-server-cloudflare) to know how to use Cloudflare's remote MCP servers with different MCP clients. +import { Render, Tabs, TabItem } from "~/components"; + +Cloudflare runs a catalog of managed remote MCP servers that you can connect to using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), [Cloudflare AI Playground](https://playground.ai.cloudflare.com/), or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). + +These MCP servers allow your MCP client to read configurations from your account, process information, make suggestions based on data, and make changes for you. All servers support both `streamable-http` transport via `/mcp` and SSE transport (deprecated) via `/sse`. + +## Connect to MCP servers + + + + +Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. + +Or add manually to your MCP config: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. + + + + +Add to your Claude Desktop configuration file: + +**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` +**Windows**: `%APPDATA%\Claude\claude_desktop_config.json` + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Add to your OpenCode MCP configuration at `~/.config/opencode/.mcp.json`: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + + +## Available servers + + + +For more information on each server, visit the [GitHub repository](https://github.com/cloudflare/mcp-server-cloudflare). diff --git a/src/content/docs/cloudflare-for-agents/index.mdx b/src/content/docs/cloudflare-for-agents/index.mdx new file mode 100644 index 00000000000000..97db00d52fcce0 --- /dev/null +++ b/src/content/docs/cloudflare-for-agents/index.mdx @@ -0,0 +1,137 @@ +--- +title: Cloudflare for Agents +pcx_content_type: overview +sidebar: + order: 1 +head: + - tag: title + content: Cloudflare for Agents +--- + +import { + CardGrid, + Description, + Feature, + LinkButton, + LinkTitleCard, + Plan, + RelatedProduct, + Render, +} from "~/components"; + + + +Services and tools that help AI agents interact with Cloudflare and the web. + + + +Cloudflare provides services that AI agents can use to browse the web, process content, access Cloudflare APIs, and more. These services work with any AI agent, whether built with the [Cloudflare Agents SDK](/agents/) or other frameworks. + + + Browse MCP servers + + +--- + +## Services + + + Modular capabilities for AI agents to connect to tools, services, and APIs. + Skills provide reusable building blocks for agent functionality. + + + + Connect to Cloudflare's managed MCP servers for documentation, observability, + browser rendering, and more. Works with Claude, Cursor, Windsurf, and other + MCP clients. + + + + Convert any page on your zone to Markdown using content negotiation. Agents + request pages with `Accept: text/markdown` and receive clean, token-efficient + Markdown. + + + + Observe and control your agent's LLM calls. Add logging, caching, fallbacks, + rate limits, and guardrails to every AI request your agent makes. + + +--- + +## Content processing + +Cloudflare offers multiple ways to convert web content and documents to formats optimized for AI consumption. + +| Service | Use case | How it works | +| ----------------------------------------------------------------------------- | --------------------------------- | --------------------------------------------- | +| [Markdown for Agents](/cloudflare-for-agents/markdown-for-agents/) | Convert pages on your own zone | Zone setting + `Accept: text/markdown` header | +| [Workers AI toMarkdown](/workers-ai/features/markdown-conversion/) | Convert documents (PDF, images) | `env.AI.toMarkdown()` binding or REST API | +| [Browser Rendering /markdown](/browser-rendering/rest-api/markdown-endpoint/) | Convert any URL with JS rendering | REST API that renders then converts | + +--- + +## Browser automation + +AI agents can browse and interact with web pages using these services. + +| Service | Use case | +| --------------------------------------------------------------- | --------------------------------------------------- | +| [Browser Rendering REST API](/browser-rendering/rest-api/) | Screenshots, scraping, content extraction | +| [Stagehand](/browser-rendering/stagehand/) | AI-powered browser automation with natural language | +| [Playwright MCP](/browser-rendering/playwright/playwright-mcp/) | MCP server for browser automation | + +--- + +## RAG and search + +Build retrieval-augmented generation (RAG) systems with managed services. + +| Service | Use case | +| --------------------------------- | -------------------------------------------- | +| [AI Search](/ai-search/) | Managed RAG with automatic indexing | +| [Vectorize](/vectorize/) | Vector database for embeddings | +| [NLWeb](/ai-search/how-to/nlweb/) | Add `/ask` and `/mcp` endpoints to your site | + +--- + +## AI safety and control + +Protect your AI applications and control how agents access your content. + +| Service | Use case | +| ---------------------------------------------- | --------------------------------------------------- | +| [AI Gateway](/ai-gateway/) | Logging, caching, fallbacks, rate limits for agents | +| [Guardrails](/ai-gateway/features/guardrails/) | Content moderation for prompts and responses | +| [AI Crawl Control](/ai-crawl-control/) | Monitor and control AI crawler access | + +--- + +## Related + + + Build AI agents on Cloudflare using the Agents SDK. Create stateful agents + with WebSockets, scheduling, and MCP server support. + + + + Run inference on machine learning models with serverless GPUs on Cloudflare's + global network. + + + + Observe and control your AI applications with caching, rate limiting, and + model fallbacks. + diff --git a/src/content/docs/cloudflare-for-agents/markdown-for-agents.mdx b/src/content/docs/cloudflare-for-agents/markdown-for-agents.mdx new file mode 100644 index 00000000000000..5ff86020cac9d0 --- /dev/null +++ b/src/content/docs/cloudflare-for-agents/markdown-for-agents.mdx @@ -0,0 +1,106 @@ +--- +title: Markdown for Agents +pcx_content_type: how-to +sidebar: + order: 3 +--- + +import { Tabs, TabItem, Plan } from "~/components"; + + + +Markdown for Agents converts HTML pages to Markdown in real-time using [content negotiation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Content_negotiation). When enabled on a zone, clients can request any page with the `Accept: text/markdown` header and receive clean, token-efficient Markdown. + +Markdown's explicit structure enables reliable chunking and retrieval, and reduces token usage compared to raw HTML. + +## Enable Markdown for Agents + + + + +1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/) and select your account. +2. Select your zone. +3. In the sidebar under **Quick Actions**, toggle **Markdown for Agents** to enable. + + + + +Send a `PATCH` request to enable markdown conversion: + +```bash +curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{zone_id}/settings/content_converter" \ + --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ + --header "Content-Type: application/json" \ + --data '{"value": "on"}' +``` + +You need an API token with **Zone Settings:Edit** permission. + + + + +## Request Markdown content + +Add the `Accept: text/markdown` header to request Markdown instead of HTML. + +### curl example + +```bash +curl "https://example.com/docs/getting-started/" \ + --header "Accept: text/markdown" +``` + +### JavaScript example + +```js +const response = await fetch("https://example.com/docs/getting-started/", { + headers: { + Accept: "text/markdown", + }, +}); + +const tokenCount = response.headers.get("x-markdown-tokens"); +const markdown = await response.text(); +``` + +## Response headers + +Markdown responses include these headers: + +| Header | Description | +| ------------------- | ---------------------------------------------- | +| `content-type` | Set to `text/markdown` | +| `x-markdown-tokens` | Estimated token count of the converted content | + +The `x-markdown-tokens` header helps estimate context window usage and calculate costs when integrating with AI systems. + +### Example response + +```txt +HTTP/2 200 +content-type: text/markdown +x-markdown-tokens: 1234 + +# Getting Started + +Welcome to our documentation... +``` + +## Other Markdown conversion options + +Cloudflare provides additional ways to convert content to Markdown: + +| Service | Use case | +| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| [Workers AI toMarkdown](/workers-ai/features/markdown-conversion/) | Convert documents (PDF, images) to Markdown with AI-powered summarization | +| [Browser Rendering /markdown](/browser-rendering/rest-api/markdown-endpoint/) | Render JavaScript-heavy pages then convert to Markdown | + +## Availability + +Markdown for Agents is available to Pro and Business plans, and SSL for SaaS customers at no additional cost. + +## Limitations + +- Converts HTML only. Other document types are not supported. +- Compressed responses from the origin are not supported. +- This is a zone-level setting. For different settings on subdomains, use separate zones. diff --git a/src/content/docs/cloudflare-for-agents/mcp-servers/index.mdx b/src/content/docs/cloudflare-for-agents/mcp-servers/index.mdx new file mode 100644 index 00000000000000..36a137065af80f --- /dev/null +++ b/src/content/docs/cloudflare-for-agents/mcp-servers/index.mdx @@ -0,0 +1,87 @@ +--- +title: MCP servers +pcx_content_type: reference +sidebar: + order: 2 +--- + +import { Render, Tabs, TabItem } from "~/components"; + +Cloudflare runs managed remote [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) servers that you can connect to from any MCP client. These servers provide tools for documentation search, observability, browser rendering, and more. + +## Connect to MCP servers + +Connect using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), [Cloudflare AI Playground](https://playground.ai.cloudflare.com/), or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). + + + + +Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. + +Or add manually to your MCP config: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. + + + + +Add to your Claude Desktop configuration file: + +**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` +**Windows**: `%APPDATA%\Claude\claude_desktop_config.json` + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Add to your OpenCode MCP configuration at `~/.config/opencode/.mcp.json`: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +## Available servers + +All servers support both `streamable-http` transport via `/mcp` and SSE transport (deprecated) via `/sse`. + + + +For more information on each server, visit the [GitHub repository](https://github.com/cloudflare/mcp-server-cloudflare). + +## Build your own MCP server + +To build and deploy your own MCP server on Cloudflare, refer to the [MCP documentation](/agents/model-context-protocol/) in the Agents SDK. diff --git a/src/content/docs/cloudflare-for-agents/skills.mdx b/src/content/docs/cloudflare-for-agents/skills.mdx new file mode 100644 index 00000000000000..ea4955199396ec --- /dev/null +++ b/src/content/docs/cloudflare-for-agents/skills.mdx @@ -0,0 +1,9 @@ +--- +pcx_content_type: navigation +title: Skills +external_link: https://github.com/cloudflare/skills +sidebar: + order: 1 +head: [] +description: Modular capabilities for AI agents to connect to tools, services, and APIs. +--- diff --git a/src/content/docs/fundamentals/api/get-started/create-token.mdx b/src/content/docs/fundamentals/api/get-started/create-token.mdx index eb76008da35417..e70eaaf2e85440 100644 --- a/src/content/docs/fundamentals/api/get-started/create-token.mdx +++ b/src/content/docs/fundamentals/api/get-started/create-token.mdx @@ -5,10 +5,9 @@ sidebar: order: 3 head: [] description: Learn how to create a token to perform actions using the Cloudflare API. - --- -import { Stream, Render } from "~/components" +import { Stream, Render } from "~/components"; :::note[Prerequisite] @@ -17,12 +16,11 @@ Before you begin, [find your zone and account IDs](/fundamentals/account/find-ac ::: - 1. Determine if you want a user token or an [Account API token](/fundamentals/api/get-started/account-owned-tokens/). Use Account API tokens if you prefer service tokens that are not associated with users and your [desired API endpoints are compatible](/fundamentals/api/get-started/account-owned-tokens/#compatibility-matrix). 2. From the [Cloudflare dashboard](https://dash.cloudflare.com/profile/api-tokens/), go to **My Profile** > **API Tokens** for user tokens. For Account Tokens, go to **Manage Account** > **API Tokens**. 3. Select **Create Token**. @@ -31,13 +29,13 @@ Before you begin, [find your zone and account IDs](/fundamentals/account/find-ac ![Token template overview screen](~/assets/images/fundamentals/api/template-customize.png) -6. Modify the token's permissions. After selecting a permissions group (*Account*, *User*, or *Zone*), choose what level of access to grant the token. Most groups offer `Edit` or `Read` options. `Edit` is full CRUDL (create, read, update, delete, list) access, while `Read` is the read permission and list where appropriate. Refer to the [available token permissions](/fundamentals/api/reference/permissions/) for more information. +6. Modify the token's permissions. After selecting a permissions group (_Account_, _User_, or _Zone_), choose what level of access to grant the token. Most groups offer `Edit` or `Read` options. `Edit` is full CRUDL (create, read, update, delete, list) access, while `Read` is the read permission and list where appropriate. Refer to the [available token permissions](/fundamentals/api/reference/permissions/) for more information. 7. Select which resources the token is authorized to access. For example, granting `Zone DNS Read` access to a zone `example.com` will allow the token to read DNS records only for that specific zone. Any other zone will return an error for DNS record reads operations. Any other operation on that zone will also return an error. 8. (Optional) Restrict how a token is used in the **Client IP Address Filtering** and **TTL (time to live)** fields. 9. Select **Continue to summary**. 10. Review the token summary. Select **Edit token** to make adjustments. You can also edit a token after creation. - ![Token summary screen displaying the resources and permissions selected](~/assets/images/fundamentals/api/token-summary.png) +![Token summary screen displaying the resources and permissions selected](~/assets/images/fundamentals/api/token-summary.png) 11. Select **Create Token** to generate the token's secret. 12. Copy the secret to a secure place. @@ -57,21 +55,44 @@ The result: ```json { - "result": { - "id": "100bf38cc8393103870917dd535e0628", - "status": "active" - }, - "success": true, - "errors": [], - "messages": [ - { - "code": 10000, - "message": "This API Token is valid and active", - "type": null - } - ] + "result": { + "id": "100bf38cc8393103870917dd535e0628", + "status": "active" + }, + "success": true, + "errors": [], + "messages": [ + { + "code": 10000, + "message": "This API Token is valid and active", + "type": null + } + ] } ``` With this you have successfully created an API token and can start working with the Cloudflare API. After creating your first API token, you can create additional API tokens [via the API](/fundamentals/api/how-to/create-via-api/). +## API tokens for AI coding agents + +When configuring AI coding agents (such as OpenCode, Claude Code, or Cursor) to deploy Workers and manage Cloudflare resources, create a scoped API token with the permissions your agent needs. + +For Workers development, use these permissions: + +| Permission | Access | +| ---------------------------- | ------ | +| Account / Workers Scripts | Edit | +| Account / Workers KV Storage | Edit | +| Account / D1 | Edit | +| Account / R2 Storage | Edit | +| Account / Durable Objects | Edit | +| Zone / Workers Routes | Edit | + +Set the token as an environment variable for Wrangler: + +```sh +export CLOUDFLARE_API_TOKEN= +npx wrangler deploy +``` + +For detailed setup instructions including skill installation and MCP server configuration, refer to [AI agent setup](/workers/get-started/agent-setup/). diff --git a/src/content/docs/workers/get-started/agent-setup.mdx b/src/content/docs/workers/get-started/agent-setup.mdx new file mode 100644 index 00000000000000..3488fa414dc09a --- /dev/null +++ b/src/content/docs/workers/get-started/agent-setup.mdx @@ -0,0 +1,146 @@ +--- +title: AI agent setup +pcx_content_type: how-to +sidebar: + order: 4 +head: + - tag: title + content: Set up your AI coding agent +--- + +import { Tabs, TabItem, Render } from "~/components"; + +Configure your AI coding agent to build effectively on Cloudflare. This guide covers installing skills, connecting MCP servers, and creating API tokens for deployment. + +## Install the Cloudflare skill + + + +## Connect MCP servers + +MCP servers provide your agent with tools and context. Connect to Cloudflare's managed servers for documentation, observability, and more. + + + + +Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. + +Or add to your MCP configuration: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. + + + + +Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows): + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Add to `~/.config/opencode/.mcp.json`: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + + +For the full list of available servers, refer to [Cloudflare MCP servers](/cloudflare-for-agents/mcp-servers/). + +## Create an API token for deployment + +When your agent needs to deploy Workers or manage Cloudflare resources, create a scoped API token. + +### Create a Workers development token + +1. Go to the [Cloudflare dashboard API Tokens page](https://dash.cloudflare.com/profile/api-tokens). +2. Select **Create Token**. +3. Select **Create Custom Token**. +4. Add a descriptive name like "AI Agent - Workers Development". +5. Configure permissions: + +| Permission | Access | +| ---------------------------- | ------ | +| Account / Workers Scripts | Edit | +| Account / Workers KV Storage | Edit | +| Account / D1 | Edit | +| Account / R2 Storage | Edit | +| Account / Durable Objects | Edit | +| Zone / Workers Routes | Edit | + +6. Under **Account Resources**, select your account. +7. Under **Zone Resources**, select **All zones** or specific zones. +8. Select **Continue to summary**, then **Create Token**. +9. Copy the token value. You will not see it again. + +### Use the token with Wrangler + +Set the token as an environment variable: + +```sh +export CLOUDFLARE_API_TOKEN= +``` + +Verify the token works: + +```sh +npx wrangler whoami +``` + +Deploy your Worker: + +```sh +npx wrangler deploy +``` + +### Security best practices + +- Use [Account API tokens](/fundamentals/api/get-started/account-owned-tokens/) for CI/CD and agents instead of user tokens +- Scope tokens to specific accounts and zones when possible +- Set a TTL for temporary access +- Rotate tokens regularly +- Never commit tokens to version control + +## Use the Workers prompt + +For additional context, use the [Workers mega prompt](/workers/get-started/prompting/) in your AI tool. The prompt includes API examples, configuration guidance, and best practices. + +## Next steps + +- [Build your first Worker](/workers/get-started/guide/) +- [Build an AI agent](/agents/getting-started/build-a-chat-agent/) +- [Browse MCP servers](/cloudflare-for-agents/mcp-servers/) diff --git a/src/content/partials/agents/cloudflare-skill-install.mdx b/src/content/partials/agents/cloudflare-skill-install.mdx new file mode 100644 index 00000000000000..a3ced050f011a5 --- /dev/null +++ b/src/content/partials/agents/cloudflare-skill-install.mdx @@ -0,0 +1,47 @@ +The [Cloudflare skill](https://github.com/cloudflare/skills) teaches AI coding agents how to build on Cloudflare. It includes guidance for Workers, Pages, storage (KV, D1, R2), AI services, and the Agents SDK. + + + + +Install from the plugin marketplace: + +```sh +/plugin marketplace add cloudflare/skills +``` + + + + +Install from the Cursor Marketplace or add manually: + +1. Open **Settings** > **Rules**. +2. Select **Add Rule** > **Remote Rule (GitHub)**. +3. Enter `cloudflare/skills`. + + + + +Clone the skills repository and copy to your OpenCode skills directory: + +```sh +git clone https://github.com/cloudflare/skills.git +cp -r skills/* ~/.config/opencode/skill/ +``` + + + + +Install using the `npx skills` CLI: + +```sh +npx skills add https://github.com/cloudflare/skills +``` + + + + +The skill provides: + +- **Commands**: `/cloudflare:build-agent` and `/cloudflare:build-mcp` for guided workflows +- **Contextual skills**: Auto-loaded guidance for Workers, Durable Objects, Agents SDK, Wrangler, and more +- **MCP servers**: Pre-configured connections to Cloudflare documentation, bindings, builds, and observability servers diff --git a/src/content/partials/agents/mcp-servers-table.mdx b/src/content/partials/agents/mcp-servers-table.mdx new file mode 100644 index 00000000000000..04cf3c0c54808d --- /dev/null +++ b/src/content/partials/agents/mcp-servers-table.mdx @@ -0,0 +1,18 @@ +| Server | Description | URL | +| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------------------------------------------- | +| [Documentation](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/docs-vectorize) | Up-to-date reference information on Cloudflare | `https://docs.mcp.cloudflare.com/mcp` | +| [Workers Bindings](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-bindings) | Build Workers applications with storage, AI, and compute primitives | `https://bindings.mcp.cloudflare.com/mcp` | +| [Workers Builds](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-builds) | Get insights and manage your Cloudflare Workers Builds | `https://builds.mcp.cloudflare.com/mcp` | +| [Observability](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-observability) | Debug and get insight into your application's logs and analytics | `https://observability.mcp.cloudflare.com/mcp` | +| [Radar](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/radar) | Global Internet traffic insights, trends, URL scans, and utilities | `https://radar.mcp.cloudflare.com/mcp` | +| [Container](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/sandbox-container) | Spin up a sandbox development environment | `https://containers.mcp.cloudflare.com/mcp` | +| [Browser Rendering](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/browser-rendering) | Fetch web pages, convert them to markdown, and take screenshots | `https://browser.mcp.cloudflare.com/mcp` | +| [Logpush](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/logpush) | Quick summaries for Logpush job health | `https://logs.mcp.cloudflare.com/mcp` | +| [AI Gateway](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/ai-gateway) | Search your logs, get details about prompts and responses | `https://ai-gateway.mcp.cloudflare.com/mcp` | +| [AI Search](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/autorag) | List and search documents on your AI Searches | `https://autorag.mcp.cloudflare.com/mcp` | +| [Audit Logs](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/auditlogs) | Query audit logs and generate reports for review | `https://auditlogs.mcp.cloudflare.com/mcp` | +| [DNS Analytics](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/dns-analytics) | Optimize DNS performance and debug issues | `https://dns-analytics.mcp.cloudflare.com/mcp` | +| [Digital Experience Monitoring](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/dex-analysis) | Get insight on critical applications for your organization | `https://dex.mcp.cloudflare.com/mcp` | +| [Cloudflare One CASB](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/cloudflare-one-casb) | Identify security misconfigurations for SaaS applications | `https://casb.mcp.cloudflare.com/mcp` | +| [GraphQL](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/graphql/) | Analytics data using Cloudflare's GraphQL API | `https://graphql.mcp.cloudflare.com/mcp` | +| [Agents SDK Documentation](https://github.com/cloudflare/agents/tree/main/site/agents) | Token-efficient search of the Cloudflare Agents SDK documentation | `https://agents.cloudflare.com/mcp` | diff --git a/src/content/products/cloudflare-for-agents.yaml b/src/content/products/cloudflare-for-agents.yaml new file mode 100644 index 00000000000000..c2208ba0beb305 --- /dev/null +++ b/src/content/products/cloudflare-for-agents.yaml @@ -0,0 +1,11 @@ +name: Cloudflare for Agents +product: + title: Cloudflare for Agents + url: /cloudflare-for-agents/ + group: AI + additional_groups: [Developer platform] + tags: [AI] +meta: + title: Cloudflare for Agents docs + description: Services and tools that help AI agents interact with Cloudflare and the web + author: "@cloudflare" diff --git a/src/icons/cloudflare-for-agents.svg b/src/icons/cloudflare-for-agents.svg new file mode 100644 index 00000000000000..1427cd594016af --- /dev/null +++ b/src/icons/cloudflare-for-agents.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/util/sidebar.ts b/src/util/sidebar.ts index 0100373f2517a8..67ae426e1ce6a9 100644 --- a/src/util/sidebar.ts +++ b/src/util/sidebar.ts @@ -94,18 +94,17 @@ export async function generateSidebar(group: Group) { } const product = products.find((p) => p.id === group.label); - if (product && product.data.product.group === "Developer platform") { + const isDeveloperPlatform = + product?.data.product.group === "Developer platform" || + product?.data.product.additional_groups?.includes("Developer platform"); + if (product && isDeveloperPlatform) { const links = [ ["llms.txt", "/llms.txt"], ["prompt.txt", "/workers/prompt.txt"], - [`${product.data.name} llms-full.txt`, `/${product.id}/llms-full.txt`], - ["Developer Platform llms-full.txt", "/developer-platform/llms-full.txt"], ]; - group.entries.push({ - type: "group", - label: "LLM resources", - entries: links.map(([label, href]) => ({ + for (const [label, href] of links) { + group.entries.push({ type: "link", label, href, @@ -114,10 +113,8 @@ export async function generateSidebar(group: Group) { target: "_blank", }, badge: undefined, - })), - collapsed: true, - badge: undefined, - }); + }); + } } return group; From 3568fe8dc4f685ffbdf2680a573663c865a02b18 Mon Sep 17 00:00:00 2001 From: Brendan Irvine-Broque Date: Thu, 5 Feb 2026 15:34:21 -0800 Subject: [PATCH 2/5] Simplify Cloudflare for Agents index and add Wrangler CLI docs - Simplify index.mdx to focus on key features with cleaner layout - Move MCP servers page from subdirectory to top-level file - Add new Wrangler CLI documentation for agents --- .../docs/cloudflare-for-agents/index.mdx | 88 +----- .../index.mdx => mcp-servers.mdx} | 0 .../cloudflare-for-agents/wrangler-cli.mdx | 264 ++++++++++++++++++ 3 files changed, 272 insertions(+), 80 deletions(-) rename src/content/docs/cloudflare-for-agents/{mcp-servers/index.mdx => mcp-servers.mdx} (100%) create mode 100644 src/content/docs/cloudflare-for-agents/wrangler-cli.mdx diff --git a/src/content/docs/cloudflare-for-agents/index.mdx b/src/content/docs/cloudflare-for-agents/index.mdx index 97db00d52fcce0..87a92407269c46 100644 --- a/src/content/docs/cloudflare-for-agents/index.mdx +++ b/src/content/docs/cloudflare-for-agents/index.mdx @@ -8,16 +8,7 @@ head: content: Cloudflare for Agents --- -import { - CardGrid, - Description, - Feature, - LinkButton, - LinkTitleCard, - Plan, - RelatedProduct, - Render, -} from "~/components"; +import { Description, Feature, LinkButton } from "~/components"; @@ -64,74 +55,11 @@ Cloudflare provides services that AI agents can use to browse the web, process c Markdown. - - Observe and control your agent's LLM calls. Add logging, caching, fallbacks, - rate limits, and guardrails to every AI request your agent makes. + + Give agents the ability to deploy Workers, manage KV, R2, D1, and other + Cloudflare resources using the Wrangler CLI with API tokens. - ---- - -## Content processing - -Cloudflare offers multiple ways to convert web content and documents to formats optimized for AI consumption. - -| Service | Use case | How it works | -| ----------------------------------------------------------------------------- | --------------------------------- | --------------------------------------------- | -| [Markdown for Agents](/cloudflare-for-agents/markdown-for-agents/) | Convert pages on your own zone | Zone setting + `Accept: text/markdown` header | -| [Workers AI toMarkdown](/workers-ai/features/markdown-conversion/) | Convert documents (PDF, images) | `env.AI.toMarkdown()` binding or REST API | -| [Browser Rendering /markdown](/browser-rendering/rest-api/markdown-endpoint/) | Convert any URL with JS rendering | REST API that renders then converts | - ---- - -## Browser automation - -AI agents can browse and interact with web pages using these services. - -| Service | Use case | -| --------------------------------------------------------------- | --------------------------------------------------- | -| [Browser Rendering REST API](/browser-rendering/rest-api/) | Screenshots, scraping, content extraction | -| [Stagehand](/browser-rendering/stagehand/) | AI-powered browser automation with natural language | -| [Playwright MCP](/browser-rendering/playwright/playwright-mcp/) | MCP server for browser automation | - ---- - -## RAG and search - -Build retrieval-augmented generation (RAG) systems with managed services. - -| Service | Use case | -| --------------------------------- | -------------------------------------------- | -| [AI Search](/ai-search/) | Managed RAG with automatic indexing | -| [Vectorize](/vectorize/) | Vector database for embeddings | -| [NLWeb](/ai-search/how-to/nlweb/) | Add `/ask` and `/mcp` endpoints to your site | - ---- - -## AI safety and control - -Protect your AI applications and control how agents access your content. - -| Service | Use case | -| ---------------------------------------------- | --------------------------------------------------- | -| [AI Gateway](/ai-gateway/) | Logging, caching, fallbacks, rate limits for agents | -| [Guardrails](/ai-gateway/features/guardrails/) | Content moderation for prompts and responses | -| [AI Crawl Control](/ai-crawl-control/) | Monitor and control AI crawler access | - ---- - -## Related - - - Build AI agents on Cloudflare using the Agents SDK. Create stateful agents - with WebSockets, scheduling, and MCP server support. - - - - Run inference on machine learning models with serverless GPUs on Cloudflare's - global network. - - - - Observe and control your AI applications with caching, rate limiting, and - model fallbacks. - diff --git a/src/content/docs/cloudflare-for-agents/mcp-servers/index.mdx b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx similarity index 100% rename from src/content/docs/cloudflare-for-agents/mcp-servers/index.mdx rename to src/content/docs/cloudflare-for-agents/mcp-servers.mdx diff --git a/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx b/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx new file mode 100644 index 00000000000000..687cc7992cce13 --- /dev/null +++ b/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx @@ -0,0 +1,264 @@ +--- +title: Wrangler CLI +pcx_content_type: how-to +sidebar: + order: 5 +description: Give AI agents the ability to deploy and manage Cloudflare resources using the Wrangler CLI. +--- + +import { LinkCard } from "~/components"; + +AI agents can use the [Wrangler CLI](/workers/wrangler/) to deploy Workers, manage KV namespaces, interact with R2 buckets, and perform other Cloudflare operations. This guide shows you how to create an API token with the right permissions and configure an agent to use it. + +## Why give an agent Wrangler access? + +Agents with Wrangler CLI access can: + +- Deploy and update Workers +- Create and manage KV namespaces and data +- Upload files to R2 buckets +- Create and query D1 databases +- Manage Queues and Durable Objects +- Tail logs and debug running Workers + +This is useful for building agents that can autonomously deploy code, manage infrastructure, or help developers with Cloudflare-related tasks. + +## Create an API token + +API tokens provide scoped, revocable access to Cloudflare resources. For agents, create a dedicated token with only the permissions needed. + +### Step 1: Navigate to API Tokens + +1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com) +2. Go to **My Profile** > **API Tokens** (for a user token), or **Manage Account** > **API Tokens** (for an account token) +3. Select **Create Token** + +:::note +For agents running in CI/CD or production environments, prefer **Account API tokens** over user tokens. Account tokens can be managed by account administrators and are not tied to a single user. +::: + +### Step 2: Choose a template or create custom token + +For most Wrangler operations, use the **Edit Cloudflare Workers** template. This provides: + +| Permission | Access | +| ------------------ | ------ | +| Workers Scripts | Edit | +| Workers KV Storage | Edit | +| Workers R2 Storage | Edit | +| Workers Routes | Edit | +| Workers Tail | Read | +| Account Settings | Read | +| User Details | Read | + +If your agent needs additional capabilities (like D1 or Durable Objects), select **Create Custom Token** instead and add: + +| Permission | Access | +| --------------- | ------ | +| D1 | Edit | +| Durable Objects | Edit | +| Queues | Edit | +| Vectorize | Edit | + +### Step 3: Scope the token + +1. Under **Account Resources**, select the specific account(s) the agent should access +2. Under **Zone Resources**, select specific zones or **All zones** depending on your needs +3. Optionally set **Client IP Address Filtering** to restrict where the token can be used from +4. Optionally set a **TTL** (time to live) if the agent only needs temporary access + +### Step 4: Create and copy the token + +1. Select **Continue to summary** +2. Review the permissions and select **Create Token** +3. **Copy the token immediately** — it will not be shown again + +To verify your token works: + +```sh +curl "https://api.cloudflare.com/client/v4/user/tokens/verify" \ + --header "Authorization: Bearer " +``` + +## Configure your agent to use the token + +There are several ways to provide the API token to Wrangler when running commands from an agent. + +### Option 1: Environment variable (recommended) + +Set the `CLOUDFLARE_API_TOKEN` environment variable before running Wrangler commands: + +```sh +export CLOUDFLARE_API_TOKEN= +export CLOUDFLARE_ACCOUNT_ID= +``` + +Your agent can then run Wrangler commands normally: + +```sh +npx wrangler deploy +npx wrangler kv key put --namespace-id= "mykey" "myvalue" +npx wrangler r2 object put my-bucket/file.txt --file=./file.txt +``` + +### Option 2: Inline with command + +Pass the token inline for one-off commands: + +```sh +CLOUDFLARE_API_TOKEN= CLOUDFLARE_ACCOUNT_ID= npx wrangler deploy +``` + +### Option 3: Using a `.env` file + +Create a `.env` file in the project directory: + +```txt title=".env" +CLOUDFLARE_API_TOKEN= +CLOUDFLARE_ACCOUNT_ID= +``` + +Wrangler automatically loads environment variables from `.env` files. + +:::caution +Never commit `.env` files containing API tokens to version control. Add `.env` to your `.gitignore` file. +::: + +## Common Wrangler commands for agents + +Here are the most useful Wrangler commands an agent might run: + +### Deploying Workers + +```sh +# Deploy a Worker +npx wrangler deploy + +# Deploy to a specific environment +npx wrangler deploy --env production + +# Deploy with a custom name +npx wrangler deploy --name my-worker +``` + +### Managing KV + +```sh +# List KV namespaces +npx wrangler kv namespace list + +# Create a KV namespace +npx wrangler kv namespace create "MY_KV" + +# Write a key-value pair +npx wrangler kv key put --namespace-id= "key" "value" + +# Read a key +npx wrangler kv key get --namespace-id= "key" + +# List keys +npx wrangler kv key list --namespace-id= +``` + +### Managing R2 + +```sh +# List R2 buckets +npx wrangler r2 bucket list + +# Create a bucket +npx wrangler r2 bucket create my-bucket + +# Upload a file +npx wrangler r2 object put my-bucket/path/file.txt --file=./local-file.txt + +# Download a file +npx wrangler r2 object get my-bucket/path/file.txt --file=./downloaded.txt +``` + +### Managing D1 + +```sh +# List D1 databases +npx wrangler d1 list + +# Create a database +npx wrangler d1 create my-database + +# Execute SQL +npx wrangler d1 execute my-database --command="SELECT * FROM users" + +# Run migrations +npx wrangler d1 migrations apply my-database +``` + +### Debugging + +```sh +# View live logs from a deployed Worker +npx wrangler tail my-worker + +# Check authentication status +npx wrangler whoami +``` + +## Verifying authentication + +Your agent can verify that authentication is working by running: + +```sh +npx wrangler whoami +``` + +Or to get the current token programmatically: + +```sh +npx wrangler auth token --json +``` + +This returns: + +```json +{ + "type": "api_token", + "token": "..." +} +``` + +## Security best practices + +When giving agents access to Wrangler: + +1. **Use dedicated tokens** — Create a separate API token for each agent or use case. Never reuse tokens across multiple systems. + +2. **Apply least privilege** — Only grant the permissions the agent actually needs. If an agent only reads from KV, do not give it edit access. + +3. **Set token TTLs** — For temporary or testing purposes, set an expiration date on the token. + +4. **Rotate tokens regularly** — Periodically create new tokens and revoke old ones, especially for long-running agents. + +5. **Monitor token usage** — Use [Cloudflare Audit Logs](/fundamentals/setup/account/account-security/review-audit-logs/) to track what actions are being performed with your tokens. + +6. **Store tokens securely** — Use your platform's secret management (environment variables, secret stores) rather than hardcoding tokens. + +7. **Restrict by IP** — If your agent runs from known IP addresses, use IP filtering when creating the token. + +## Related resources + + + + + + From e0286642d0927bbef33fa5b2dabd0f205f81b9ed Mon Sep 17 00:00:00 2001 From: Brendan Irvine-Broque Date: Thu, 5 Feb 2026 15:41:07 -0800 Subject: [PATCH 3/5] Move MCP servers content to Cloudflare for Agents section - Remove unrelated changes from agents/index.mdx and create-token.mdx - Move MCP servers content from agents/model-context-protocol/ to cloudflare-for-agents/ - Add redirect from old URL to new location --- public/__redirects | 1 + src/content/docs/agents/index.mdx | 6 -- .../mcp-servers-for-cloudflare.mdx | 84 ------------------- .../cloudflare-for-agents/mcp-servers.mdx | 8 +- .../api/get-started/create-token.mdx | 63 +++++--------- 5 files changed, 25 insertions(+), 137 deletions(-) delete mode 100644 src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx diff --git a/public/__redirects b/public/__redirects index 954e467def5738..73f371d71d2332 100644 --- a/public/__redirects +++ b/public/__redirects @@ -143,6 +143,7 @@ /agents/guides/build-mcp-server/ /agents/guides/remote-mcp-server/ 301 /agents/capabilities/mcp-server/ /agents/model-context-protocol/ 301 /agents/api-reference/calling-agents/ /agents/api-reference/routing/ 301 +/agents/model-context-protocol/mcp-servers-for-cloudflare/ /cloudflare-for-agents/mcp-servers/ 301 # ai /ai/ /use-cases/ai/ 301 diff --git a/src/content/docs/agents/index.mdx b/src/content/docs/agents/index.mdx index 927c45d5bd25c7..5ee17c717bec8d 100644 --- a/src/content/docs/agents/index.mdx +++ b/src/content/docs/agents/index.mdx @@ -163,9 +163,3 @@ Run machine learning models, powered by serverless GPUs, on Cloudflare's global Build stateful agents that guarantee executions, including automatic retries, persistent state that runs for minutes, hours, days, or weeks. - - - -Services that help AI agents interact with Cloudflare and the web, including MCP servers, Markdown conversion, and content processing. - - diff --git a/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx b/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx deleted file mode 100644 index b276fd95bbe1e1..00000000000000 --- a/src/content/docs/agents/model-context-protocol/mcp-servers-for-cloudflare.mdx +++ /dev/null @@ -1,84 +0,0 @@ ---- -pcx_content_type: concept -title: Cloudflare's own MCP servers -tags: - - MCP -sidebar: - order: 8 ---- - -import { Render, Tabs, TabItem } from "~/components"; - -Cloudflare runs a catalog of managed remote MCP servers that you can connect to using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), [Cloudflare AI Playground](https://playground.ai.cloudflare.com/), or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). - -These MCP servers allow your MCP client to read configurations from your account, process information, make suggestions based on data, and make changes for you. All servers support both `streamable-http` transport via `/mcp` and SSE transport (deprecated) via `/sse`. - -## Connect to MCP servers - - - - -Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. - -Or add manually to your MCP config: - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - -Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. - - - - -Add to your Claude Desktop configuration file: - -**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` -**Windows**: `%APPDATA%\Claude\claude_desktop_config.json` - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - -Add to your OpenCode MCP configuration at `~/.config/opencode/.mcp.json`: - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - - -## Available servers - - - -For more information on each server, visit the [GitHub repository](https://github.com/cloudflare/mcp-server-cloudflare). diff --git a/src/content/docs/cloudflare-for-agents/mcp-servers.mdx b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx index 36a137065af80f..f3b4213ae150d7 100644 --- a/src/content/docs/cloudflare-for-agents/mcp-servers.mdx +++ b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx @@ -7,11 +7,11 @@ sidebar: import { Render, Tabs, TabItem } from "~/components"; -Cloudflare runs managed remote [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) servers that you can connect to from any MCP client. These servers provide tools for documentation search, observability, browser rendering, and more. +Cloudflare runs a catalog of managed remote [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) servers that you can connect to using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), [Cloudflare AI Playground](https://playground.ai.cloudflare.com/), or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). -## Connect to MCP servers +These MCP servers allow your MCP client to read configurations from your account, process information, make suggestions based on data, and make changes for you. All servers support both `streamable-http` transport via `/mcp` and SSE transport (deprecated) via `/sse`. -Connect using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), [Cloudflare AI Playground](https://playground.ai.cloudflare.com/), or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). +## Connect to MCP servers @@ -76,8 +76,6 @@ Add to your OpenCode MCP configuration at `~/.config/opencode/.mcp.json`: ## Available servers -All servers support both `streamable-http` transport via `/mcp` and SSE transport (deprecated) via `/sse`. - For more information on each server, visit the [GitHub repository](https://github.com/cloudflare/mcp-server-cloudflare). diff --git a/src/content/docs/fundamentals/api/get-started/create-token.mdx b/src/content/docs/fundamentals/api/get-started/create-token.mdx index e70eaaf2e85440..eb76008da35417 100644 --- a/src/content/docs/fundamentals/api/get-started/create-token.mdx +++ b/src/content/docs/fundamentals/api/get-started/create-token.mdx @@ -5,9 +5,10 @@ sidebar: order: 3 head: [] description: Learn how to create a token to perform actions using the Cloudflare API. + --- -import { Stream, Render } from "~/components"; +import { Stream, Render } from "~/components" :::note[Prerequisite] @@ -16,11 +17,12 @@ Before you begin, [find your zone and account IDs](/fundamentals/account/find-ac ::: + 1. Determine if you want a user token or an [Account API token](/fundamentals/api/get-started/account-owned-tokens/). Use Account API tokens if you prefer service tokens that are not associated with users and your [desired API endpoints are compatible](/fundamentals/api/get-started/account-owned-tokens/#compatibility-matrix). 2. From the [Cloudflare dashboard](https://dash.cloudflare.com/profile/api-tokens/), go to **My Profile** > **API Tokens** for user tokens. For Account Tokens, go to **Manage Account** > **API Tokens**. 3. Select **Create Token**. @@ -29,13 +31,13 @@ Before you begin, [find your zone and account IDs](/fundamentals/account/find-ac ![Token template overview screen](~/assets/images/fundamentals/api/template-customize.png) -6. Modify the token's permissions. After selecting a permissions group (_Account_, _User_, or _Zone_), choose what level of access to grant the token. Most groups offer `Edit` or `Read` options. `Edit` is full CRUDL (create, read, update, delete, list) access, while `Read` is the read permission and list where appropriate. Refer to the [available token permissions](/fundamentals/api/reference/permissions/) for more information. +6. Modify the token's permissions. After selecting a permissions group (*Account*, *User*, or *Zone*), choose what level of access to grant the token. Most groups offer `Edit` or `Read` options. `Edit` is full CRUDL (create, read, update, delete, list) access, while `Read` is the read permission and list where appropriate. Refer to the [available token permissions](/fundamentals/api/reference/permissions/) for more information. 7. Select which resources the token is authorized to access. For example, granting `Zone DNS Read` access to a zone `example.com` will allow the token to read DNS records only for that specific zone. Any other zone will return an error for DNS record reads operations. Any other operation on that zone will also return an error. 8. (Optional) Restrict how a token is used in the **Client IP Address Filtering** and **TTL (time to live)** fields. 9. Select **Continue to summary**. 10. Review the token summary. Select **Edit token** to make adjustments. You can also edit a token after creation. -![Token summary screen displaying the resources and permissions selected](~/assets/images/fundamentals/api/token-summary.png) + ![Token summary screen displaying the resources and permissions selected](~/assets/images/fundamentals/api/token-summary.png) 11. Select **Create Token** to generate the token's secret. 12. Copy the secret to a secure place. @@ -55,44 +57,21 @@ The result: ```json { - "result": { - "id": "100bf38cc8393103870917dd535e0628", - "status": "active" - }, - "success": true, - "errors": [], - "messages": [ - { - "code": 10000, - "message": "This API Token is valid and active", - "type": null - } - ] + "result": { + "id": "100bf38cc8393103870917dd535e0628", + "status": "active" + }, + "success": true, + "errors": [], + "messages": [ + { + "code": 10000, + "message": "This API Token is valid and active", + "type": null + } + ] } ``` With this you have successfully created an API token and can start working with the Cloudflare API. After creating your first API token, you can create additional API tokens [via the API](/fundamentals/api/how-to/create-via-api/). -## API tokens for AI coding agents - -When configuring AI coding agents (such as OpenCode, Claude Code, or Cursor) to deploy Workers and manage Cloudflare resources, create a scoped API token with the permissions your agent needs. - -For Workers development, use these permissions: - -| Permission | Access | -| ---------------------------- | ------ | -| Account / Workers Scripts | Edit | -| Account / Workers KV Storage | Edit | -| Account / D1 | Edit | -| Account / R2 Storage | Edit | -| Account / Durable Objects | Edit | -| Zone / Workers Routes | Edit | - -Set the token as an environment variable for Wrangler: - -```sh -export CLOUDFLARE_API_TOKEN= -npx wrangler deploy -``` - -For detailed setup instructions including skill installation and MCP server configuration, refer to [AI agent setup](/workers/get-started/agent-setup/). From c4d356ef7d8655def36883d66cb698b00f7a261f Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Fri, 6 Feb 2026 00:11:41 +0000 Subject: [PATCH 4/5] Address review feedback: extract MCP tabs partial, fix sidebar, remove unverified command - Extract duplicated MCP connection tabs into a shared partial (mcp-connection-tabs.mdx) - Restore LLM resource links (llms-full.txt) in sidebar.ts that were unintentionally removed - Keep the additional_groups check for Developer platform sidebar inclusion - Remove unverified 'wrangler auth token --json' command from wrangler-cli.mdx - Update stale link in style-guide/ai-tooling.mdx to point to new MCP servers location - Change Skills sidebar order from 1 to 4 so external redirect isn't first item - Fix OpenCode skill install path (skill -> skills) --- .../cloudflare-for-agents/mcp-servers.mdx | 61 +------------------ .../docs/cloudflare-for-agents/skills.mdx | 2 +- .../cloudflare-for-agents/wrangler-cli.mdx | 15 ----- src/content/docs/style-guide/ai-tooling.mdx | 2 +- .../docs/workers/get-started/agent-setup.mdx | 59 +----------------- .../agents/cloudflare-skill-install.mdx | 2 +- .../partials/agents/mcp-connection-tabs.mdx | 57 +++++++++++++++++ src/util/sidebar.ts | 14 +++-- 8 files changed, 72 insertions(+), 140 deletions(-) create mode 100644 src/content/partials/agents/mcp-connection-tabs.mdx diff --git a/src/content/docs/cloudflare-for-agents/mcp-servers.mdx b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx index f3b4213ae150d7..b29f8a50a24903 100644 --- a/src/content/docs/cloudflare-for-agents/mcp-servers.mdx +++ b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx @@ -13,66 +13,7 @@ These MCP servers allow your MCP client to read configurations from your account ## Connect to MCP servers - - - -Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. - -Or add manually to your MCP config: - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - -Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. - - - - -Add to your Claude Desktop configuration file: - -**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` -**Windows**: `%APPDATA%\Claude\claude_desktop_config.json` - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - -Add to your OpenCode MCP configuration at `~/.config/opencode/.mcp.json`: - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - + ## Available servers diff --git a/src/content/docs/cloudflare-for-agents/skills.mdx b/src/content/docs/cloudflare-for-agents/skills.mdx index ea4955199396ec..6e6774cb339d1a 100644 --- a/src/content/docs/cloudflare-for-agents/skills.mdx +++ b/src/content/docs/cloudflare-for-agents/skills.mdx @@ -3,7 +3,7 @@ pcx_content_type: navigation title: Skills external_link: https://github.com/cloudflare/skills sidebar: - order: 1 + order: 4 head: [] description: Modular capabilities for AI agents to connect to tools, services, and APIs. --- diff --git a/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx b/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx index 687cc7992cce13..b4ad2de12c903a 100644 --- a/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx +++ b/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx @@ -210,21 +210,6 @@ Your agent can verify that authentication is working by running: npx wrangler whoami ``` -Or to get the current token programmatically: - -```sh -npx wrangler auth token --json -``` - -This returns: - -```json -{ - "type": "api_token", - "token": "..." -} -``` - ## Security best practices When giving agents access to Wrangler: diff --git a/src/content/docs/style-guide/ai-tooling.mdx b/src/content/docs/style-guide/ai-tooling.mdx index 6be27afcb7c632..8ea796a9bffa04 100644 --- a/src/content/docs/style-guide/ai-tooling.mdx +++ b/src/content/docs/style-guide/ai-tooling.mdx @@ -49,6 +49,6 @@ Cloudflare runs a catalog of managed remote MCP Servers which you can connect to :::note -For other MCP servers offered by Cloudflare, refer to [Cloudflare's MCP servers](/agents/model-context-protocol/mcp-servers-for-cloudflare/). +For other MCP servers offered by Cloudflare, refer to [Cloudflare's MCP servers](/cloudflare-for-agents/mcp-servers/). ::: diff --git a/src/content/docs/workers/get-started/agent-setup.mdx b/src/content/docs/workers/get-started/agent-setup.mdx index 3488fa414dc09a..26f6e6fb5a830f 100644 --- a/src/content/docs/workers/get-started/agent-setup.mdx +++ b/src/content/docs/workers/get-started/agent-setup.mdx @@ -20,64 +20,7 @@ Configure your AI coding agent to build effectively on Cloudflare. This guide co MCP servers provide your agent with tools and context. Connect to Cloudflare's managed servers for documentation, observability, and more. - - - -Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. - -Or add to your MCP configuration: - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - -Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. - - - - -Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows): - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - -Add to `~/.config/opencode/.mcp.json`: - -```json -{ - "mcpServers": { - "cloudflare-docs": { - "command": "npx", - "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] - } - } -} -``` - - - - + For the full list of available servers, refer to [Cloudflare MCP servers](/cloudflare-for-agents/mcp-servers/). diff --git a/src/content/partials/agents/cloudflare-skill-install.mdx b/src/content/partials/agents/cloudflare-skill-install.mdx index a3ced050f011a5..c82861f5f9206e 100644 --- a/src/content/partials/agents/cloudflare-skill-install.mdx +++ b/src/content/partials/agents/cloudflare-skill-install.mdx @@ -25,7 +25,7 @@ Clone the skills repository and copy to your OpenCode skills directory: ```sh git clone https://github.com/cloudflare/skills.git -cp -r skills/* ~/.config/opencode/skill/ +cp -r skills/* ~/.config/opencode/skills/ ``` diff --git a/src/content/partials/agents/mcp-connection-tabs.mdx b/src/content/partials/agents/mcp-connection-tabs.mdx new file mode 100644 index 00000000000000..d7dbfe35b03e46 --- /dev/null +++ b/src/content/partials/agents/mcp-connection-tabs.mdx @@ -0,0 +1,57 @@ + + + +Use this [direct install link](https://cursor.com/en-US/install-mcp?name=cloudflare-docs&config=eyJjb21tYW5kIjoibnB4IG1jcC1yZW1vdGUgaHR0cHM6Ly9kb2NzLm1jcC5jbG91ZGZsYXJlLmNvbS9zc2UifQ%3D%3D) for the Documentation server. + +Or add to your MCP configuration: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Use this [direct install link](vscode:mcp/install?%7B%22name%22%3A%22cloudflare-docs%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.mcp.cloudflare.com%2Fmcp%22%7D) for the Documentation server. + + + + +Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows): + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + + +Add to `~/.config/opencode/.mcp.json`: + +```json +{ + "mcpServers": { + "cloudflare-docs": { + "command": "npx", + "args": ["mcp-remote", "https://docs.mcp.cloudflare.com/mcp"] + } + } +} +``` + + + diff --git a/src/util/sidebar.ts b/src/util/sidebar.ts index 67ae426e1ce6a9..0540008e7c75eb 100644 --- a/src/util/sidebar.ts +++ b/src/util/sidebar.ts @@ -101,10 +101,14 @@ export async function generateSidebar(group: Group) { const links = [ ["llms.txt", "/llms.txt"], ["prompt.txt", "/workers/prompt.txt"], + [`${product.data.name} llms-full.txt`, `/${product.id}/llms-full.txt`], + ["Developer Platform llms-full.txt", "/developer-platform/llms-full.txt"], ]; - for (const [label, href] of links) { - group.entries.push({ + group.entries.push({ + type: "group", + label: "LLM resources", + entries: links.map(([label, href]) => ({ type: "link", label, href, @@ -113,8 +117,10 @@ export async function generateSidebar(group: Group) { target: "_blank", }, badge: undefined, - }); - } + })), + collapsed: true, + badge: undefined, + }); } return group; From 709e448acb1cf54e7b67b537950a672b7ee5f0e4 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Fri, 6 Feb 2026 13:05:40 +0000 Subject: [PATCH 5/5] Fix missing imports, broken link, cleanup Co-authored-by: elithrar --- src/content/docs/cloudflare-for-agents/mcp-servers.mdx | 2 +- src/content/docs/cloudflare-for-agents/wrangler-cli.mdx | 2 +- src/content/partials/agents/cloudflare-skill-install.mdx | 2 ++ src/content/partials/agents/mcp-connection-tabs.mdx | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/content/docs/cloudflare-for-agents/mcp-servers.mdx b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx index b29f8a50a24903..2a2141999a6c63 100644 --- a/src/content/docs/cloudflare-for-agents/mcp-servers.mdx +++ b/src/content/docs/cloudflare-for-agents/mcp-servers.mdx @@ -5,7 +5,7 @@ sidebar: order: 2 --- -import { Render, Tabs, TabItem } from "~/components"; +import { Render } from "~/components"; Cloudflare runs a catalog of managed remote [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) servers that you can connect to using OAuth on clients like [Claude](https://modelcontextprotocol.io/quickstart/user), [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp), [Cloudflare AI Playground](https://playground.ai.cloudflare.com/), or any [SDK that supports MCP](https://github.com/cloudflare/agents/tree/main/packages/agents/src/mcp). diff --git a/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx b/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx index b4ad2de12c903a..c2b5d9c5e6858b 100644 --- a/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx +++ b/src/content/docs/cloudflare-for-agents/wrangler-cli.mdx @@ -222,7 +222,7 @@ When giving agents access to Wrangler: 4. **Rotate tokens regularly** — Periodically create new tokens and revoke old ones, especially for long-running agents. -5. **Monitor token usage** — Use [Cloudflare Audit Logs](/fundamentals/setup/account/account-security/review-audit-logs/) to track what actions are being performed with your tokens. +5. **Monitor token usage** — Use [Cloudflare Audit Logs](/fundamentals/account/account-security/review-audit-logs/) to track what actions are being performed with your tokens. 6. **Store tokens securely** — Use your platform's secret management (environment variables, secret stores) rather than hardcoding tokens. diff --git a/src/content/partials/agents/cloudflare-skill-install.mdx b/src/content/partials/agents/cloudflare-skill-install.mdx index c82861f5f9206e..92784ec46d4205 100644 --- a/src/content/partials/agents/cloudflare-skill-install.mdx +++ b/src/content/partials/agents/cloudflare-skill-install.mdx @@ -1,3 +1,5 @@ +import { Tabs, TabItem } from "~/components"; + The [Cloudflare skill](https://github.com/cloudflare/skills) teaches AI coding agents how to build on Cloudflare. It includes guidance for Workers, Pages, storage (KV, D1, R2), AI services, and the Agents SDK. diff --git a/src/content/partials/agents/mcp-connection-tabs.mdx b/src/content/partials/agents/mcp-connection-tabs.mdx index d7dbfe35b03e46..1c6811fcabc5de 100644 --- a/src/content/partials/agents/mcp-connection-tabs.mdx +++ b/src/content/partials/agents/mcp-connection-tabs.mdx @@ -1,3 +1,5 @@ +import { Tabs, TabItem } from "~/components"; +