@haikit/mcp 0.32.0 → 0.33.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,25 @@
1
- import { type StreamableHTTPClientTransportOptions, type Transport } from "@modelcontextprotocol/client";
1
+ import { type AuthProvider, type StreamableHTTPClientTransportOptions, type Transport } from "@modelcontextprotocol/client";
2
2
  import { type StdioServerParameters } from "@modelcontextprotocol/client/stdio";
3
3
  export interface HttpOptions extends StreamableHTTPClientTransportOptions {
4
4
  /** Sent on every request, over any of the same name in `requestInit.headers`. */
5
5
  headers?: Record<string, string>;
6
6
  }
7
+ /** What `mcpServer({ auth })` needs to know of a transport `http()` made. */
8
+ export interface HttpMade {
9
+ /** It was given an `authProvider` of its own. */
10
+ authProvider: boolean;
11
+ /** It sends an `Authorization` header of its own. */
12
+ authorization: boolean;
13
+ }
14
+ /** The factories `http()` made: only these can carry each user's credential. */
15
+ export declare const madeByHttp: WeakMap<object, HttpMade>;
7
16
  /**
8
17
  * A server at `url`, over Streamable HTTP. Everything but `headers` is the
9
18
  * SDK's own `StreamableHTTPClientTransportOptions`, such as an `authProvider`.
10
- * The URL is checked now, so a bad one fails at startup.
19
+ * The URL is checked now, so a bad one fails at startup. For a server with
20
+ * `auth`, each user's connection is given that user's `authProvider`.
11
21
  */
12
- export declare function http(url: string | URL, options?: HttpOptions): () => Transport;
22
+ export declare function http(url: string | URL, options?: HttpOptions): (authProvider?: AuthProvider) => Transport;
13
23
  /**
14
24
  * A server this process starts, and talks to over its stdin and stdout. Each
15
25
  * connection starts a new child; `close()` stops it. Unless `env` is given,
@@ -1 +1 @@
1
- {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,oCAAoC,EAAE,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxI,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEtG,MAAM,WAAW,WAAY,SAAQ,oCAAoC;IACvE,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,SAAS,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,SAAS,CAEpE"}
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,oCAAoC,EACzC,KAAK,SAAS,EACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEtG,MAAM,WAAW,WAAY,SAAQ,oCAAoC;IACvE,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,6EAA6E;AAC7E,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,gFAAgF;AAChF,eAAO,MAAM,UAAU,2BAAkC,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,WAAgB,GAAG,CAAC,YAAY,CAAC,EAAE,YAAY,KAAK,SAAS,CAe7G;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,SAAS,CAEpE"}
@@ -1,9 +1,12 @@
1
- import { StreamableHTTPClientTransport } from "@modelcontextprotocol/client";
1
+ import { StreamableHTTPClientTransport, } from "@modelcontextprotocol/client";
2
2
  import { StdioClientTransport } from "@modelcontextprotocol/client/stdio";
3
+ /** The factories `http()` made: only these can carry each user's credential. */
4
+ export const madeByHttp = new WeakMap();
3
5
  /**
4
6
  * A server at `url`, over Streamable HTTP. Everything but `headers` is the
5
7
  * SDK's own `StreamableHTTPClientTransportOptions`, such as an `authProvider`.
6
- * The URL is checked now, so a bad one fails at startup.
8
+ * The URL is checked now, so a bad one fails at startup. For a server with
9
+ * `auth`, each user's connection is given that user's `authProvider`.
7
10
  */
8
11
  export function http(url, options = {}) {
9
12
  const target = new URL(url);
@@ -14,7 +17,12 @@ export function http(url, options = {}) {
14
17
  merged.set(name, value);
15
18
  rest.requestInit = { ...rest.requestInit, headers: merged };
16
19
  }
17
- return () => new StreamableHTTPClientTransport(target, rest);
20
+ const make = (authProvider) => new StreamableHTTPClientTransport(target, authProvider ? { ...rest, authProvider } : rest);
21
+ madeByHttp.set(make, {
22
+ authProvider: rest.authProvider !== undefined,
23
+ authorization: new Headers(rest.requestInit?.headers).has("authorization"),
24
+ });
25
+ return make;
18
26
  }
