Skip to content
All agents
Earendil

Pi + Cloudflare

Minimal, extensible agent harness that you can make your own. Made by Earendil.

TerminalStandaloneOpen Source

Quick start

  1. Install Pi

    Install Pi on macOS or Linux. For Windows, npm, or Nix options, refer to the Pi quickstart ↗︎.

    curl -fsSL https://pi.dev/install.sh | sh
  2. Install Cloudflare Skills

    npx skills add https://github.com/cloudflare/skills
  3. Add the Cloudflare MCP server

    Register the Cloudflare MCP server in ~/.pi/agent/mcp.json, then sign in through OAuth. For domain-specific MCP servers, refer to mcp-server-cloudflare ↗︎. For the full Cloudflare API MCP server (Code Mode), refer to cloudflare/mcp ↗︎.

    pi mcp add cloudflare --url https://mcp.cloudflare.com/mcp
    pi mcp login cloudflare
  4. Launch Pi

    Start Pi from the root of your project, where wrangler.jsonc or cloudflare.config.ts lives (if either exists). If you have not connected a model provider yet, run /login inside Pi to connect a subscription or API key.

    pi
  5. Try a prompt

    For example:

    Set up rate limiting and WAF rules to block abuse on my public API.

Cloudflare platform access

Expand any section to learn more.

Cloudflare Skills

Persistent platform context that teaches the agent how Cloudflare works.

Skills are instructions the agent loads on demand. The cloudflare/skills bundle covers every layer of the platform — so the agent knows your conventions without you re-explaining them.

  • agents-sdkBuild, debug, or review Cloudflare Agents SDK applications using the agents package.
  • basinBuild and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL. Use for streaming data into R2 Iceberg tables, managing catalogs, or querying those tables; also use for requests using the former Data Platform, Pipelines, R2 Data Catalog, or R2 SQL names.
  • cf-cliCloudflare's official cf CLI (beta) for the public Cloudflare API and Workers projects. Use for finding and running Cloudflare commands from the terminal — sign-in and profiles, cf cli search, cf schema, cf deploy/dev/build, resource commands for DNS, zones, D1, KV, and R2 — and for choosing between cf and Wrangler in a project.
  • cloudflareDiscover and choose Cloudflare products for apps, APIs, AI agents, storage, networking, and security. Use for architecture and product selection, including when the user describes a need without naming a Cloudflare product; then find the relevant skill or documentation.
  • cloudflare-email-serviceImplement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration.
  • cloudflare-oneDesign, configure, troubleshoot, or review Cloudflare One Zero Trust and SASE deployments. Use cloudflare-one-migrations for migration planning from other vendors.
  • cloudflare-one-migrationsAssess and plan migrations from existing VPN, SWG, or SASE platforms to Cloudflare One, including policy mapping, parity gaps, and rollout.
  • durable-objectsBuild, debug, or review Cloudflare Durable Objects code for persistent state and coordination.
  • gateway-workersBuild, debug, or review Cloudflare Workers invoked by the Forward action in Gateway HTTP policies, including the GatewayMiddleware entrypoint, Gateway types, context, and continuation.
  • k2Build and troubleshoot Cloudflare K2 or K2 Streams durable logs. Use for stream setup, producing from Workers or HTTP, configuring retention and inputs, and consuming through subscriptions.
  • nextjs-on-cloudflareBuild, migrate, and deploy Next.js apps on Cloudflare Workers with vinext. Use when starting a Next.js project on Cloudflare, moving an existing app to Workers, choosing between vinext and OpenNext, or setting up vinext for Workers. For setup, migration, or deployment, install vinext's upstream skills with `npx skills add cloudflare/vinext` if missing, then read and follow the applicable skill and docs.
  • sandbox-migrate-to-nextMigrate Cloudflare Sandbox apps from stable @cloudflare/sandbox to @cloudflare/sandbox@next (SDK 1.0 preview). Use sandbox-next for apps already on the preview.
  • sandbox-nextBuild or maintain Cloudflare Sandbox apps on @cloudflare/sandbox@next (SDK 1.0 preview). Use sandbox-migrate-to-next when porting a stable app.
  • sandbox-stableBuild or maintain Cloudflare Sandbox apps on the stable @cloudflare/sandbox package. Use sandbox-next for preview apps and sandbox-migrate-to-next for stable-to-preview migrations.
  • turnstile-spinSet up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.
  • web-perfAudit, diagnose, or optimize website loading and interaction performance, Core Web Vitals, and Lighthouse performance scores.
  • workers-best-practicesCloudflare Workers best practices for production applications. Use when writing, reviewing, or configuring Workers.
  • workers-profilingProfile or debug CPU usage and memory allocation in deployed Cloudflare Workers and Durable Objects. Then use this information to optimize your code.
  • wranglerRun or troubleshoot Wrangler CLI commands in projects that have a wrangler.jsonc, wrangler.json, or wrangler.toml file, including local development, Previews, deployment, and resource management. For new projects and projects without a Wrangler configuration file, use the cf CLI instead.
