Connector · Engineering
A Cloudflare teammate in Slack, on Cloudflare's own API MCP server.
Chickpea gives a channel a named AI teammate that holds its own Cloudflare connection. It signs in with OAuth and calls Cloudflare's API MCP server, which reaches the whole Cloudflare API through three tools: docs, search, and execute. Ask it in Slack what a DNS record points at, or to purge one cached URL, and it answers in the thread.
What people ask it.
The teammate is @oncall, in #eng. Pick a scenario to watch it play.
| Name | Type | Value | Proxied |
|---|---|---|---|
| api | A | 198.51.100.24 | Yes |
| api-eu | CNAME | eu.northwind.dev | Yes |
| api-edge | CNAME | checkout.workers.dev | Yes |
| api-staging | A | 203.0.113.9 | No |
Look up a record or a setting Read only
@oncall what do the api records on northwind.dev point at, and are they proxied
@oncall which zones still have development mode on
A read comes straight back, and a long answer arrives as a table in the thread. Cloudflare says the server covers the entire Cloudflare API, over 2,500 endpoints across DNS, Workers, R2, Zero Trust, and every other product. What the teammate can see is what the permissions you ticked on Cloudflare allow, and nothing wider.
Read what a Worker is doing Read only
@oncall which version of the checkout worker is live, and when did it deploy
@oncall how many requests did northwind.dev serve yesterday, and how many came from cache
Another read. Cloudflare says its server handles the GraphQL Analytics API through the same
executetool, so a traffic question and a deployment question use one connection. The teammate quotes the numbers Cloudflare returned rather than estimating, and says so when a question is outside what came back.Purge one path from the cache Applies at once
@oncall purge the cache for northwind.dev/pricing, the new copy is stuck
@oncall purge everything tagged pricing on northwind.dev
A purge by URL, prefix, or tag is narrow and the cache fills again from your origin, so it applies at once. The reply repeats what Cloudflare says about the result: a successful request means Cloudflare received it, not that any content was evicted yet. Purging a whole zone is in the group below.
Change a record, a rule, or a whole zone Asks first
@oncall point api.northwind.dev at 198.51.100.77 and turn the proxy on
@oncall block the ASN hammering /checkout with a WAF rule
A change to where a hostname resolves, an edit to a firewall rule, or a purge of a whole zone comes back as the exact edit and waits for a yes. Cloudflare warns that purging everything sends every later request to your origin until the cache refills, and that this can overload it. A write also needs the message you sent to name it, because thread history, retrieved content, and memory cannot authorize one.
On a schedule Applies at once
@oncall every weekday at 9am Eastern, post yesterday's requests, cache hit ratio, and 5xx count for northwind.dev
@oncall every Monday at 8am Pacific, list the DNS records changed in the last seven days
A schedule saves on the spot. It needs an explicit time zone, runs under the Cloudflare connection of the person who asked, and fails with a named reason rather than running if that connection is disconnected.
Connect it
Five steps, from Admin or from Slack.
You sign in through a page Chickpea serves, never in Slack. The link the teammate posts is good for one action, for one teammate, for 24 hours.
- In Chickpea Admin, open the teammate, then Connections, find Cloudflare, and choose Connect. Or ask in Slack,
@oncall connect Cloudflare, and follow the link it posts. - Choose who uses it. Team is one shared Cloudflare account that everyone who can use the teammate acts through. Personal means each member signs in as themselves, and Cloudflare records their actions as them.
- Choose Continue to sign in. Cloudflare asks you to authorize, and its own screen is where you select the permissions to grant. There is no token to paste and no config file to edit.
- Chickpea connects to mcp.cloudflare.com/mcp and records the tools the server answered with. Cloudflare exposes three:
docs,search, andexecute. The teammate is handed that list, and it can later be narrowed but never widened. - Ask something.
@oncall what do the api records on northwind.dev point atis a good first question, because it reads and cannot change anything.
A connection belongs to one teammate. Giving a second teammate Cloudflare means a second sign-in with its own consent, so the support teammate never inherits what the on-call teammate can reach.
There is no built-in Chickpea skill for Cloudflare, and none is needed. The tools arrive from Cloudflare's server. Chickpea connects before it saves anything, records what the server answered with, and exposes only those tools. Cloudflare describes the three as docs, which searches its developer documentation, search, which writes JavaScript to find endpoints in the API spec, and execute, which writes JavaScript that calls the Cloudflare API. Cloudflare runs the server and publishes its source.

