qyl-mcp-server 7.2.1 → 7.2.3

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.
@@ -6,7 +6,7 @@
6
6
  <meta name="color-scheme" content="dark">
7
7
  <meta name="description" content="Bring qyl traces, logs, and MCP telemetry into your coding agent.">
8
8
  <title>qyl · MCP telemetry for coding agents</title>
9
- <script type="module" crossorigin>(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=`7.2.1`,t=`https://mcp.qyl.at/mcp`,n={codex:{title:`terminal`,value:`codex mcp add qyl --url ${t}`},claude:{title:`terminal`,value:`claude mcp add --transport http qyl ${t}`},cursor:{title:`mcp.json`,value:`{
9
+ <script type="module" crossorigin>(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=`7.2.3`,t=`https://mcp.qyl.at/mcp`,n={codex:{title:`terminal`,value:`codex mcp add qyl --url ${t}`},claude:{title:`terminal`,value:`claude mcp add --transport http qyl ${t}`},cursor:{title:`mcp.json`,value:`{
10
10
  "mcpServers": {
11
11
  "qyl": {
12
12
  "url": "${t}"
package/dist/ui-domain.js CHANGED
@@ -5,6 +5,14 @@ export function hostedUiDomain(publicMcpUrl) {
5
5
  const origin = new URL(publicMcpUrl).origin;
6
6
  // Hash the exact configured connector URL, including its path and trailing slash.
7
7
  const claudeDomain = `${createHash("sha256").update(publicMcpUrl).digest("hex").slice(0, 32)}.claudemcpcontent.com`;
8
+ const domainForHint = (hint) => {
9
+ if (/^(?:claude(?:ai)?(?:[-\s_./]|$)|anthropic\/claude(?:ai)?(?:[-\s_./]|$))/iu.test(hint)) {
10
+ return claudeDomain;
11
+ }
12
+ if (/^(?:chatgpt|openai-mcp)(?:[-\s_./]|$)/iu.test(hint))
13
+ return origin;
14
+ return undefined;
15
+ };
8
16
  return (context) => {
9
17
  const envelope = context.mcpReq.envelope;
10
18
  const clientInfo = envelope && CLIENT_INFO_META_KEY in envelope
@@ -14,15 +22,11 @@ export function hostedUiDomain(publicMcpUrl) {
14
22
  && "name" in clientInfo && typeof clientInfo.name === "string"
15
23
  ? clientInfo.name
16
24
  : undefined;
17
- // Stateless legacy HTTP has no retained initialize.clientInfo. Its
18
- // per-request User-Agent is a fallback only when SDK clientInfo is absent.
19
- const clientHint = clientName ?? context.http?.req?.headers.get("user-agent") ?? "";
20
- if (/^(?:claude(?:ai)?(?:[-\s_./]|$)|anthropic\/claude(?:ai)?(?:[-\s_./]|$))/iu.test(clientHint)) {
21
- return claudeDomain;
22
- }
23
- if (/^(?:chatgpt|openai-mcp)(?:[-\s_./]|$)/iu.test(clientHint))
24
- return origin;
25
- return undefined;
25
+ // Check both hints, but a recognized SDK name wins if they disagree.
26
+ // Unknown names and stateless legacy HTTP can still use the User-Agent.
27
+ const nameDomain = domainForHint(clientName ?? "");
28
+ const userAgentDomain = domainForHint(context.http?.req?.headers.get("user-agent") ?? "");
29
+ return nameDomain ?? userAgentDomain;
26
30
  };
27
31
  }
28
32
  //# sourceMappingURL=ui-domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-domain.js","sourceRoot":"","sources":["../src/ui-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAsB,MAAM,8BAA8B,CAAC;AAIxF,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC5C,kFAAkF;IAClF,MAAM,YAAY,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAEpH,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,IAAI,oBAAoB,IAAI,QAAQ;YAC7D,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;eACnE,MAAM,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;YAC9D,CAAC,CAAC,UAAU,CAAC,IAAI;YACjB,CAAC,CAAC,SAAS,CAAC;QACd,mEAAmE;QACnE,2EAA2E;QAC3E,MAAM,UAAU,GAAG,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACpF,IAAI,2EAA2E,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjG,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,yCAAyC,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,MAAM,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ui-domain.js","sourceRoot":"","sources":["../src/ui-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAsB,MAAM,8BAA8B,CAAC;AAIxF,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC5C,kFAAkF;IAClF,MAAM,YAAY,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAEpH,MAAM,aAAa,GAAG,CAAC,IAAY,EAAsB,EAAE;QACzD,IAAI,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,IAAI,oBAAoB,IAAI,QAAQ;YAC7D,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;eACnE,MAAM,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;YAC9D,CAAC,CAAC,UAAU,CAAC,IAAI;YACjB,CAAC,CAAC,SAAS,CAAC;QACd,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1F,OAAO,UAAU,IAAI,eAAe,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qyl-mcp-server",
3
- "version": "7.2.1",
3
+ "version": "7.2.3",
4
4
  "type": "module",
5
5
  "description": "qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode",
6
6
  "repository": {
@@ -78,7 +78,7 @@
78
78
  "smoke:projects": "node project-access-smoke.mjs"
79
79
  },
80
80
  "dependencies": {
81
- "@ancplua/qyl-api-schema": "11.4.0",
81
+ "@ancplua/qyl-api-schema": "11.5.0",
82
82
  "@modelcontextprotocol/core": "2.3.1",
83
83
  "@modelcontextprotocol/server": "2.3.1",
84
84
  "@opentelemetry/api": "1.9.1",