Skip to content

Commit 39b9e6b

Browse files
committed
feat(mcp-server): enable observability and request origin logging
Enable Workers Observability and log request metadata (IP, country, user-agent, origin, referer) to identify traffic sources at scale.
1 parent 2153e07 commit 39b9e6b

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

apps/mcp-server/src/index.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,18 @@ export default {
6767
const url = new URL(request.url);
6868
const corsHeaders = getCorsHeaders(request, env);
6969

70+
// Log request origin for observability
71+
console.log("incoming request", {
72+
method: request.method,
73+
path: url.pathname,
74+
origin: request.headers.get("Origin") || "none",
75+
referer: request.headers.get("Referer") || "none",
76+
userAgent: request.headers.get("User-Agent") || "none",
77+
ip: request.headers.get("CF-Connecting-IP") || "unknown",
78+
country: request.headers.get("CF-IPCountry") || "unknown",
79+
host: request.headers.get("Host") || "unknown",
80+
});
81+
7082
// Handle CORS preflight
7183
if (request.method === "OPTIONS") {
7284
return new Response(null, {

apps/mcp-server/src/mcp.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ async function handleToolsCall(
149149
): Promise<JsonRpcResponse> {
150150
const { name, arguments: args } = params as ToolCallParams;
151151

152+
console.log("mcp tool call", { tool: name, args });
153+
152154
if (!name) {
153155
return {
154156
jsonrpc: "2.0",

apps/mcp-server/wrangler.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,8 @@ compatibility_flags = ["nodejs_compat"]
77
# wrangler secret put DATABASE_URL
88
# wrangler secret put VOYAGE_API_KEY
99

10+
[observability]
11+
enabled = true
12+
1013
[vars]
1114
# Non-secret environment variables can go here

0 commit comments

Comments
 (0)