Files
gh-jezweb-claude-skills-ski…/templates/wrangler.jsonc
2025-11-30 08:25:43 +08:00

174 lines
3.8 KiB
JSON

{
// Cloudflare Workers configuration for MCP Server
// Documentation: https://developers.cloudflare.com/workers/wrangler/configuration/
"name": "my-mcp-server",
"main": "src/index.ts",
"compatibility_date": "2025-10-28",
"compatibility_flags": ["nodejs_compat"],
// Account ID (get from: wrangler whoami)
// "account_id": "YOUR_ACCOUNT_ID",
// Environment variables (non-sensitive)
// For sensitive values, use wrangler secret put or .dev.vars file
"vars": {
"ENVIRONMENT": "production",
"LOG_LEVEL": "info"
},
// D1 Database bindings
// Create: wrangler d1 create my-db
// "d1_databases": [
// {
// "binding": "DB",
// "database_name": "my-db",
// "database_id": "YOUR_DATABASE_ID"
// }
// ],
// KV namespace bindings
// Create: wrangler kv namespace create CACHE
// Create: wrangler kv namespace create MCP_API_KEYS
// "kv_namespaces": [
// {
// "binding": "CACHE",
// "id": "YOUR_KV_NAMESPACE_ID"
// },
// {
// "binding": "MCP_API_KEYS",
// "id": "YOUR_API_KEYS_NAMESPACE_ID"
// }
// ],
// R2 bucket bindings
// Create: wrangler r2 bucket create my-bucket
// "r2_buckets": [
// {
// "binding": "BUCKET",
// "bucket_name": "my-bucket"
// }
// ],
// Vectorize index bindings
// Create: wrangler vectorize create my-index --dimensions=768 --metric=cosine
// "vectorize": [
// {
// "binding": "VECTORIZE",
// "index_name": "my-index"
// }
// ],
// Workers AI binding
// "ai": {
// "binding": "AI"
// },
// Queue bindings
// Create: wrangler queues create my-queue
// "queues": {
// "producers": [
// {
// "binding": "MY_QUEUE",
// "queue": "my-queue"
// }
// ],
// "consumers": [
// {
// "queue": "my-queue",
// "max_batch_size": 10,
// "max_batch_timeout": 30
// }
// ]
// },
// Durable Objects bindings
// "durable_objects": {
// "bindings": [
// {
// "name": "MY_DURABLE_OBJECT",
// "class_name": "MyDurableObject",
// "script_name": "my-worker"
// }
// ]
// },
// Service bindings (call other Workers)
// "services": [
// {
// "binding": "OTHER_SERVICE",
// "service": "other-worker",
// "environment": "production"
// }
// ],
// Analytics Engine binding
// "analytics_engine_datasets": [
// {
// "binding": "ANALYTICS"
// }
// ],
// Hyperdrive binding (Postgres connection pooling)
// Create: wrangler hyperdrive create my-hyperdrive --connection-string="postgres://..."
// "hyperdrive": [
// {
// "binding": "HYPERDRIVE",
// "id": "YOUR_HYPERDRIVE_ID"
// }
// ],
// Environment-specific configurations
"env": {
"staging": {
"name": "my-mcp-server-staging",
"vars": {
"ENVIRONMENT": "staging"
}
// Override bindings for staging
// "d1_databases": [...]
},
"production": {
"name": "my-mcp-server-production",
"vars": {
"ENVIRONMENT": "production"
}
// Override bindings for production
// "d1_databases": [...]
}
},
// Build configuration
"build": {
"command": "npm run build"
},
// Observability (optional)
"observability": {
"enabled": true
},
// Limits (optional, defaults shown)
// "limits": {
// "cpu_ms": 50
// },
// Placement (optional, for advanced routing)
// "placement": {
// "mode": "smart"
// },
// Custom domains (configure in dashboard first)
// "routes": [
// {
// "pattern": "mcp.example.com/*",
// "custom_domain": true
// }
// ],
// Cron triggers (scheduled tasks)
// "triggers": {
// "crons": ["0 0 * * *"] // Run daily at midnight
// }
}