qyl-mcp-server 1.1.2 → 2.0.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 CHANGED
@@ -35,7 +35,21 @@ endpoint.
35
35
  `ci_log`, `display_traces`, `display_mcp_dashboard`.
36
36
 
37
37
  **Workflow graph** — `list_workflow_runs`, `get_workflow_graph`,
38
- `display_workflow_graph`, `control_workflow_run`.
38
+ `display_workflow_graph`, `inspect_workflow_events`, `control_workflow_run`.
39
+
40
+ ### Agent diagnostic snapshots
41
+
42
+ ```text
43
+ record_diagnostic_snapshot -> validate/check -> redact/encrypt
44
+ -> content_captured + content_ref -> fixed OTel event -> inspect_workflow_events
45
+ ```
46
+
47
+ Format `qyl.agent.diagnostic.snapshot` version `1` stores dynamic names only in
48
+ protected JSON. Public/internal values are encrypted, sensitive values are redacted,
49
+ and secret values are omitted before IPC. The journal and OTel event expose only a
50
+ value-free summary; models retrieve protected evidence explicitly by `content_ref`.
51
+ `inspect_workflow_events` performs an immediate bounded journal read; graph cursors
52
+ and long-poll controls remain exclusive to the app-only graph update tool.
39
53
 
40
54
  **App-only** — `fetch_telemetry` and `fetch_workflow_graph_updates` are called by
41
55
  the bundled MCP Apps, not by a model.
@@ -62,6 +62,8 @@ export declare const DisplayWorkflowGraphInputSchema: z.ZodType<QylContracts.Dis
62
62
  export declare const DisplayWorkflowGraphOutputSchema: z.ZodType<QylContracts.DisplayWorkflowGraphOutput, unknown, z.core.$ZodTypeInternals<QylContracts.DisplayWorkflowGraphOutput, unknown>>;
63
63
  export declare const FetchWorkflowGraphUpdatesInputSchema: z.ZodType<QylContracts.FetchWorkflowGraphUpdatesInput, unknown, z.core.$ZodTypeInternals<QylContracts.FetchWorkflowGraphUpdatesInput, unknown>>;
64
64
  export declare const FetchWorkflowGraphUpdatesOutputSchema: z.ZodType<QylContracts.FetchWorkflowGraphUpdatesOutput, unknown, z.core.$ZodTypeInternals<QylContracts.FetchWorkflowGraphUpdatesOutput, unknown>>;
65
+ export declare const InspectWorkflowEventsInputSchema: z.ZodType<QylContracts.InspectWorkflowEventsInput, unknown, z.core.$ZodTypeInternals<QylContracts.InspectWorkflowEventsInput, unknown>>;
66
+ export declare const InspectWorkflowEventsOutputSchema: z.ZodType<QylContracts.InspectWorkflowEventsOutput, unknown, z.core.$ZodTypeInternals<QylContracts.InspectWorkflowEventsOutput, unknown>>;
65
67
  export declare const ControlWorkflowRunInputSchema: z.ZodType<QylContracts.ControlWorkflowRunInput, unknown, z.core.$ZodTypeInternals<QylContracts.ControlWorkflowRunInput, unknown>>;
66
68
  export declare const ControlWorkflowRunOutputSchema: z.ZodType<QylContracts.ControlWorkflowRunOutput, unknown, z.core.$ZodTypeInternals<QylContracts.ControlWorkflowRunOutput, unknown>>;
67
69
  export declare const RunnerResourceStateSchema: z.ZodType<QylContracts.RunnerResourceState, unknown, z.core.$ZodTypeInternals<QylContracts.RunnerResourceState, unknown>>;