19
27
  /**
20
28
  * A server this process starts, and talks to over its stdin and stdout. Each
@@ -1 +1 @@
1
- {"version":3,"file":"transports.js","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA6D,MAAM,8BAA8B,CAAC;AACxI,OAAO,EAAE,oBAAoB,EAA8B,MAAM,oCAAoC,CAAC;AAOtG;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,GAAiB,EAAE,UAAuB,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,IAAI,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,MAA6B;IACjD,OAAO,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"transports.js","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAI9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAA8B,MAAM,oCAAoC,CAAC;AAetG,gFAAgF;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAAoB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,GAAiB,EAAE,UAAuB,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,YAA2B,EAAE,EAAE,CAC3C,IAAI,6BAA6B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7F,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS;QAC7C,aAAa,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;KAC3E,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,MAA6B;IACjD,OAAO,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haikit/mcp",
3
- "version": "0.32.0",
3
+ "version": "0.33.0",
4
4
  "description": "Call MCP servers' tools from inside your haikit tools. The model never sees an MCP tool: your tool decides what it hears and what the browser shows. Imports only @haikit/core.",
5
5
  "keywords": [
6
6
  "haikit",
@@ -34,7 +34,7 @@
34
34
  "prepack": "npm --prefix ../.. run build"
35
35
  },
36
36
  "dependencies": {
37
- "@haikit/core": "0.32.0",
37
+ "@haikit/core": "0.33.0",
38
38
  "@modelcontextprotocol/client": "^2.4.0",
39
39
  "@types/node": ">=22"
40
40
  },
package/src/auth.ts ADDED
@@ -0,0 +1,160 @@
1
+ import type { AuthProvider } from "@modelcontextprotocol/client";
2
+
3
+ export interface McpAuthOptions {
4
+ /**
5
+ * Who a conversation belongs to: the user a call made in it runs as. With
6
+ * @haikit/auth, `(id) => auth.ownerOf(id)`. `null` for no one.
7
+ */
8
+ userOf(conversationId: string): string | null | Promise<string | null>;
9
+ }
10
+
11
+ /** Makes the `auth` of servers whose calls are made as each user. */
12
+ export interface McpAuth {
13
+ /**
14
+ * Each user's own token, which the app already has: `token(userId)` gives
15
+ * it, or `null` when the user has none. Sent as `Authorization: Bearer`.
16
+ */
17
+ bearer(token: (userId: string) => string | null | Promise<string | null>): McpServerAuth;
18
+ }
19
+
20
+ /** How a server's calls are made as each user: made by an `McpAuth`, and given to `mcpServer({ auth })`. */
21
+ export interface McpServerAuth {
22
+ readonly kind: "bearer";
23
+ }
24
+
25
+ /** What an `McpServerAuth` stands for. */
26
+ export interface AuthConfig {
27
+ readonly kind: "bearer";
28
+ userOf(conversationId: string): string | null | Promise<string | null>;
29
+ token(userId: string): string | null | Promise<string | null>;
30
+ /** Server names in use with this `McpAuth`: each is a key for its users' credentials. */
31
+ readonly names: Set<string>;
32
+ }
33
+
34
+ const configs = new WeakMap<object, AuthConfig>();
35
+
36
+ /** The config an `McpServerAuth` stands for, or undefined if `createMcpAuth` didn't make it. */
37
+ export const configOf = (auth: unknown): AuthConfig | undefined =>
38
+ typeof auth === "object" && auth !== null ? configs.get(auth) : undefined;
39
+
40
+ /**
41
+ * For servers whose calls are made as each user, with that user's own
42
+ * credential: `mcpServer({ auth: mcpAuth.bearer(token) })`.
43
+ */
44
+ export function createMcpAuth(options: McpAuthOptions): McpAuth {
45
+ if (typeof options?.userOf !== "function") {
46
+ throw new TypeError("createMcpAuth: userOf must be a function, such as (id) => auth.ownerOf(id)");
47
+ }
48
+ const names = new Set<string>();
49
+ const userOf = (conversationId: string) => options.userOf(conversationId);
50
+ return Object.freeze({
51
+ bearer(token: (userId: string) => string | null | Promise<string | null>): McpServerAuth {
52
+ if (typeof token !== "function") {
53
+ throw new TypeError("bearer: token must be a function that takes a user id and returns their token, or null");
54
+ }
55
+ const auth: McpServerAuth = Object.freeze({ kind: "bearer" });
56
+ configs.set(auth, { kind: "bearer", userOf, token, names });
57
+ return auth;
58
+ },
59
+ });
60
+ }
61
+
62
+ /**
63
+ * The user has no credential, or the server refused theirs: thrown inside a
64
+ * connection, where the transport passes it on unchanged, and made an
65
+ * `McpError` with reason `auth`.
66
+ */
67
+ export class NeedsAuth extends Error {
68
+ readonly name = "NeedsAuth";
69
+ constructor(readonly kind: "connect" | "reconnect") {
70
+ super(kind === "connect" ? "the user has no credential" : "the server refused the user's credential");
71
+ }
72
+ }
73
+
74
+ /** The app's lookup of a credential failed: made an `McpError` with reason `connection`. */
75
+ export class LookupFailed extends Error {
76
+ readonly name = "LookupFailed";
77
+ constructor(cause: unknown) {
78
+ super("the user's credential could not be looked up", { cause });
79
+ }
80
+ }
81
+
82
+ /** One user's credential for one server, and the `AuthProvider` that sends it. */
83
+ export interface Credential {
84
+ /** Before a connection or call: finds the credential, or throws `NeedsAuth("connect")`, so nothing is sent without one. */
85
+ ensure(): Promise<void>;
86
+ /** For a connection being closed: stops a lookup on its way, and its timer. */
87
+ close(): void;
88
+ readonly provider: AuthProvider;
89
+ }
90
+
91
+ /** A token from `bearer`'s function, kept until a lookup on a 401 finds another, or none. */
92
+ export class BearerCredential implements Credential {
93
+ private token: string | null = null;
94
+ /** The lookup on its way, which every caller shares: only it sets `token`. */
95
+ private looking: Promise<string | null> | null = null;
96
+ /** Stops the lookup on its way, for `close()`. */
97
+ private stop: (() => void) | null = null;
98
+
99
+ constructor(
100
+ private readonly read: (userId: string) => string | null | Promise<string | null>,
101
+ private readonly user: string,
102
+ /** How long `read` may take: a lookup that never answers would hold up every call after it. */
103
+ private readonly timeoutMs: number,
104
+ ) {}
105
+
106
+ async ensure(): Promise<void> {
107
+ if (this.token === null) await this.look();
108
+ if (this.token === null) throw new NeedsAuth("connect");
109
+ }
110
+
111
+ close(): void {
112
+ this.stop?.();
113
+ }
114
+
115
+ // The transport asks for the token before every request, and on a 401
116
+ // calls onUnauthorized, then tries once more with what it finds.
117
+ readonly provider: AuthProvider = {
118
+ // A request is never sent without the user's token: the transport would
119
+ // send it with no Authorization at all. Gone since its call began, as
120
+ // when another call's 401 found none, it stops the request here.
121
+ token: async () => {
122
+ if (this.token === null) throw new NeedsAuth("reconnect");
123
+ return this.token;
124
+ },
125
+ onUnauthorized: async () => {
126
+ // A token the server still refuses gets its 401 on the retry, and is
127
+ // kept: the next 401 looks again. Forgetting it would throw away a
128
+ // newer one that another call's 401 found meanwhile.
129
+ if ((await this.look()) === null) throw new NeedsAuth("reconnect");
130
+ },
131
+ };
132
+
133
+ /** One lookup at a time, for first calls and 401s that come together, so none overwrites another's token. */
134
+ private look(): Promise<string | null> {
135
+ this.looking ??= this.lookup()
136
+ .then((token) => (this.token = token))
137
+ .finally(() => {
138
+ this.looking = null;
139
+ });
140
+ return this.looking;
141
+ }
142
+
143
+ private async lookup(): Promise<string | null> {
144
+ let timer: ReturnType<typeof setTimeout> | undefined;
145
+ const cut = new Promise<never>((_, reject) => {
146
+ timer = setTimeout(() => reject(new Error(`no token within ${this.timeoutMs} ms`)), this.timeoutMs);
147
+ this.stop = () => reject(new Error("closed while the token was being looked up"));
148
+ });
149
+ let token: unknown;
150
+ try {
151
+ token = await Promise.race([Promise.resolve().then(() => this.read(this.user)), cut]);
152
+ } catch (err) {
153
+ throw new LookupFailed(err);
154
+ } finally {
155
+ clearTimeout(timer);
156
+ this.stop = null;
157
+ }
158
+ return typeof token === "string" && token !== "" ? token : null;
159
+ }
160
+ }
package/src/errors.ts CHANGED
@@ -10,8 +10,22 @@ import type { ContentBlock } from "@modelcontextprotocol/client";
10
10
  * - `protocol`: the server refused the call, such as for a tool it doesn't
