qyl-mcp-server 7.0.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/cloudflare-access.d.ts +16 -0
- package/dist/cloudflare-access.js +75 -0
- package/dist/cloudflare-access.js.map +1 -0
- package/dist/main.d.ts +4 -11
- package/dist/main.js +12 -12
- package/dist/main.js.map +1 -1
- package/dist/mcp-app.html +1 -1
- package/dist/mcp-dashboard.html +1 -1
- package/dist/mcp-home.html +1 -1
- package/dist/oauth.d.ts +1 -1
- package/dist/oauth.js +1 -1
- package/dist/secret-redactor.js +2 -1
- package/dist/secret-redactor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -96,6 +96,19 @@ so serving it requires Bun.
|
|
|
96
96
|
|
|
97
97
|
## Release notes
|
|
98
98
|
|
|
99
|
+
### 7.1.0
|
|
100
|
+
|
|
101
|
+
- The hosted server can sit behind Cloudflare Access Managed OAuth:
|
|
102
|
+
`MCP_AUTH_PROVIDER=cloudflare-access` with `MCP_ACCESS_TEAM_DOMAIN` and
|
|
103
|
+
`MCP_ACCESS_AUD`. Access performs the client OAuth flow and owns discovery;
|
|
104
|
+
the origin serves `/mcp` only for a `Cf-Access-Jwt-Assertion` it has verified
|
|
105
|
+
against the team's signing keys for RS256, issuer, application audience,
|
|
106
|
+
expiry and subject, so a direct request to the origin without one is
|
|
107
|
+
rejected. The default stays the pinned Auth0 issuer; unknown modes, partial
|
|
108
|
+
Access settings and non-Cloudflare team URLs fail closed.
|
|
109
|
+
- The assertion header is redacted from diagnostic objects and text, like the
|
|
110
|
+
other credentials.
|
|
111
|
+
|
|
99
112
|
### 7.0.0
|
|
100
113
|
|
|
101
114
|
- Contract `@ancplua/qyl-api-schema` 11.1.0 -> 11.2.0. Demo series ids are
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type JWTVerifyGetKey } from "jose";
|
|
2
|
+
import type { HostedAuth } from "./main.js";
|
|
3
|
+
export interface AccessConfig {
|
|
4
|
+
teamDomain: string;
|
|
5
|
+
audience: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function readAccessConfig(environment: Readonly<Record<string, string | undefined>>): AccessConfig | undefined;
|
|
8
|
+
/** Access validates the client's opaque OAuth token at the edge. The origin
|
|
9
|
+
* accepts only its signed assertion, including on the direct Railway hostname.
|
|
10
|
+
* Membership of this Access app authorizes the server's read-only tool surface;
|
|
11
|
+
* the assertion does not carry an OAuth client ID or qyl scopes.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createCloudflareAccessAuth(params: AccessConfig & {
|
|
14
|
+
resource: URL;
|
|
15
|
+
key?: JWTVerifyGetKey;
|
|
16
|
+
}): HostedAuth;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createRemoteJWKSet, jwtVerify } from "jose";
|
|
2
|
+
import { QYL_MCP_SCOPE } from "./oauth.js";
|
|
3
|
+
function validateConfig(config) {
|
|
4
|
+
const team = new URL(config.teamDomain);
|
|
5
|
+
if (team.protocol !== "https:" || !/^[a-z0-9-]+\.cloudflareaccess\.com$/u.test(team.hostname)
|
|
6
|
+
|| team.port || team.username || team.password || team.pathname !== "/" || team.search || team.hash) {
|
|
7
|
+
throw new Error("MCP_ACCESS_TEAM_DOMAIN must be an HTTPS Cloudflare Access team origin");
|
|
8
|
+
}
|
|
9
|
+
if (!config.audience.trim() || config.audience !== config.audience.trim()) {
|
|
10
|
+
throw new Error("MCP_ACCESS_AUD must be the Access application's audience tag");
|
|
11
|
+
}
|
|
12
|
+
return { teamDomain: team.origin, audience: config.audience };
|
|
13
|
+
}
|
|
14
|
+
export function readAccessConfig(environment) {
|
|
15
|
+
const provider = environment.MCP_AUTH_PROVIDER?.trim() || "auth0";
|
|
16
|
+
if (provider === "auth0") {
|
|
17
|
+
if (environment.MCP_ACCESS_TEAM_DOMAIN || environment.MCP_ACCESS_AUD) {
|
|
18
|
+
throw new Error("Set MCP_AUTH_PROVIDER=cloudflare-access when configuring an Access application");
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
if (provider !== "cloudflare-access")
|
|
23
|
+
throw new Error("MCP_AUTH_PROVIDER must be auth0 or cloudflare-access");
|
|
24
|
+
if (!environment.MCP_ACCESS_TEAM_DOMAIN || !environment.MCP_ACCESS_AUD) {
|
|
25
|
+
throw new Error("Cloudflare Access requires MCP_ACCESS_TEAM_DOMAIN and MCP_ACCESS_AUD");
|
|
26
|
+
}
|
|
27
|
+
return validateConfig({ teamDomain: environment.MCP_ACCESS_TEAM_DOMAIN, audience: environment.MCP_ACCESS_AUD });
|
|
28
|
+
}
|
|
29
|
+
/** Access validates the client's opaque OAuth token at the edge. The origin
|
|
30
|
+
* accepts only its signed assertion, including on the direct Railway hostname.
|
|
31
|
+
* Membership of this Access app authorizes the server's read-only tool surface;
|
|
32
|
+
* the assertion does not carry an OAuth client ID or qyl scopes.
|
|
33
|
+
*/
|
|
34
|
+
export function createCloudflareAccessAuth(params) {
|
|
35
|
+
const { teamDomain, audience } = validateConfig(params);
|
|
36
|
+
const key = params.key ?? createRemoteJWKSet(new URL("/cdn-cgi/access/certs", teamDomain));
|
|
37
|
+
const metadataUrl = new URL("/.well-known/oauth-protected-resource", params.resource).href;
|
|
38
|
+
function unauthorized() {
|
|
39
|
+
return Response.json({ error: "invalid_token", error_description: "Cloudflare Access authentication required" }, {
|
|
40
|
+
status: 401,
|
|
41
|
+
headers: {
|
|
42
|
+
"cache-control": "no-store",
|
|
43
|
+
"www-authenticate": `Bearer resource_metadata="${metadataUrl}"`,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
async gate(request) {
|
|
49
|
+
const assertion = request.headers.get("cf-access-jwt-assertion");
|
|
50
|
+
if (!assertion || assertion.length > 16_384)
|
|
51
|
+
return unauthorized();
|
|
52
|
+
try {
|
|
53
|
+
const { payload } = await jwtVerify(assertion, key, {
|
|
54
|
+
issuer: teamDomain, audience, algorithms: ["RS256"], requiredClaims: ["exp", "sub"],
|
|
55
|
+
});
|
|
56
|
+
if (typeof payload.sub !== "string" || !payload.sub || typeof payload.exp !== "number")
|
|
57
|
+
return unauthorized();
|
|
58
|
+
return {
|
|
59
|
+
token: assertion,
|
|
60
|
+
clientId: "cloudflare-access",
|
|
61
|
+
scopes: [QYL_MCP_SCOPE],
|
|
62
|
+
expiresAt: payload.exp,
|
|
63
|
+
resource: params.resource,
|
|
64
|
+
extra: { subject: payload.sub, provider: "cloudflare-access" },
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return unauthorized();
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
// Access owns discovery and authorization challenges in this mode. Serving
|
|
72
|
+
// the Auth0 metadata here would send clients through the wrong OAuth flow.
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=cloudflare-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-access.js","sourceRoot":"","sources":["../src/cloudflare-access.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface StreamableHTTPServerConfig {
|
|
|
12
12
|
export declare function readStreamableHTTPConfig(environment?: NodeJS.ProcessEnv): StreamableHTTPServerConfig;
|
|
13
13
|
export interface HostedAuth {
|
|
14
14
|
gate: (request: Request) => Promise<AuthInfo | Response>;
|
|
15
|
-
metadata
|
|
15
|
+
metadata?: AuthMetadataOptions;
|
|
16
16
|
}
|
|
17
17
|
export interface McpFetchOptions {
|
|
18
18
|
handler: McpHttpHandler;
|
|
@@ -30,17 +30,10 @@ export interface McpFetchOptions {
|
|
|
30
30
|
* those reaches the handler.
|
|
31
31
|
*/
|
|
32
32
|
export declare function createFetch(options: McpFetchOptions): (request: Request) => Promise<Response>;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* none to build.
|
|
36
|
-
*
|
|
37
|
-
* MCP_PUBLIC_URL is the entire decision, and it is the only one: the issuer is
|
|
38
|
-
* a pinned constant in oauth.ts rather than an operator input. The `undefined`
|
|
39
|
-
* branch is not a way to serve the public transport unauthenticated —
|
|
40
|
-
* readStreamableHTTPConfig refuses a non-loopback bind without a public URL, so
|
|
41
|
-
* only a loopback process ever reaches it.
|
|
33
|
+
/** Build the selected hosted gate. A public bind still requires MCP_PUBLIC_URL;
|
|
34
|
+
* Access mode must be explicitly configured with its team and application AUD.
|
|
42
35
|
*/
|
|
43
|
-
export declare function hostedAuth(config: StreamableHTTPServerConfig): Promise<HostedAuth | undefined>;
|
|
36
|
+
export declare function hostedAuth(config: StreamableHTTPServerConfig, environment?: Readonly<Record<string, string | undefined>>): Promise<HostedAuth | undefined>;
|
|
44
37
|
export interface ServeOptions {
|
|
45
38
|
port: number;
|
|
46
39
|
hostname: string;
|
package/dist/main.js
CHANGED
|
@@ -9,6 +9,7 @@ import { createServer } from "./server.js";
|
|
|
9
9
|
import { assertCollectorContractRevision } from "./contract-handshake.js";
|
|
10
10
|
import { dnsRebindingResponse, isLoopbackBindHost } from "./http-security.js";
|
|
11
11
|
import { loadHostedOAuth } from "./oauth.js";
|
|
12
|
+
import { createCloudflareAccessAuth, readAccessConfig } from "./cloudflare-access.js";
|
|
12
13
|
import { closeDefaultNativeExecutionRuntime } from "./native-execution.js";
|
|
13
14
|
export function sanitizedErrorType(error) {
|
|
14
15
|
if (!(error instanceof Error))
|
|
@@ -142,7 +143,7 @@ function withCors(request, response) {
|
|
|
142
143
|
*/
|
|
143
144
|
export function createFetch(options) {
|
|
144
145
|
return async (request) => {
|
|
145
|
-
const discovery = options.auth === undefined
|
|
146
|
+
const discovery = options.auth?.metadata === undefined
|
|
146
147
|
? undefined
|
|
147
148
|
: oauthMetadataResponse(request, options.auth.metadata);
|
|
148
149
|
if (discovery !== undefined)
|
|
@@ -169,21 +170,20 @@ export function createFetch(options) {
|
|
|
169
170
|
return withCors(request, await options.handler.fetch(request, { authInfo }));
|
|
170
171
|
};
|
|
171
172
|
}
|
|
172
|
-
/**
|
|
173
|
-
*
|
|
174
|
-
* none to build.
|
|
175
|
-
*
|
|
176
|
-
* MCP_PUBLIC_URL is the entire decision, and it is the only one: the issuer is
|
|
177
|
-
* a pinned constant in oauth.ts rather than an operator input. The `undefined`
|
|
178
|
-
* branch is not a way to serve the public transport unauthenticated —
|
|
179
|
-
* readStreamableHTTPConfig refuses a non-loopback bind without a public URL, so
|
|
180
|
-
* only a loopback process ever reaches it.
|
|
173
|
+
/** Build the selected hosted gate. A public bind still requires MCP_PUBLIC_URL;
|
|
174
|
+
* Access mode must be explicitly configured with its team and application AUD.
|
|
181
175
|
*/
|
|
182
|
-
export async function hostedAuth(config) {
|
|
176
|
+
export async function hostedAuth(config, environment = process.env) {
|
|
177
|
+
const access = readAccessConfig(environment);
|
|
183
178
|
const publicUrl = config.publicUrl;
|
|
184
|
-
if (publicUrl === undefined)
|
|
179
|
+
if (publicUrl === undefined) {
|
|
180
|
+
if (access)
|
|
181
|
+
throw new Error("Cloudflare Access requires MCP_PUBLIC_URL");
|
|
185
182
|
return undefined;
|
|
183
|
+
}
|
|
186
184
|
const resourceServerUrl = new URL("/mcp", publicUrl);
|
|
185
|
+
if (access)
|
|
186
|
+
return createCloudflareAccessAuth({ ...access, resource: resourceServerUrl });
|
|
187
187
|
const oauth = await loadHostedOAuth(resourceServerUrl);
|
|
188
188
|
return {
|
|
189
189
|
gate: requireBearerAuth({
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|