Beside Cloudflare
What the same teammate usually holds too.
Each is its own connection, granted to the teammate alone. All 37 connectors.
The error in Sentry, beside the deployment on Cloudflare that introduced it
NeonThe Postgres branch behind the Worker, in the same question
SupabaseThe other half of the stack when the database is not on Cloudflare
When an edge problem turns into an incident, the same teammate can say who is on call
Questions people ask
What is Cloudflare MCP?
A hosted MCP server Cloudflare runs at mcp.cloudflare.com/mcp. Cloudflare says it reaches the entire Cloudflare API, over 2,500 endpoints, through three tools: docs, search, and execute. That covers DNS, Workers, R2, Zero Trust, and every other product. Cloudflare runs a catalog of narrower servers beside it, for documentation, observability, Radar, and audit logs. Chickpea's preset points at the API one, so a teammate in Slack uses it with no editor and no config file anywhere.
What is Cloudflare Code Mode, and how does it work?
Code Mode is Cloudflare's name for the search-and-execute pattern this server uses. Rather than register a tool for each of about 2,500 endpoints, the model writes JavaScript against a typed version of the OpenAPI spec and the Cloudflare API client. The generated code then runs inside an isolated Dynamic Worker sandbox. Cloudflare puts the cost at roughly 1,000 tokens whatever the API contains, against more than a million for a server that exposed every endpoint as its own tool. That is why one connection can cover the whole API without filling a teammate's context.
Which Cloudflare MCP server should I use?
For a channel, the API server, which is the one this preset connects to. Cloudflare's product-specific servers are narrower by design: docs.mcp.cloudflare.com for reference material, an observability server for logs and analytics, Radar for internet traffic, audit logs, Workers Builds, and others. One connection to the API server answers the questions that actually come up in a thread. If a team wants one of the narrow servers as well, Chickpea takes a custom MCP server URL on the same page.
How do I get a Cloudflare API token for this?
You do not need one. This preset signs in with OAuth, and Cloudflare redirects you to authorize and pick the permissions to grant. Cloudflare documents API tokens as the other path, for CI/CD and automation: you create one in the dashboard under API Tokens with the permissions you need, and both user tokens and account tokens work. Cloudflare adds that an account token needs Account Resources Read, so the server can detect the account. Tokens with Client IP Address Filtering are not supported. None of that applies here, because this connector has no token field.
Does it use Cloudflare's MCP server or the API?
The MCP server. Cloudflare is a vendor MCP lane: the deployment connects to mcp.cloudflare.com/mcp over streamable HTTP and signs in with OAuth. The preset sends no scope string, so the connection gets whatever you approve on Cloudflare's consent screen and nothing else. There is no API key anywhere in this connector, and the connection cannot reach any other address.
Can it delete a DNS record or a Worker?
Cloudflare's server reaches whatever the permissions you approved cover, and delete endpoints are part of the API, so this page will not claim deletion is impossible. Two things bound it. The first is Cloudflare's own consent screen: approve read permissions and every write fails there, not here. The second is Chickpea's gate. Of the three tools, only execute reaches your account, and execute is not a read verb, so the gate refuses it unless the message you just sent names the action and its target. A question names its own read. A deletion has to be asked for in that message, and a thread, a document, or a memory cannot ask on your behalf.
Can I use this from Claude Code or Cursor instead?
Yes. Cloudflare publishes a Skills plugin that bundles its MCP servers with skills and slash commands, and documents installing it for Claude Code, Cursor, OpenCode, OpenAI Codex, and Pi. Those put the server in one person's editor. A teammate puts it in a channel, with a stored connection, saved instructions, schedules, and every action visible in the thread where it was asked for. Teams often run both.
Is this Agent Lee?
No. Agent Lee is Cloudflare's own AI co-pilot, built into the Cloudflare dashboard. Cloudflare documents it as answering questions about your account from your real data, and as changing DNS records, zone settings, and security rules. It also runs diagnostics such as DNS lookups and certificate checks, and draws charts from your analytics. Cloudflare says it cannot write Workers scripts, reach billing data, remember previous conversations, work across several accounts, or make a change without your approval. It lives in the dashboard. A Chickpea teammate lives in a Slack channel and holds Cloudflare beside your other connected accounts.
Do I still need Cloudflare's Slack notifications?
Yes, for anything that starts on Cloudflare's side. Cloudflare publishes no Slack app. What it publishes is notification destinations, and a Slack incoming webhook is one of the services it documents, beside Google Chat, DataDog, Discord, OpsGenie, Splunk, Feishu, Teams, and ServiceNow. Cloudflare says free accounts get email. Professional and above add webhooks, and Business and above add PagerDuty. Webhook destinations need at least one zone on Pro or above. A Chickpea teammate hears nothing from Cloudflare and posts nothing unprompted. Keep the webhook for alerts, and ask the teammate when you want to know why one fired.
Does Chickpea itself run on Cloudflare?
Yes. A Chickpea deployment is one Worker in your own Cloudflare account, which is also where its data and its stored credentials sit. That is worth naming, and it is not a requirement of this connector. The connection here is an ordinary OAuth sign-in to whichever Cloudflare account you choose, and it does not have to be the account the deployment runs in.
Try it
Give a channel a Cloudflare teammate.
One deploy into your own Cloudflare account, connect Slack, sign in to Cloudflare, ask. Apache 2.0, no seats, no metering.
Or run it on Node. The setup guide covers both.
Last checked
Facts on this page were checked against the product and Cloudflare's own pages on September 17, 2026. This page is also available as markdown at /connectors/cloudflare-api.md.
