Skip to main content
Glama
jeffgolden

Cloudflare MCP Server

by jeffgolden

cloudflare-dns-mcp_list_zones

List all zones in a Cloudflare account with optional status filtering and detailed inclusion, using a structured tool for DNS and zone management.

Instructions

List all zones in the account

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
include_detailsNo
status_filterNo

Implementation Reference

  • Primary handler implementation for the 'cloudflare-dns-mcp/list_zones' tool. Fetches zones with optional status filter, optionally enriches with zone settings.
    handler: async (params: any) => { const { status_filter, include_details } = ListZonesInputSchema.parse(params); const query: Record<string, any> = {}; if (status_filter) query.status = status_filter; const zones = await client.get<any[]>('/zones', query); if (!include_details) return zones; // fetch settings for each zone in parallel (limit concurrency if desired) const enriched = await Promise.all( zones.map(async z => { const settings = await client.get(`/zones/${z.id}/settings`); return { content: [ { type: "text", text: JSON.stringify({ ...z, settings }, null, 2) } ] }; }), ); return enriched; },
  • Zod input schema for list_zones tool defining optional status_filter and include_details parameters.
    const ListZonesInputSchema = z.object({ status_filter: z.string().optional(), include_details: z.boolean().optional().default(false), });
  • Output schema for list_zones tool (array of zone objects).
    outputSchema: { type: 'array', items: {} } as any,
  • src/index.ts:21-32 (registration)
    Registration in main server index.ts where zoneTools (containing list_zones) are merged into allTools. Note: overrides duplicate from dnsTools.
    const zoneTools = getZoneManagementTools(cfClient); const echoTools = getEchoTools(); const redirectTools = getRedirectTools(cfClient); const allTools = { ...dnsTools.tools, ...securityTools.tools, ...sslCertTools.tools, ...echoTools.tools, ...redirectTools.tools, ...zoneTools.tools, } as Record<string, any>;
  • Local registration of listZonesTool in getZoneManagementTools export.
    'cloudflare-dns-mcp/list_zones': listZonesTool,
  • Duplicate simpler handler in dns-records.ts (overridden by zone-management version).
    handler: async () => { const zones = await client.get<Array<z.infer<typeof ZoneSchema>>>('/zones'); return zones.map(z => ({ id: z.id, name: z.name, status: z.status })); },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jeffgolden/cloudflare_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server