MCP servers

Live access to the Cloudflare API, docs, and observability.

MCP servers provide typed tools to call into Cloudflare at runtime. There are two options: Code Mode — a single server that covers the entire Cloudflare API (2,500+ endpoints in ~1,000 tokens) — or a set of focused, domain-specific servers hosted in the cloudflare/mcp-server-cloudflare repo. The full catalog is also in the MCP servers for Cloudflare docs.

  • Cloudflare API MCP Servercode modeBest when you want broad access across Cloudflare's APIs through code executionhttps://mcp.cloudflare.com/mcp
  • Code mode APIcode modeBroad access to the full Cloudflare API via code execution, with minimal token overheadhttps://mcp.cloudflare.com/mcp
  • Browser Run serverFetch web pages, convert them to markdown and take screenshotshttps://browser.mcp.cloudflare.com/mcp
  • Cloudflare Blog serverSearch and read posts from the Cloudflare Bloghttps://blog.mcp.cloudflare.com/mcp
  • Cloudflare One CASB serverQuickly identify any security misconfigurations for SaaS applications to safeguard users & datahttps://casb.mcp.cloudflare.com/mcp
  • Container serverSpin up a sandbox development environmenthttps://containers.mcp.cloudflare.com/mcp
  • Demo Day serverDemonstrate a minimal Cloudflare MCP serverhttps://demo-day.mcp.cloudflare.com/mcp
  • Digital Experience Monitoring serverGet quick insight on critical applications for your organizationhttps://dex.mcp.cloudflare.com/mcp
  • Documentation serverGet up-to-date reference information on Cloudflarehttps://docs.mcp.cloudflare.com/mcp
Wrangler CLI

Local dev, deploys, and Workers-specific commands.

Use Wrangler for local development, deploys, and product-specific commands like wrangler d1 migrations apply or wrangler tail. The bundled wrangler Skill teaches the agent when to reach for it.

Agent-friendly docs

Token-efficient references optimized for agents.

Append /index.md to any Cloudflare docs URL for a clean markdown version. Every top-level product section also has its own llms.txt — a page index sized for a single context window. A few useful ones:

For a full overview of how these docs are structured for agents, refer to the Docs for Agents guide.

Example prompts

Create a Logpush job to stream Workers analytics to my data warehouse.
Set up AI Gateway to route requests across OpenAI and Workers AI with automatic fallback and cost tracking.
Add real-time collaboration to my app using Durable Objects with WebSocket hibernation.
Build an AI chat agent using the Cloudflare Agents SDK with persistent conversation history stored in D1.
Build an image upload and transformation service using R2 and Cloudflare Images.

Tips

  • The Cloudflare API MCP server uses Code Mode. Pi writes JavaScript against a typed API to reach any of 2,500+ endpoints in ~1,000 tokens.
  • Pi calls MCP tools from its own codemode tool by default. To declare the Cloudflare tools to the model directly, add the server with --exposure direct.
  • Use /mcp inside Pi to check the connection, sign in, reconnect, or turn the Cloudflare server on or off. Run /reload after changing mcp.json outside a session.
  • Pi has built-in providers for Workers AI ↗︎ and AI Gateway, so you can keep the whole workflow on Cloudflare.