11
11
  * have, or asked for something this client doesn't do.
12
12
  * - `closed`: `close()` was called.
13
+ * - `user`: a server with `auth` had no user to call as, so nothing was sent.
14
+ * - `auth`: the user's credential for the server is missing, was refused, or
15
+ * needs more access. `auth` on the error says which.
13
16
  */
14
- export type McpErrorReason = "args" | "result" | "timeout" | "connection" | "protocol" | "closed";
17
+ export type McpErrorReason = "args" | "result" | "timeout" | "connection" | "protocol" | "closed" | "user" | "auth";
18
+
19
+ /** What a call with reason `auth` needs from the user. */
20
+ export interface McpAuthNeed {
21
+ /**
22
+ * `connect`: the user has no credential for the server, so nothing was sent.
23
+ * `reconnect`: the server refused theirs. `scope`: theirs needs more access.
24
+ */
25
+ readonly kind: "connect" | "reconnect" | "scope";
26
+ /** On `scope`: the scope the server asked for, as its challenge put it. */
27
+ readonly scope?: string;
28
+ }
15
29
 
16
30
  /**
17
31
  * A call that didn't get a result. The message names only the server and the
@@ -34,11 +48,13 @@ export class McpError extends Error {
34
48
  readonly text: string | undefined;
35
49
  /** A JSON-RPC error's code. */
36
50
  readonly code: number | undefined;
51
+ /** With reason `auth`: what the user's credential needs. */
52
+ readonly auth: McpAuthNeed | undefined;
37
53
 
38
54
  constructor(
39
55
  reason: McpErrorReason,
40
56
  message: string,
41
- detail: { server: string; tool?: string; text?: string; code?: number; cause?: unknown },
57
+ detail: { server: string; tool?: string; text?: string; code?: number; cause?: unknown; auth?: McpAuthNeed },
42
58
  ) {
43
59
  super(message, detail.cause === undefined ? undefined : { cause: detail.cause });
44
60
  this.reason = reason;
@@ -46,6 +62,7 @@ export class McpError extends Error {
46
62
  this.tool = detail.tool;
47
63
  this.text = detail.text;
48
64
  this.code = detail.code;
65
+ this.auth = detail.auth === undefined ? undefined : Object.freeze({ ...detail.auth });
49
66
  }
50
67
  }
51
68