Cloudflare MCP Server for Pydantic AI 25 tools — connect in under 2 minutes
Pydantic AI brings type-safe agent development to Python with first-class MCP support. Connect Cloudflare through the Vinkius and every tool is automatically validated against Pydantic schemas — catch errors at build time, not in production.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import asyncio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerHTTP
async def main():
# Your Vinkius token — get it at cloud.vinkius.com
server = MCPServerHTTP(url="https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp")
agent = Agent(
model="openai:gpt-4o",
mcp_servers=[server],
system_prompt=(
"You are an assistant with access to Cloudflare "
"(25 tools)."
),
)
result = await agent.run(
"What tools are available in Cloudflare?"
)
print(result.data)
asyncio.run(main())
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Cloudflare MCP Server
What you can do
Connect AI agents to Cloudflare's platform for comprehensive edge infrastructure management:
Pydantic AI validates every Cloudflare tool response against typed schemas, catching data inconsistencies at build time. Connect 25 tools through the Vinkius and switch between OpenAI, Anthropic, or Gemini without changing your integration code — full type safety, structured output guarantees, and dependency injection for testable agents.
- Manage Workers — list, inspect, delete serverless functions across your account
- Control deployments — version history, immediate/gradual rollouts, rollback capabilities
- Manage secrets — create, list, and delete encrypted environment secrets securely
- Configure routes — URL patterns that trigger Workers at specific paths or domains
- Query KV storage — read/write key-value pairs from Workers KV namespaces
- Execute D1 queries — run SQL queries against Cloudflare's serverless SQLite databases
- Inspect R2 buckets — list and manage object storage buckets
- Monitor analytics — zone traffic, Worker invocations, CPU usage, and error rates
- Tail Worker logs — create real-time logging sessions for debugging in production
- Purge CDN cache — clear cached content to serve fresh origin data
The Cloudflare MCP Server exposes 25 tools through the Vinkius. Connect it to Pydantic AI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Cloudflare to Pydantic AI via MCP
Follow these steps to integrate the Cloudflare MCP Server with Pydantic AI.
Install Pydantic AI
Run pip install pydantic-ai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the agent
Save to agent.py and run: python agent.py
Explore tools
The agent discovers 25 tools from Cloudflare with type-safe schemas
Why Use Pydantic AI with the Cloudflare MCP Server
Pydantic AI provides unique advantages when paired with Cloudflare through the Model Context Protocol.
Full type safety: every MCP tool response is validated against Pydantic models, catching data inconsistencies before they reach your application
Model-agnostic architecture — switch between OpenAI, Anthropic, or Gemini without changing your Cloudflare integration code
Structured output guarantee: Pydantic AI ensures tool results conform to defined schemas, eliminating runtime type errors
Dependency injection system cleanly separates your Cloudflare connection logic from agent behavior for testable, maintainable code
Cloudflare + Pydantic AI Use Cases
Practical scenarios where Pydantic AI combined with the Cloudflare MCP Server delivers measurable value.
Type-safe data pipelines: query Cloudflare with guaranteed response schemas, feeding validated data into downstream processing
API orchestration: chain multiple Cloudflare tool calls with Pydantic validation at each step to ensure data integrity end-to-end
Production monitoring: build validated alert agents that query Cloudflare and output structured, schema-compliant notifications
Testing and QA: use Pydantic AI's dependency injection to mock Cloudflare responses and write comprehensive agent tests
Cloudflare MCP Tools for Pydantic AI (25)
These 25 tools become available when you connect Cloudflare to Pydantic AI via MCP:
create_deployment
Strategy can be immediate (100% traffic immediately) or gradual (percentage-based rollout). Requires script name, version ID, and deployment strategy. Use this to roll out new features, rollback to previous versions, or perform canary deployments. Deploy a specific Worker version to traffic
create_secret
Secrets are encrypted at rest and injected at runtime. Requires script name, secret name, and secret value. Common use: API keys, database passwords, OAuth tokens. The secret becomes available via env.VARIABLE_NAME in your Worker code. Create or update a secret for a Cloudflare Worker
create_tail_session
log() output and exceptions. Returns a tail ID and WebSocket URL for streaming logs. Use this for debugging Workers in production or monitoring error output. Create a tail logging session for a Cloudflare Worker
create_worker_route
Requires zone ID, URL pattern (e.g., "example.com/api/*"), and script name. Use this to expose your Worker at specific URL paths or domains. Create a new route pattern for a Cloudflare Worker
delete_secret
Use this to clean up unused secrets or rotate credentials. Requires script name and secret name. After deletion, the Worker will no longer have access to the secret value. Delete a secret from a Cloudflare Worker
delete_tail_session
Requires script name and tail ID. Use this to clean up unused tail sessions when debugging is complete. Delete a tail logging session for a Cloudflare Worker
delete_worker
This action cannot be undone. Requires the script name. Confirm with the user before proceeding. Delete a Cloudflare Worker script and all its associated resources
delete_worker_route
Use this to stop serving a Worker at specific URLs. Requires zone ID and route ID. Delete a route pattern from a Cloudflare Worker
get_kv_key
Returns the raw value as JSON. Use this to read configuration values, cached responses, or user data stored in KV. Get the value of a specific key in a KV namespace
get_worker
Requires the script name from list_workers results. Use this to review Worker configuration before making updates or debugging. Get detailed information about a specific Cloudflare Worker
get_worker_analytics
Returns data for recent invocations. Use this to monitor Worker performance, identify errors, or track usage trends. Get analytics data for a specific Cloudflare Worker
get_worker_version
Requires script name and version ID from list_worker_versions results. Use this to audit version contents or prepare for rollback deployment. Get detailed information about a specific Worker version
get_zone_analytics
Returns aggregated data for the last 24 hours. Use this to monitor traffic patterns, identify spikes, or measure CDN performance. Get analytics data for a specific Cloudflare zone
list_d1_databases
Returns database IDs, names, creation dates, and file sizes. Use this to identify available databases before querying. List all D1 databases in your Cloudflare account
list_deployments
Returns deployment IDs, version IDs, strategies (immediate, gradual), creation dates, and traffic percentages. Use this to review current deployment state, monitor gradual rollouts, or identify which version is live. List all deployments for a specific Cloudflare Worker
list_kv_keys
Returns key names, expiration metadata, and sizes. Use this to audit stored data or find specific keys before reading values. List all keys in a specific KV namespace
list_kv_namespaces
KV namespaces are key-value stores for Workers. Returns namespace IDs, titles, and creation dates. Use this to identify which namespaces exist before reading/writing data. List all KV namespaces in your Cloudflare account
list_r2_buckets
Returns bucket names, creation dates, and storage locations. Use this to identify available storage buckets before managing objects. List all R2 storage buckets in your Cloudflare account
list_secrets
Returns secret names and types (secret_text, secret_key). Secret values are never returned for security. Use this to audit which secrets are configured before adding new ones or cleaning up unused secrets. List all secrets for a specific Cloudflare Worker
list_worker_routes
Returns route patterns, associated script names, and zone IDs. Use this to understand which URLs invoke your Worker before adding or removing routes. List all route patterns associated with a Cloudflare Worker
list_worker_versions
Each version represents a deployed code snapshot with unique ID, creation date, and metadata. Returns version IDs, timestamps, and author information. Use this to review deployment history, rollback to previous versions, or audit code changes. List all versions of a specific Cloudflare Worker
list_workers
Returns script names, creation dates, modification dates, and deployment status. Use this as the first step to identify which Workers exist before managing versions, deployments, or secrets. List all Cloudflare Workers scripts in your account
list_zones
Returns zone IDs, domain names, status, plan, and name servers. Use this to identify zone IDs needed for Worker routes, DNS management, or cache operations. List all DNS zones in your Cloudflare account
purge_cache
Use this after deploying content changes or updating static assets. Requires zone ID. Purge all cached content for a specific zone
query_d1
Supports SELECT, INSERT, UPDATE, DELETE operations. Returns query results as JSON. Use this for data analysis, migrations, or ad-hoc queries. Requires database ID and SQL query string. Execute a SQL query against a D1 database
Example Prompts for Cloudflare in Pydantic AI
Ready-to-use prompts you can give your Pydantic AI agent to start working with Cloudflare immediately.
"List all serverless Cloudflare Workers deployed natively bound to my account."
"Query the KV namespace assigned to 'production_keys' and extract the specific text mapping 'gateway_url'."
"Check error statistics on my main D1 SQLite database instance over the last 24 hours."
Troubleshooting Cloudflare MCP Server with Pydantic AI
Common issues when connecting Cloudflare to Pydantic AI through the Vinkius, and how to resolve them.
MCPServerHTTP not found
pip install --upgrade pydantic-aiCloudflare + Pydantic AI FAQ
Common questions about integrating Cloudflare MCP Server with Pydantic AI.
How does Pydantic AI discover MCP tools?
MCPServerHTTP instance with the server URL. Pydantic AI connects, discovers all tools, and generates typed Python interfaces automatically.Does Pydantic AI validate MCP tool responses?
Can I switch LLM providers without changing MCP code?
Connect Cloudflare with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Cloudflare to Pydantic AI
Get your token, paste the configuration, and start using 25 tools in under 2 minutes. No API key management needed.
