MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / cloudflareAccessMcpAuth

Function cloudflareAccessMcpAuth

apps/host-cloudflare/src/mcp/auth.ts:72–97  ·  view source on GitHub ↗
(config: CloudflareConfig)

Source from the content-addressed store, hash-verified

70// ---------------------------------------------------------------------------
71
72export const cloudflareAccessMcpAuth = (config: CloudflareConfig): Layer.Layer<McpAuthProvider> => {
73 const { verify } = makeAccessVerifier(config);
74 const discoveryRoutes: ReadonlyArray<McpDiscoveryRoute> = [
75 {
76 path: PROTECTED_RESOURCE_METADATA_PATH,
77 handler: (request) => Effect.succeed(protectedResourceMetadataResponse(request)),
78 },
79 {
80 path: MCP_PROTECTED_RESOURCE_METADATA_PATH,
81 handler: (request) => Effect.succeed(protectedResourceMetadataResponse(request)),
82 },
83 {
84 path: TOOLKIT_PROTECTED_RESOURCE_METADATA_PATH,
85 handler: (request) => Effect.succeed(protectedResourceMetadataResponse(request)),
86 },
87 ];
88 return Layer.succeed(McpAuthProvider)({
89 discoveryRoutes,
90 resourceMetadataUrl: (request) =>
91 new URL(metadataPathForRequest(request), new URL(request.url).origin).toString(),
92 authenticate: (request) =>
93 verify(request).pipe(
94 Effect.map((principal) => (principal ? authenticated(principal) : unauthorized())),
95 ),
96 });
97};

Callers 1

authenticateFunction · 0.90

Calls 7

makeAccessVerifierFunction · 0.90
metadataPathForRequestFunction · 0.85
verifyFunction · 0.85
authenticatedFunction · 0.85
toStringMethod · 0.80
unauthorizedFunction · 0.50

Tested by

no test coverage detected