FAQ

Should I use Skills, the MCP server, a CLI, or all of them?

All three. Skills provide persistent Cloudflare expertise so Pi knows when to reach for Durable Objects vs KV, how to structure a Workers project, and when to call CLI vs API. The Cloudflare API MCP server handles platform operations (DNS, WAF, Zero Trust, R2 buckets). Wrangler handles local dev, deploys, and Workers-specific commands. The bundled wrangler Skill teaches Pi which to use. For tasks across the whole Cloudflare API, Pi can also use the Cloudflare CLI, cf.

Can Pi use the Cloudflare CLI?

Yes. The Cloudflare CLI, cf, is in beta and covers the whole Cloudflare API and prints JSON output. Install it with npm install -g cf, sign in with cf auth login, and tell Pi to prefer it in AGENTS.md or ~/.pi/agent/AGENTS.md. Refer to Use cf with AI agents.

How do I connect Pi to my Cloudflare account?

Run pi mcp login cloudflare, or run /mcp login cloudflare inside Pi. Pi opens the Cloudflare authorization page in your browser, where you choose permissions.

Can I use Workers AI as the model provider in Pi?

Yes. Pi has built-in Cloudflare Workers AI and Cloudflare AI Gateway providers. Set CLOUDFLARE_API_KEY and CLOUDFLARE_ACCOUNT_ID, or run /login inside Pi. To route another provider through AI Gateway, refer to Pi with AI Gateway.

Is Pi open source?

Yes. Pi is open source under the MIT license and available at github.com/earendil-works/pi ↗︎.

Troubleshooting

MCP server connection fails

Run pi mcp list to connect to every configured server and print its state and errors. Inside Pi, /mcp shows the full connection error. Pi requires a streamable HTTP endpoint, so use https://mcp.cloudflare.com/mcp rather than an /sse URL.

MCP server authentication fails

Run pi mcp logout cloudflare, then pi mcp login cloudflare and complete the OAuth flow in your browser. If the browser runs on another machine, such as over SSH, paste the redirected URL into Pi when prompted.

Getting outdated information about Cloudflare products

Point the agent directly at developers.cloudflare.com/llms.txt for a directory of every product, or developers.cloudflare.com/<product>/llms.txt for a product-specific index.

Build agents on Cloudflare

Other agents

Anthropic

Claude Code

Terminal-based coding agent that understands your codebase, runs commands, edits files, and manages git. Made by Anthropic.

View guide
OpenAI

Codex

OpenAI coding agent available as a terminal CLI and desktop app. It reads and writes files, runs commands, and browses the web in a sandbox.

View guide
Cursor

Cursor

AI-first IDE built on VS Code with multi-file Composer edits and background agents. Made by Cursor.

View guide
GitHub

GitHub Copilot

Editor extension and CLI with agent mode, workspace context, and native PR integration. Made by GitHub.

View guide
Anomaly

OpenCode

Open-source terminal agent with a rich TUI that works with 75+ LLMs. Made by Anomaly.

View guide
Mistral AI

Vibe

Coding agent for terminal, IDE, and cloud workflows that reads files, runs commands, writes code, and opens pull requests. Made by Mistral AI.

View guide
Cognition

Devin

A full IDE with an agent manager built in — the command center for managing all your agents in one place. Made by Cognition.

View guide
Microsoft

Visual Studio Code

Free, open-source code editor with native Model Context Protocol (MCP) client support and Copilot Chat integration. Made by Microsoft.

View guide
Command Code

Command Code

Command Code is one of the most used coding agents for open models. It automatically learns your coding taste and self-improves as you work.

View guide
LM Studio

Bionic

Powerful agent for coding and work. Natively local, with open models in the cloud. By LM Studio.

View guide
Factory

Droid

Model-agnostic coding agent that plans, edits files, runs commands, and automates CI, from the terminal, desktop app, or cloud. Made by Factory.

View guide

Was this helpful?