Cloudflare Logging
A server for logging, deployable as a Cloudflare Worker.
Setup
- Start up container
docker compose up -d - Initialize package.json
-
npm init -y(First time to create package.json) -
npm install
-
MCP Server Creation
- Create from CF template
-
npm create cloudflare@latest -- mcp-logging --template=cloudflare/ai/demos/remote-mcp-authless - If clone template failed, git clone cloudflare/ai repo below, then recreate
git clone https://github.com/cloudflare/ai.git
-
- Start dev server
- Update to use
wrangler dev --ip 0.0.0.0IP in package.json - Port mapping
8787:8787in docker-compose.yml npm startORwrangler dev --ip 0.0.0.0- Access via
localhost:8787/sse
- Update to use
Deploy CF Worker
- Set CF account ID to wrangler.jsonc
"account_id": "<EDIT-HERE>" - Set CF API key in env
- API's permission template:
Edit Cloudflare Workers - ENV:
CLOUDFLARE_API_TOKEN=<EDIT-HERE>
- API's permission template:
- Deploy worker to CF
npm run deployORnpx wrangler deploy
MCP Inspector
- Start inspector
npx @modelcontextprotocol/inspector@latest
Connect via MCP Host/Client
-
mcp-remote
{ "mcpServers": { "CF Remote MCP": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<MCP_SERVER_URL>/sse" ] } } } -
supergateway
{ "mcpServers": { "Basic Calculator": { "command": "npx", "args": [ "-y", "supergateway", "--sse", "http://localhost:8787/sse", "--header", "X-UserID:USERID_123", "--header", "X-SecretKey:SKEY_456" ] } } }
LogPush
- Enable
logpushfor CF worker- Set
"logpush": truein wrangler.jsonc - Deploy to CF & check settings
- Set
- Create R2 API token
- Create R2 bucket
- Create LogPush job
- Set env (edit the value)
R2_BUCKET_NAME="EDIT: R2 BUCKET NAME"
R2_LOG_BASE_PREFIX="EDIT: R2 FOLDER NAME"
CF_R2_ACCESS_KEY_ID="EDIT: R2 ACCESS KEY ID"
CF_R2_SECRET_ACCESS_KEY="EDIT: R2 ACCESS SECRET"
- Run
utils/download_r2_logs.jsscript to get logsnode utils/download_r2_logs.js --start-date "2025-06-27 07:00:00" --end-date "2025-06-27 08:00:00"
Pass Variable to Tool Function
-
Set
ctx.propsin fetch entrypoint.export default { fetch(request: Request, env: Env, ctx: ExecutionContext) { const userId: string | null = request.headers.get('X-UserID'); const secretKey: string | null = request.headers.get('X-SecretKey'); ctx.props = { userId, secretKey }; // add this -
Use
this.props.<VARIABLE_NAME>in tool.this.server.tool( "calculate", { operation: z.enum(["add", "subtract", "multiply", "divide"]), a: z.number(), b: z.number() }, async ({ operation, a, b,}) => { try { // retrieve here const userId: string | null = this.props.userId as string; const secretKey: string | null = this.props.secretKey as string;
Serveurs connexes
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Cashfree MCP Server
Integrate AI tools and agents with Cashfree's Payment Gateway, Payouts, and SecureID APIs.
Google Workspace Developers
Developer documentation for Google Workspace APIs
Domscribe
Build-time DOM-to-source mapping for coding agents
Blend MCP
An AI gateway for the Blend Protocol on Stellar, enabling DeFi actions like lending, borrowing, and pool creation through AI assistants or apps.
Pistachio MobileDev MCP
Android + iOS development for non-technical users
DevContainer MCP Server
Manage DevContainer environments using natural language prompts in any MCP-compatible editor.
Skills-ContextManager
Don’t pollute your AI agent’s context with 1,000 skills. Use Skills-ContextManager, a self-hosted web UI for managing AI skills and workflows by providing skills to an AI agent via MCP only when needed. Simply add skills to your library and enable or disable them with a toggle. Choose whether a skill is always loaded into context or dynamically activated when the AI agent determines it’s needed.
Photoshop MCP Server
An MCP server for integrating with and automating Adobe Photoshop using the photoshop-python-api.
GitHub Workflow Debugger MCP
Diagnose and fix GitHub Actions workflow failures using the GitHub API.
EdgeOne Pages MCP
An MCP server and client implementation for EdgeOne Pages Functions, supporting OpenAI-formatted requests.