Gebruik Cloudflare MCP met
Sokko.
Verbind Cloudflare MCP en vertel Sokko wat je wilt. Het voert de acties uit die je vraagt en reageert op wat er gebeurt. Geen workflows, geen code.
Werkt met 1.000+ tools · Geen code nodig
Acties
Alles wat Sokko kan doen in Cloudflare MCP
Elke Cloudflare MCP-actie die Sokko kan uitvoeren. Vraag erom in één zin en het is gebeurd.
Docs
Search the Cloudflare documentation.
This tool should be used to answer any question about Cloudflare products or features, including:
- Workers, Pages, R2, Images, Stream, D1, Durable Objects, KV, Workflows, Hyperdrive, Queues
- AI Search, Workers AI, Vectorize, AI Gateway, Browser Rendering
- Zero Trust, Access, Tunnel, Gateway, Browser Isolation, WARP, DDOS, Magic Transit, Magic WAN
- CDN, Cache, DNS, Zaraz, Argo, Rulesets, Terraform, Account and Billing
Results are returned as semantically similar chunks to the query.
Execute
Execute JavaScript code that can read, create, update, or delete resources through the Cloudflare API. First use the 'search' tool to find the right endpoints, then write code using the cloudflare.request() function.
Available in your code:
interface CloudflareRequestOptions {
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
path: string;
query?: Record<string, string | number | boolean | undefined>;
body?: unknown;
contentType?: string; // Custom Content-Type header (defaults to application/json if body is present)
rawBody?: boolean; // If true, sends body as-is without JSON.stringify
}
interface CloudflareResponse<T = unknown> {
success: boolean;
status: number;
result: T;
errors: Array<{ code: number; message: string }>;
messages: Array<{ code: number; message: string }>;
result_info?: {
page: number;
per_page: number;
total_pages: number;
count: number;
total_count: number;
};
}
declare const cloudflare: {
request<T = unknown>(options: CloudflareRequestOptions): Promise<CloudflareResponse<T>>;
};
declare const accountId: string;
// Use the account_id argument to select the Cloudflare account for account-scoped requests.
Your code must be an async arrow function that returns the result.
Example: Worker with bindings (requires multipart/form-data):
async () => {
const code = `addEventListener('fetch', e => e.respondWith(MY_KV.get('key').then(v => new Response(v || 'none'))));`;
const metadata = { body_part: "script", bindings: [{ type: "kv_namespace", name: "MY_KV", namespace_id: "your-kv-id" }] };
const b = `--F${Date.now()}`;
const body = [`--${b}`, 'Content-Disposition: form-data; name="metadata"', 'Content-Type: application/json', '', JSON.stringify(metadata), `--${b}`, 'Content-Disposition: form-data; name="script"', 'Content-Type: application/javascript', '', code, `--${b}--`].join("\r\n");
return cloudflare.request({ method: "PUT", path: `/accounts/${accountId}/workers/scripts/my-worker`, body, contentType: `multipart/form-data; boundary=${b}`, rawBody: true });
}
Search
Search the Cloudflare OpenAPI spec. All $refs are pre-resolved inline.
Products: cloudforce-one, access, magic, workers, dlp, email-security, realtime, devices, ai-gateway, email, intel, gateway, stream, settings, brand-protection, data-security, ai-search, browser-rendering, dex, logpush, api_gateway, builds, images, addressing, security-center, load_balancers, rulesets, vectorize, firewall, logs... (168 total)
Types:
interface OperationInfo {
summary?: string;
description?: string;
tags?: string[];
parameters?: Array<{ name: string; in: string; required?: boolean; schema?: unknown; description?: string }>;
requestBody?: { required?: boolean; content?: Record<string, { schema?: unknown }> };
responses?: Record<string, { description?: string; content?: Record<string, { schema?: unknown }> }>;
}
interface PathItem {
get?: OperationInfo;
post?: OperationInfo;
put?: OperationInfo;
patch?: OperationInfo;
delete?: OperationInfo;
}
declare const spec: {
paths: Record<string, PathItem>;
};
Examples:
// Find endpoints by product
async () => {
const results = [];
for (const [path, methods] of Object.entries(spec.paths)) {
for (const [method, op] of Object.entries(methods)) {
if (op.tags?.some(t => t.toLowerCase() === 'workers')) {
results.push({ method: method.toUpperCase(), path, summary: op.summary });
}
}
}
return results;
}
// Get endpoint with requestBody schema (refs are resolved)
async () => {
const op = spec.paths['/accounts/{account_id}/d1/database']?.post;
return { summary: op?.summary, requestBody: op?.requestBody };
}
// Get endpoint parameters
async () => {
const op = spec.paths['/accounts/{account_id}/workers/scripts']?.get;
return op?.parameters;
}
Maak verbinding
Live in je Slack binnen twee minuten.
Geen workflows om op te zetten. Zet de tools aan die je al gebruikt en je agent gaat aan de slag.
Toevoegen aan Slack
1
Voeg Sokko toe aan Slack
Eén klik vanuit de Slack-marketplace. Je hele team krijgt Sokko in één keer.
2
Verbind je tools
Sokko werkt met meer dan 1.000 apps en elke MCP-server.
Martin
9:53 AM
@Sokko
Wat kun je doen met Cloudflare MCP?
3
Zet Sokko aan het werk
@vermeld Sokko in elk kanaal en hij gaat aan de slag. Minuten, geen weekend.
Vragen, beantwoord.
Sokko is een AI-assistent die in je Slack leeft. Verbind je apps, vraag in gewone taal wat je nodig hebt, en Sokko neemt het werk uit handen.
Meld je aan bij Sokko, vraag Sokko om verbinding te maken met Cloudflare MCP en keur de verbinding goed wanneer daarom wordt gevraagd. Daarna kun je Sokko altijd vragen om dingen te doen in Cloudflare MCP.
Nee. Er valt niets te bouwen of in te stellen. Je vraagt het Sokko in Slack net zoals je een collega zou vragen, en Sokko doet de rest.
Ja. Vraag het één keer en vertel Sokko wanneer hij het moet herhalen, bijvoorbeeld elke maandag om 9 uur, en het wordt een routine die zonder jou draait.
Gegevens in Cloudflare MCP lezen en er actie op ondernemen, en workflows starten wanneer daar iets verandert. Vertel Sokko welk resultaat je wilt en het doet de rest.
Ja. Sokko verbindt met 1.000+ apps en elke MCP-server, dus je kunt in één verzoek taken vragen die Cloudflare MCP en de rest van je stack omvatten.