@@ -244,6 +244,8 @@ export const DisplayWorkflowGraphInputSchema = publishedContractSchema("Mcp.Tool
244
244
  export const DisplayWorkflowGraphOutputSchema = publishedContractSchema("Mcp.Tools.DisplayWorkflowGraphOutput");
245
245
  export const FetchWorkflowGraphUpdatesInputSchema = publishedContractSchema("Mcp.Tools.FetchWorkflowGraphUpdatesInput");
246
246
  export const FetchWorkflowGraphUpdatesOutputSchema = publishedContractSchema("Mcp.Tools.FetchWorkflowGraphUpdatesOutput");
247
+ export const InspectWorkflowEventsInputSchema = publishedContractSchema("Mcp.Tools.InspectWorkflowEventsInput");
248
+ export const InspectWorkflowEventsOutputSchema = publishedContractSchema("Mcp.Tools.InspectWorkflowEventsOutput");
247
249
  export const ControlWorkflowRunInputSchema = publishedContractSchema("Mcp.Tools.ControlWorkflowRunInput");
248
250
  export const ControlWorkflowRunOutputSchema = publishedContractSchema("Mcp.Tools.ControlWorkflowRunOutput");
249
251
  export const RunnerResourceStateSchema = publishedContractSchema("Runner.RunnerResourceState");
@@ -1 +1 @@
1
- {"version":3,"file":"contract-validation.js","sourceRoot":"","sources":["../src/contract-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-validation.js","sourceRoot":"","sources":["../src/contract-validation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- export interface McpAppOptions {
2
- bindHost: string;
3
- allowedHosts?: readonly string[];
4
- allowedOrigins?: readonly string[];
5
- }
6
- export declare function createMcpApp({ bindHost, allowedHosts, allowedOrigins }: McpAppOptions): import("express").Express;
1
+ /**
2
+ * DNS-rebinding protection in front of the MCP handler, which validates
3
+ * neither header itself. Without explicit allowlists this is a loopback
4
+ * process, and the SDK's localhost sets are the correct answer — the same
5
+ * default the framework app factories arm.
6
+ */
7
+ export declare function dnsRebindingResponse(request: Request, allowedHosts?: readonly string[], allowedOrigins?: readonly string[]): Response | undefined;
7
8
  export declare function isLoopbackBindHost(host: string): boolean;
@@ -1,13 +1,15 @@
1
- import { createMcpExpressApp } from "@modelcontextprotocol/express";
1
+ import { hostHeaderValidationResponse, localhostAllowedHostnames, localhostAllowedOrigins, originValidationResponse, } from "@modelcontextprotocol/server";
2
2
  function unique(values) {
3
3
  return [...new Set(values)];
4
4
  }
5
- export function createMcpApp({ bindHost, allowedHosts, allowedOrigins }) {
6
- return createMcpExpressApp({
7
- host: bindHost,
8
- allowedHosts: allowedHosts === undefined ? undefined : unique([...allowedHosts]),
9
- allowedOrigins: allowedOrigins === undefined ? undefined : unique([...allowedOrigins]),
10
- });
5
+ /**
6
+ * DNS-rebinding protection in front of the MCP handler, which validates
7
+ * neither header itself. Without explicit allowlists this is a loopback
8
+ * process, and the SDK's localhost sets are the correct answer — the same
9
+ * default the framework app factories arm.
10
+ */
11
+ export function dnsRebindingResponse(request, allowedHosts, allowedOrigins) {
12
+ return hostHeaderValidationResponse(request, unique(allowedHosts ?? localhostAllowedHostnames())) ?? originValidationResponse(request, unique(allowedOrigins ?? localhostAllowedOrigins()));
11
13
  }
12
14
  export function isLoopbackBindHost(host) {
13
15
  return host === "127.0.0.1" || host === "localhost" || host === "::1";
@@ -1 +1 @@
1
- {"version":3,"file":"http-security.js","sourceRoot":"","sources":["../src/http-security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAQpE,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAiB;IACpF,OAAO,mBAAmB,CAAC;QACzB,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAChF,cAAc,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;KACvF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"http-security.js","sourceRoot":"","sources":["../src/http-security.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,YAAgC,EAChC,cAAkC;IAElC,OAAO,4BAA4B,CACjC,OAAO,EACP,MAAM,CAAC,YAAY,IAAI,yBAAyB,EAAE,CAAC,CACpD,IAAI,wBAAwB,CAC3B,OAAO,EACP,MAAM,CAAC,cAAc,IAAI,uBAAuB,EAAE,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,CAAC;AACxE,CAAC"}
package/dist/main.d.ts CHANGED
@@ -1,10 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { type AuthMetadataOptions, type McpServer } from "@modelcontextprotocol/server";
2
+ import { createMcpHandler, type AuthInfo, type AuthMetadataOptions, type McpHttpHandler, type McpServer } from "@modelcontextprotocol/server";
3
3
  import { type StdioServerHandle } from "@modelcontextprotocol/server/stdio";
4
- import type { Express } from "express";
5
- import type { Server as HttpServer } from "node:http";
6
4
  export declare function sanitizedErrorType(error: unknown): string;
7
- export declare function closeHttpListener(server: HttpServer): Promise<void>;
8
5
  export interface StreamableHTTPServerConfig {
9
6
  port: number;
10
7
  bindHost: string;
@@ -13,7 +10,36 @@ export interface StreamableHTTPServerConfig {
13
10
  allowedOrigins?: string[];
14
11
  }
15
12
  export declare function readStreamableHTTPConfig(environment?: NodeJS.ProcessEnv): StreamableHTTPServerConfig;
16
- export declare function mountProtectedResourceMetadata(app: Express, options: AuthMetadataOptions): string;
17
- export declare function mountLandingPage(app: Express, html: string): void;
18
- export declare function startStreamableHTTPServer(serverFactory: () => McpServer): Promise<void>;
13
+ export interface HostedAuth {
14
+ gate: (request: Request) => Promise<AuthInfo | Response>;
15
+ metadata: AuthMetadataOptions;
16
+ }
17
+ export interface McpFetchOptions {
18
+ handler: McpHttpHandler;
19
+ landingPage: string;
20
+ allowedHosts?: readonly string[] | undefined;
21
+ allowedOrigins?: readonly string[] | undefined;
22
+ auth?: HostedAuth | undefined;
23
+ }
24
+ /**
25
+ * The endpoint as one web-standard function. The order is the contract: the
26
+ * discovery documents answer before the gate, or an unauthenticated client
27
+ * has no way to learn where its token comes from; the rebinding guards answer
28
+ * before any route, because the handler validates no header; the gate resolves
29
+ * to verified `AuthInfo` or to a finished challenge, and only the first of
30
+ * those reaches the handler.
31
+ */
32
+ export declare function createFetch(options: McpFetchOptions): (request: Request) => Promise<Response>;
33
+ export interface ServeOptions {
34
+ port: number;
35
+ hostname: string;
36
+ fetch: (request: Request) => Promise<Response>;
37
+ }
38
+ /**
39
+ * Revision 2026-07-28 only, on every transport: a 2025-era request is answered
40
+ * with `-32022` UnsupportedProtocolVersion; there is no legacy serving and no session.
41
+ */
42
+ export declare function createHostedHandler(factory: Parameters<typeof createMcpHandler>[0], onerror: (error: unknown) => void): McpHttpHandler;
19
43
  export declare function startStdioServer(serverFactory: () => McpServer): StdioServerHandle;
44
+ declare const _default: ServeOptions | undefined;
45
+ export default _default;
package/dist/main.js CHANGED
@@ -1,15 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import { buildOAuthProtectedResourceMetadata, createMcpHandler, getOAuthProtectedResourceMetadataUrl, OAuthError, OAuthErrorCode, } from "@modelcontextprotocol/server";
2
+ import { createMcpHandler, getOAuthProtectedResourceMetadataUrl, oauthMetadataResponse, requireBearerAuth, } from "@modelcontextprotocol/server";
3
3
  import { serveStdio } from "@modelcontextprotocol/server/stdio";
4
- import { toNodeHandler } from "@modelcontextprotocol/node";
5
4
  import { realpathSync } from "node:fs";
6
5
  import { readFile } from "node:fs/promises";
7
6
  import { resolve } from "node:path";
8
7
  import { pathToFileURL } from "node:url";
9
8
  import { createServer } from "./server.js";
10
9
  import { assertCollectorContractRevision } from "./contract-handshake.js";
11
- import { requireBearerAuth } from "@modelcontextprotocol/express";
12
- import { createMcpApp, isLoopbackBindHost } from "./http-security.js";
10
+ import { dnsRebindingResponse, isLoopbackBindHost } from "./http-security.js";
13
11
  import { loadHostedOAuth } from "./oauth.js";
14
12
  import { closeDefaultNativeExecutionRuntime } from "./native-execution.js";
15
13
  export function sanitizedErrorType(error) {
@@ -20,11 +18,6 @@ export function sanitizedErrorType(error) {
20
18
  function reportError(scope, error) {
21
19
  console.error(`${scope} failed (${sanitizedErrorType(error)}); secret details omitted`);
22
20
  }
23
- export function closeHttpListener(server) {
24
- return new Promise((resolveClose, rejectClose) => {
25
- server.close((error) => (error ? rejectClose(error) : resolveClose()));
26
- });
27
- }
28
21
  function commaSeparated(value) {
29
22
  return (value ?? "")
30
23
  .split(",")
@@ -81,102 +74,139 @@ export function readStreamableHTTPConfig(environment = process.env) {
81
74
  function urlHost(host) {
82
75
  return host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
83
76
  }
84
- export function mountProtectedResourceMetadata(app, options) {
85
- const metadataUrl = getOAuthProtectedResourceMetadataUrl(options.resourceServerUrl);
86
- const metadataPath = new URL(metadataUrl).pathname;
87
- const metadata = buildOAuthProtectedResourceMetadata(options);
88
- app.all(metadataPath, (request, response) => {
89
- response.set("Access-Control-Allow-Origin", "*");
90
- if (request.method === "OPTIONS") {
91
- response.set("Access-Control-Allow-Methods", "GET, HEAD, OPTIONS");
92
- const requestedHeaders = request.get("Access-Control-Request-Headers");
93
- if (requestedHeaders !== undefined) {
94
- response.set("Access-Control-Allow-Headers", requestedHeaders);
95
- response.vary("Access-Control-Request-Headers");
96
- }
97
- response.status(204).end();
98
- return;
99
- }
100
- if (request.method === "GET") {
101
- response.status(200).json(metadata);
102
- return;
103
- }
104
- if (request.method === "HEAD") {
105
- response.status(200).end();
106
- return;
107
- }
108
- const error = new OAuthError(OAuthErrorCode.MethodNotAllowed, `The method ${request.method} is not allowed for this endpoint`);
109
- response
110
- .set("Allow", "GET, HEAD, OPTIONS")
111
- .status(405)
112
- .json(error.toResponseObject());
113
- });
114
- return metadataUrl;
115
- }
116
- export function mountLandingPage(app, html) {
117
- app.get("/", (_request, response) => {
118
- response
119
- .set("Cache-Control", "public, max-age=300")
120
- .status(200)
121
- .type("html")
122
- .send(html);
77
+ function landingResponse(request, html) {
78
+ if (request.method !== "GET" && request.method !== "HEAD")
79
+ return notFound();
80
+ return new Response(request.method === "HEAD" ? null : html, {
81
+ status: 200,
82
+ headers: {
83
+ "content-type": "text/html; charset=utf-8",
84
+ "cache-control": "public, max-age=300",
85
+ },
123
86
  });
124
87
  }
125
- export async function startStreamableHTTPServer(serverFactory) {
126
- const config = readStreamableHTTPConfig();
127
- const handler = createMcpHandler(serverFactory, {
128
- legacy: "reject",
129
- onerror: (error) => reportError("Standalone MCP request", error),
130
- });
131
- const nodeHandler = toNodeHandler(handler, {
132
- onerror: (error) => reportError("Standalone MCP adapter", error),
88
+ function healthResponse(request) {
89
+ if (request.method !== "GET" && request.method !== "HEAD")
90
+ return notFound();
91
+ return Response.json({ status: "ok" });
92
+ }
93
+ function notFound() {
94
+ return new Response("Not Found", {
95
+ status: 404,
96
+ headers: { "content-type": "text/plain; charset=utf-8" },
133
97
  });
134
- const app = createMcpApp({
135
- bindHost: config.bindHost,
136
- allowedHosts: config.allowedHosts,
137
- allowedOrigins: config.allowedOrigins,
98
+ }
99
+ // A browser client cannot read the challenge that starts its OAuth flow
100
+ // without CORS. The preflight carries no credentials, so it must be answered
101
+ // before the gate; answering it there is a 401 the browser reports as a
102
+ // network failure.
103
+ const EXPOSED_HEADERS = "WWW-Authenticate";
104
+ function corsPreflightResponse(request) {
105
+ const origin = request.headers.get("origin");
106
+ if (request.method !== "OPTIONS" || origin === null)
107
+ return undefined;
108
+ const requestedHeaders = request.headers.get("access-control-request-headers");
109
+ return new Response(null, {
110
+ status: 204,
111
+ headers: {
112
+ "access-control-allow-origin": origin,
113
+ "access-control-allow-methods": "POST, OPTIONS",
114
+ ...(requestedHeaders === null ? {} : { "access-control-allow-headers": requestedHeaders }),
115
+ "access-control-expose-headers": EXPOSED_HEADERS,
116
+ "access-control-max-age": "600",
117
+ vary: "Origin, Access-Control-Request-Headers",
118
+ },
138
119
  });
139
- app.get("/healthz", (_request, response) => {
140
- response.status(200).json({ status: "ok" });
120
+ }
121
+ function withCors(request, response) {
122
+ const origin = request.headers.get("origin");
123
+ if (origin === null)
124
+ return response;
125
+ const headers = new Headers(response.headers);
126
+ headers.set("access-control-allow-origin", origin);
127
+ headers.set("access-control-expose-headers", EXPOSED_HEADERS);
128
+ headers.append("vary", "Origin");
129
+ return new Response(response.body, {
130
+ status: response.status,
131
+ statusText: response.statusText,
132
+ headers,
141
133
  });
142
- mountLandingPage(app, await readFile(new URL("./mcp-home.html", import.meta.url), "utf8"));
143
- const handleMcpRequest = async (request, response) => {
144
- await nodeHandler(request, response, request.body);
134
+ }
135
+ /**
136
+ * The endpoint as one web-standard function. The order is the contract: the
137
+ * discovery documents answer before the gate, or an unauthenticated client
138
+ * has no way to learn where its token comes from; the rebinding guards answer
139
+ * before any route, because the handler validates no header; the gate resolves
140
+ * to verified `AuthInfo` or to a finished challenge, and only the first of
141
+ * those reaches the handler.
142
+ */
143
+ export function createFetch(options) {
144
+ return async (request) => {
145
+ const discovery = options.auth === undefined
146
+ ? undefined
147
+ : oauthMetadataResponse(request, options.auth.metadata);
148
+ if (discovery !== undefined)
149
+ return discovery;
150
+ const rejected = dnsRebindingResponse(request, options.allowedHosts, options.allowedOrigins);
151
+ if (rejected !== undefined)
152
+ return rejected;
153
+ const { pathname } = new URL(request.url);
154
+ if (pathname === "/healthz")
155
+ return healthResponse(request);
156
+ if (pathname === "/")
157
+ return landingResponse(request, options.landingPage);
158
+ if (pathname !== "/mcp")
159
+ return notFound();
160
+ const preflight = corsPreflightResponse(request);
161
+ if (preflight !== undefined)
162
+ return preflight;
163
+ if (options.auth === undefined) {
164
+ return withCors(request, await options.handler.fetch(request));
165
+ }
166
+ const authInfo = await options.auth.gate(request);
167
+ if (authInfo instanceof Response)
168
+ return withCors(request, authInfo);
169
+ return withCors(request, await options.handler.fetch(request, { authInfo }));
145
170
  };
146
- if (config.publicUrl !== undefined) {
147
- const resourceServerUrl = new URL("/mcp", config.publicUrl);
148
- const oauth = await loadHostedOAuth(resourceServerUrl);
149
- const resourceMetadataUrl = mountProtectedResourceMetadata(app, {
171
+ }
172
+ async function hostedAuth(publicUrl) {
173
+ const resourceServerUrl = new URL("/mcp", publicUrl);
174
+ const oauth = await loadHostedOAuth(resourceServerUrl);
175
+ return {
176
+ gate: requireBearerAuth({
177
+ verifier: oauth.verifier,
178
+ requiredScopes: oauth.requiredScopes,
179
+ resourceMetadataUrl: getOAuthProtectedResourceMetadataUrl(resourceServerUrl),
180
+ }),
181
+ metadata: {
150
182
  oauthMetadata: oauth.oauthMetadata,
151
183
  resourceServerUrl,
152
184
  scopesSupported: oauth.scopesSupported,
153
- });
154
- const requireAuth = requireBearerAuth({
155
- verifier: oauth.verifier,
156
- requiredScopes: oauth.requiredScopes,
157
- resourceMetadataUrl,
158
- });
159
- app.all("/mcp", requireAuth, handleMcpRequest);
160
- }
161
- else {
162
- app.all("/mcp", handleMcpRequest);
163
- }
164
- const httpServer = app.listen(config.port, config.bindHost);
165
- await new Promise((resolveListening, rejectListening) => {
166
- httpServer.once("listening", resolveListening);
167
- httpServer.once("error", rejectListening);
168
- });
169
- const endpoint = config.publicUrl
170
- ? new URL("/mcp", config.publicUrl).href
171
- : `http://${urlHost(config.bindHost)}:${config.port}/mcp`;
172
- console.log(`MCP server listening on ${endpoint}`);
185
+ },
186
+ };
187
+ }
188
+ /**
189
+ * Revision 2026-07-28 only, on every transport: a 2025-era request is answered
190
+ * with `-32022` UnsupportedProtocolVersion; there is no legacy serving and no session.
191
+ */
192
+ export function createHostedHandler(factory, onerror) {
193
+ return createMcpHandler(factory, { legacy: "reject", onerror });
194
+ }
195
+ async function createHostedRuntime(config) {
196
+ const handler = createHostedHandler(() => createServer({ transport: "streamable_http" }), (error) => reportError("Standalone MCP request", error));
197
+ const options = {
198
+ handler,
199
+ landingPage: await readFile(new URL("./mcp-home.html", import.meta.url), "utf8"),
200
+ ...(config.allowedHosts === undefined ? {} : { allowedHosts: config.allowedHosts }),
201
+ ...(config.allowedOrigins === undefined ? {} : { allowedOrigins: config.allowedOrigins }),
202
+ ...(config.publicUrl === undefined ? {} : { auth: await hostedAuth(config.publicUrl) }),
203
+ };
173
204
  let shuttingDown = false;
174
205
  const shutdown = () => {
175
206
  if (shuttingDown)
176
207
  return;
177
208
  shuttingDown = true;
178
209
  void handler.close()
179
- .then(() => closeHttpListener(httpServer))
180
210
  .then(closeDefaultNativeExecutionRuntime)
181
211
  .catch((error) => {
182
212
  reportError("Standalone MCP HTTP shutdown cleanup", error);
@@ -185,6 +215,11 @@ export async function startStreamableHTTPServer(serverFactory) {
185
215
  };
186
216
  process.once("SIGINT", shutdown);
187
217
  process.once("SIGTERM", shutdown);
218
+ const endpoint = config.publicUrl
219
+ ? new URL("/mcp", config.publicUrl).href
220
+ : `http://${urlHost(config.bindHost)}:${config.port}/mcp`;
221
+ console.log(`MCP server serving ${endpoint}`);
222
+ return { port: config.port, hostname: config.bindHost, fetch: createFetch(options) };
188
223
  }
189
224
  export function startStdioServer(serverFactory) {
190
225
  const handle = serveStdio(serverFactory, {
@@ -207,17 +242,6 @@ export function startStdioServer(serverFactory) {
207
242
  process.once("SIGTERM", shutdown);
208
243
  return handle;
209
244
  }
210
- async function main() {
211
- // Before either transport accepts a connection: a server that answers tool
212
- // calls against a contract the collector does not serve is worse than one that
213
- // refuses to start.
214
- await assertCollectorContractRevision();
215
- if (process.argv.includes("--stdio")) {
216
- startStdioServer(() => createServer({ transport: "stdio" }));
217
- return;
218
- }
219
- await startStreamableHTTPServer(() => createServer({ transport: "streamable_http" }));
220
- }
221
245
  function toRealEntryHref(entryPoint) {
222
246
  const resolved = resolve(entryPoint);
223
247
  try {
@@ -227,12 +251,35 @@ function toRealEntryHref(entryPoint) {
227
251
  return pathToFileURL(resolved).href;
228
252
  }
229
253
  }
230
- const entryPoint = process.argv[1];
231
- const entryHref = entryPoint === undefined ? undefined : toRealEntryHref(entryPoint);
232
- if (entryHref === import.meta.url) {
233
- void main().catch((error) => {
254
+ function isEntryPoint() {
255
+ const entryPoint = process.argv[1];
256
+ return entryPoint !== undefined && toRealEntryHref(entryPoint) === import.meta.url;
257
+ }
258
+ async function bootstrap() {
259
+ if (!isEntryPoint())
260
+ return undefined;
261
+ try {
262
+ // Before either transport accepts a connection: a server that answers tool
263
+ // calls against a contract the collector does not serve is worse than one
264
+ // that refuses to start.
265
+ await assertCollectorContractRevision();
266
+ if (process.argv.includes("--stdio")) {
267
+ startStdioServer(() => createServer({ transport: "stdio" }));
268
+ return undefined;
269
+ }
270
+ if (typeof globalThis.Bun === "undefined") {
271
+ console.error("The HTTP entry is a web-standard fetch handler served by its default export; " +
272
+ "run it with Bun. Node serves the stdio entry only (--stdio).");
273
+ process.exitCode = 1;
274
+ return undefined;
275
+ }
276
+ return await createHostedRuntime(readStreamableHTTPConfig());
277
+ }
278
+ catch (error) {
234
279
  reportError("Standalone MCP startup", error);
235
280
  process.exitCode = 1;
236
- });
281
+ return undefined;
282
+ }
237
283
  }
284
+ export default await bootstrap();
238
285
  //# sourceMappingURL=main.js.map
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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"}