managed-deepagents 0.6.2-dev.3 → 0.6.2-dev.31

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.
Files changed (89) hide show
  1. package/README.md +16 -3
  2. package/dist/agent-auth.d.ts +129 -0
  3. package/dist/agent-auth.d.ts.map +1 -0
  4. package/dist/agent-auth.js +393 -0
  5. package/dist/agent-auth.js.map +1 -0
  6. package/dist/channels/manifest.d.ts +4 -0
  7. package/dist/channels/manifest.d.ts.map +1 -1
  8. package/dist/channels/registry-types.d.ts +1 -1
  9. package/dist/channels/schedule-delivery.d.ts +2 -0
  10. package/dist/channels/schedule-delivery.d.ts.map +1 -1
  11. package/dist/channels/schedule-delivery.js +40 -4
  12. package/dist/channels/schedule-delivery.js.map +1 -1
  13. package/dist/channels/slack/http.d.ts +1 -1
  14. package/dist/channels/trigger/client.d.ts +1 -0
  15. package/dist/channels/trigger/client.d.ts.map +1 -1
  16. package/dist/channels/trigger/client.js +19 -8
  17. package/dist/channels/trigger/client.js.map +1 -1
  18. package/dist/channels/trigger/http.js +1 -1
  19. package/dist/channels/trigger/http.js.map +1 -1
  20. package/dist/channels/trigger/types.d.ts +1 -1
  21. package/dist/channels/trigger/types.d.ts.map +1 -1
  22. package/dist/connections.d.ts +74 -0
  23. package/dist/connections.d.ts.map +1 -0
  24. package/dist/connections.js +280 -0
  25. package/dist/connections.js.map +1 -0
  26. package/dist/connectors/mcp/index.d.ts +29 -89
  27. package/dist/connectors/mcp/index.d.ts.map +1 -1
  28. package/dist/connectors/mcp/index.js +258 -50
  29. package/dist/connectors/mcp/index.js.map +1 -1
  30. package/dist/connectors/mcp/schema.d.ts +12 -0
  31. package/dist/connectors/mcp/schema.d.ts.map +1 -0
  32. package/dist/connectors/mcp/schema.js +57 -0
  33. package/dist/connectors/mcp/schema.js.map +1 -0
  34. package/dist/connectors/mcp/types.d.ts +62 -0
  35. package/dist/connectors/mcp/types.d.ts.map +1 -0
  36. package/dist/connectors/mcp/types.js +2 -0
  37. package/dist/connectors/mcp/types.js.map +1 -0
  38. package/dist/connectors/tool-selection.d.ts +9 -18
  39. package/dist/connectors/tool-selection.d.ts.map +1 -1
  40. package/dist/connectors/tool-selection.js +32 -58
  41. package/dist/connectors/tool-selection.js.map +1 -1
  42. package/dist/credential-gate.d.ts +40 -0
  43. package/dist/credential-gate.d.ts.map +1 -0
  44. package/dist/credential-gate.js +227 -0
  45. package/dist/credential-gate.js.map +1 -0
  46. package/dist/identity/index.d.ts +1 -1
  47. package/dist/identity/index.d.ts.map +1 -1
  48. package/dist/identity/index.js.map +1 -1
  49. package/dist/identity/types.d.ts +79 -5
  50. package/dist/identity/types.d.ts.map +1 -1
  51. package/dist/index.d.ts +11 -6
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/runtime/auth.d.ts +31 -4
  56. package/dist/runtime/auth.d.ts.map +1 -1
  57. package/dist/runtime/auth.js +58 -3
  58. package/dist/runtime/auth.js.map +1 -1
  59. package/dist/runtime/channel.d.ts +1 -1
  60. package/dist/runtime/connector.d.ts +1 -1
  61. package/dist/runtime/cors.d.ts +8 -6
  62. package/dist/runtime/cors.d.ts.map +1 -1
  63. package/dist/runtime/cors.js +18 -19
  64. package/dist/runtime/cors.js.map +1 -1
  65. package/dist/runtime/http.d.ts +1 -1
  66. package/dist/runtime/http.d.ts.map +1 -1
  67. package/dist/runtime/http.js.map +1 -1
  68. package/dist/runtime/identity-http.d.ts.map +1 -1
  69. package/dist/runtime/identity-http.js +22 -13
  70. package/dist/runtime/identity-http.js.map +1 -1
  71. package/dist/runtime/identity-runtime.d.ts +65 -5
  72. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  73. package/dist/runtime/identity-runtime.js +148 -0
  74. package/dist/runtime/identity-runtime.js.map +1 -1
  75. package/dist/runtime/index.d.ts.map +1 -1
  76. package/dist/runtime/index.js +12 -7
  77. package/dist/runtime/index.js.map +1 -1
  78. package/dist/runtime/managed-middleware.d.ts +2 -2
  79. package/dist/runtime/managed-middleware.js +6 -6
  80. package/dist/runtime/managed-tools.d.ts +19 -15
  81. package/dist/runtime/managed-tools.d.ts.map +1 -1
  82. package/dist/runtime/managed-tools.js +14 -13
  83. package/dist/runtime/managed-tools.js.map +1 -1
  84. package/dist/runtime/types.d.ts +2 -2
  85. package/package.json +8 -8
  86. package/dist/connectors/mcp/load.d.ts +0 -12
  87. package/dist/connectors/mcp/load.d.ts.map +0 -1
  88. package/dist/connectors/mcp/load.js +0 -122
  89. package/dist/connectors/mcp/load.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  * @example
19
19
  * ```ts
20
20
  * // connectors/mcp.ts
21
- * import { connectors } from "managed-deepagents";
21
+ * import { connectors, connections } from "managed-deepagents";
22
22
  *
23
23
  * export const connector = connectors.mcp({
24
24
  * mcpServers: {
@@ -26,102 +26,42 @@
26
26
  * transport: "http",
27
27
  * url: "https://docs.example.com/mcp",
28
28
  * },
29
+ * notion: {
30
+ * transport: "http",
31
+ * url: "https://mcp.notion.com/mcp",
32
+ * connection: connections.get("notion", { type: "user" }),
33
+ * },
29
34
  * },
30
35
  * });
31
36
  * ```
32
37
  */
33
- import type { Connector } from "../../runtime/connector.js";
34
- /** Per-server MCP tool selection. Names are raw, unprefixed MCP tool names. */
35
- export interface McpToolSelectionConfig {
36
- /**
37
- * Raw MCP tool names to expose from this server. Names are matched before any
38
- * managed `{server}__` prefix is applied.
39
- */
40
- includeTools?: string[];
41
- /**
42
- * Raw MCP tool names to hide from this server. Names are matched before any
43
- * managed `{server}__` prefix is applied.
44
- */
45
- excludeTools?: string[];
46
- }
47
- /** Shared options for all remote MCP server connections. */
48
- export interface RemoteMcpServerBaseConfig extends McpToolSelectionConfig {
49
- /** URL of the remote MCP server endpoint. */
50
- url: string;
51
- /** Optional static headers sent when connecting to the MCP server. */
52
- headers?: Record<string, string>;
53
- /** Default timeout, in milliseconds, for tools loaded from this server. */
54
- defaultToolTimeout?: number;
55
- }
56
- /** Streamable HTTP MCP server connection. */
57
- export interface HttpMcpServerConfig extends RemoteMcpServerBaseConfig {
58
- /** Remote transport. `"http"` selects Streamable HTTP. */
59
- transport: "http";
60
- /**
61
- * Whether the client may fall back to SSE if the server does not support
62
- * Streamable HTTP. Defaults to the behavior of `@langchain/mcp-adapters`.
63
- */
64
- automaticSSEFallback?: boolean;
65
- }
66
- /** Legacy SSE MCP server connection. */
67
- export interface SseMcpServerConfig extends RemoteMcpServerBaseConfig {
68
- /** Remote transport. `"sse"` selects legacy SSE. */
69
- transport: "sse";
70
- /** Reconnection behavior for SSE MCP servers. */
71
- reconnect?: {
72
- enabled: boolean;
73
- maxAttempts?: number;
74
- delayMs?: number;
75
- };
76
- }
77
- /** A remote MCP server connection. Stdio servers are intentionally excluded. */
78
- export type RemoteMcpServerConfig = HttpMcpServerConfig | SseMcpServerConfig;
79
- /** Configuration accepted by `connectors.mcp`. */
80
- export interface McpServersConfig {
81
- /**
82
- * MCP servers to connect to. Each key is the logical server name MDA uses
83
- * for validation, tracing metadata, and tool-name prefixing.
84
- */
85
- mcpServers: Record<string, RemoteMcpServerConfig>;
86
- /**
87
- * Whether tool names should be prefixed with the MCP server name (e.g.
88
- * `docs__search`). Defaults to `true`, which avoids collisions between
89
- * authored tools and common MCP tool names like `search` or `read`.
90
- */
91
- prefixToolNameWithServerName?: boolean;
92
- /**
93
- * Whether tool loading should fail if a tool cannot be loaded. Defaults to
94
- * `true` — a managed deployment should fail rather than start with a
95
- * partially loaded tool surface.
96
- */
97
- throwOnLoadError?: boolean;
98
- /**
99
- * Whether MCP tool outputs should be converted to LangChain standard content
100
- * blocks. Defaults to `true` for new managed agents.
101
- */
102
- useStandardContentBlocks?: boolean;
103
- /**
104
- * Behavior when an MCP server cannot be connected. Only `"throw"` is
105
- * supported for the POC — a failed connection fails the deployment.
106
- */
107
- onConnectionError?: "throw";
108
- }
38
+ import type { CredentialConsumer, LoadedCredentialTools } from "../../credential-gate.js";
39
+ import type { McpServersConfig, McpServersDefinition } from "./types.js";
40
+ export type * from "./types.js";
41
+ /**
42
+ * Load (and cache) the MCP tools for one connector declaration.
43
+ *
44
+ * A failed load is never cached, so a transient connection error on the first
45
+ * run can be retried on the next, but a misconfigured deployment surfaces the
46
+ * error rather than silently starting with no tools.
47
+ */
48
+ export declare function loadManagedMcpTools(connectors: McpServersDefinition): Promise<unknown[]>;
49
+ /** Clear the process-level MCP tool cache. Test-only. */
50
+ export declare function clearManagedMcpToolsCacheForTests(connectors?: McpServersDefinition): void;
109
51
  /**
110
- * The connector exported from a `connectors/` module for MCP. It is a branded
111
- * managed {@link Connector} whose `tools` hook loads the declared MCP tools at
112
- * runtime, plus the raw config the loader reads.
52
+ * The credential gate's view of the declared MCP connectors.
53
+ *
54
+ * One consumer per declaration that names a user-owned connection; a
55
+ * declaration that needs no grant never reaches the gate.
113
56
  */
114
- export interface McpServersDefinition extends McpServersConfig, Connector {
115
- /** Internal discriminator used by the MDA loader. */
116
- readonly kind: "mcp_servers";
117
- }
57
+ export declare function mcpCredentialConsumers(connectors: readonly unknown[] | undefined): CredentialConsumer[];
118
58
  /**
119
- * Declare the MCP servers whose tools should be loaded and added to the managed
120
- * Deep Agent at runtime.
59
+ * Load tools for user-connection servers, once the gate has confirmed the
60
+ * caller's grants.
121
61
  *
122
- * The tools hook runs at agent-graph construction time (inside the managed
123
- * runtime), so the MCP client loader is imported lazily — authoring-only
124
- * installs never pull in `@langchain/mcp-adapters`.
62
+ * Not process-cached here: the Authorization header is per caller, so the gate
63
+ * owns both the cache and closing the returned transport.
125
64
  */
65
+ export declare function loadUserConnectionMcpTools(connectors: McpServersDefinition, accessTokens: ReadonlyMap<string, string>): Promise<LoadedCredentialTools>;
126
66
  export declare const mcpConnector: (config: McpServersConfig) => McpServersDefinition;
127
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAUH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,4DAA4D;AAC5D,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACpE,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB;IACnE,oDAAoD;IACpD,SAAS,EAAE,KAAK,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAE7E,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAClD;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB,EAAE,SAAS;IACvE,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAqDD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,oBASrD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAUH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AAEpB,mBAAmB,YAAY,CAAC;AAkBhC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,OAAO,EAAE,CAAC,CAWpB;AAED,yDAAyD;AACzD,wBAAgB,iCAAiC,CAC/C,UAAU,CAAC,EAAE,oBAAoB,GAChC,IAAI,CAMN;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GACzC,kBAAkB,EAAE,CAuBtB;AA0ED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,oBAAoB,EAChC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,qBAAqB,CAAC,CAyBhC;AAsKD,eAAO,MAAM,YAAY,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,oBAOrD,CAAC"}
@@ -18,7 +18,7 @@
18
18
  * @example
19
19
  * ```ts
20
20
  * // connectors/mcp.ts
21
- * import { connectors } from "managed-deepagents";
21
+ * import { connectors, connections } from "managed-deepagents";
22
22
  *
23
23
  * export const connector = connectors.mcp({
24
24
  * mcpServers: {
@@ -26,69 +26,277 @@
26
26
  * transport: "http",
27
27
  * url: "https://docs.example.com/mcp",
28
28
  * },
29
+ * notion: {
30
+ * transport: "http",
31
+ * url: "https://mcp.notion.com/mcp",
32
+ * connection: connections.get("notion", { type: "user" }),
33
+ * },
29
34
  * },
30
35
  * });
31
36
  * ```
32
37
  */
33
- import { z } from "zod";
34
- import { checkToolSelectionOverlap, toolSelectionConnectorFields, } from "../tool-selection.js";
38
+ import { MultiServerMCPClient } from "@langchain/mcp-adapters";
35
39
  import { defineExtension } from "../../extension.js";
36
- /** Stdio servers are out of scope; the message points at the alternatives. */
37
- const STDIO_REJECTION = "uses a stdio transport, which is not supported. Managed Deep Agents " +
38
- "support remote MCP servers over HTTP/SSE only; expose the server over HTTP " +
39
- "or write a normal authored tool instead.";
40
- const remoteMcpServer = z
41
- .looseObject({
42
- // Present only to reject it: a `command` is how a stdio server is spelled.
43
- command: z.never({ error: STDIO_REJECTION }).optional(),
44
- transport: z.enum(["http", "sse"], {
45
- error: (issue) => issue.input === "stdio"
46
- ? STDIO_REJECTION
47
- : 'must declare a remote transport ("http" or "sse")',
48
- }),
49
- url: z
50
- .string("must be a non-empty URL")
51
- .refine((url) => url.trim().length > 0, "must be a non-empty URL"),
52
- headers: z.record(z.string(), z.string()).optional(),
53
- ...toolSelectionConnectorFields,
54
- })
55
- .check((ctx) => {
56
- checkToolSelectionOverlap(ctx, ctx.value);
57
- });
40
+ import { connections, isConnectionReference, } from "../../connections.js";
41
+ import { mcpServersConfig } from "./schema.js";
42
+ import { selectTools } from "../tool-selection.js";
58
43
  /**
59
- * The MCP connector's arguments.
44
+ * MCP tools loaded per declared connector, cached for the process lifetime.
60
45
  *
61
- * Shape, types, and tool-name lists are the schema's job; the rules that need
62
- * more than one field — a stdio server, a tool selected and deselected at once
63
- * — are checks with hand-written messages. Server configs stay loose because
64
- * `@langchain/mcp-adapters` accepts more per-transport options than MDA models.
46
+ * The compiled entry's graph factory runs `compileManagedAgent` on every
47
+ * invocation, but each connector's MCP connection and tool surface are stable
48
+ * for the life of the deployment — so the client is created and its tools
49
+ * loaded once per declaration, and every subsequent run reuses them. Storing
50
+ * the in-flight promise also dedupes concurrent first runs for the same
51
+ * connector. Multiple `connectors.mcp(...)` modules each get their own entry.
52
+ *
53
+ * An agent-owned connection is read into this cache once, so rotating that
54
+ * secret takes a redeploy. Servers with a user-owned connection are omitted
55
+ * entirely; the credential gate loads those per caller.
65
56
  */
66
- const mcpServersConfig = z.object({
67
- mcpServers: z
68
- .record(z.string(), remoteMcpServer, {
69
- error: "must be an object mapping server names to remote MCP server configs",
70
- })
71
- .refine((servers) => Object.keys(servers).length > 0, "requires at least one entry"),
72
- prefixToolNameWithServerName: z.boolean().optional(),
73
- throwOnLoadError: z.boolean().optional(),
74
- useStandardContentBlocks: z.boolean().optional(),
75
- onConnectionError: z.literal("throw").optional(),
76
- });
57
+ const cachedTools = new Map();
58
+ /**
59
+ * Load (and cache) the MCP tools for one connector declaration.
60
+ *
61
+ * A failed load is never cached, so a transient connection error on the first
62
+ * run can be retried on the next, but a misconfigured deployment surfaces the
63
+ * error rather than silently starting with no tools.
64
+ */
65
+ export function loadManagedMcpTools(connectors) {
66
+ const cached = cachedTools.get(connectors);
67
+ if (cached) {
68
+ return cached;
69
+ }
70
+ const loading = createClientAndLoadTools(connectors).catch((error) => {
71
+ cachedTools.delete(connectors);
72
+ throw error;
73
+ });
74
+ cachedTools.set(connectors, loading);
75
+ return loading;
76
+ }
77
+ /** Clear the process-level MCP tool cache. Test-only. */
78
+ export function clearManagedMcpToolsCacheForTests(connectors) {
79
+ if (connectors) {
80
+ cachedTools.delete(connectors);
81
+ return;
82
+ }
83
+ cachedTools.clear();
84
+ }
85
+ /**
86
+ * The credential gate's view of the declared MCP connectors.
87
+ *
88
+ * One consumer per declaration that names a user-owned connection; a
89
+ * declaration that needs no grant never reaches the gate.
90
+ */
91
+ export function mcpCredentialConsumers(connectors) {
92
+ const out = [];
93
+ for (const connector of connectors ?? []) {
94
+ if (!connector ||
95
+ typeof connector !== "object" ||
96
+ connector.kind !== "mcp_servers") {
97
+ continue;
98
+ }
99
+ const definition = connector;
100
+ const userConnections = userConnectionReferences(definition);
101
+ if (userConnections.length === 0) {
102
+ continue;
103
+ }
104
+ out.push({
105
+ declaration: definition,
106
+ credentials: userConnections,
107
+ load: (accessTokens) => loadUserConnectionMcpTools(definition, accessTokens),
108
+ });
109
+ }
110
+ return out;
111
+ }
112
+ /** The declared references themselves: the gate checks their owner. */
113
+ function userConnectionReferences(connectors) {
114
+ const bySlug = new Map();
115
+ for (const server of Object.values(connectors.mcpServers)) {
116
+ if (usesUserConnection(server)) {
117
+ const connection = server.connection;
118
+ bySlug.set(connection.slug, connection);
119
+ }
120
+ }
121
+ return [...bySlug.values()];
122
+ }
123
+ function agentConnectionReferences(connectors) {
124
+ const bySlug = new Map();
125
+ for (const server of Object.values(connectors.mcpServers)) {
126
+ const connection = server.connection;
127
+ if (isConnectionReference(connection) &&
128
+ connection.owner.type === "agent") {
129
+ bySlug.set(connection.slug, connection);
130
+ }
131
+ }
132
+ return [...bySlug.values()];
133
+ }
134
+ function mcpRequirements(name, connectors) {
135
+ const userSlugs = userConnectionReferences(connectors)
136
+ .map((connection) => connection.slug)
137
+ .sort();
138
+ const agentSlugs = agentConnectionReferences(connectors)
139
+ .map((connection) => connection.slug)
140
+ .sort();
141
+ return {
142
+ name,
143
+ provider: "mcp",
144
+ autoReply: false,
145
+ requiredPermissions: [],
146
+ requiredEnv: [],
147
+ userConnections: userSlugs,
148
+ agentConnections: agentSlugs,
149
+ providerConfig: {},
150
+ };
151
+ }
152
+ async function createClientAndLoadTools(connectors) {
153
+ const { eager, userConnection } = partitionMcpServers(connectors.mcpServers);
154
+ if (userConnection.length > 0) {
155
+ warnDeferredUserConnectionServers(userConnection);
156
+ }
157
+ if (Object.keys(eager).length === 0) {
158
+ return [];
159
+ }
160
+ const { tools } = await loadToolsFromServers(connectors, await withAgentConnections(eager));
161
+ return tools;
162
+ }
77
163
  /**
78
- * Declare the MCP servers whose tools should be loaded and added to the managed
79
- * Deep Agent at runtime.
164
+ * Load tools for user-connection servers, once the gate has confirmed the
165
+ * caller's grants.
80
166
  *
81
- * The tools hook runs at agent-graph construction time (inside the managed
82
- * runtime), so the MCP client loader is imported lazily — authoring-only
83
- * installs never pull in `@langchain/mcp-adapters`.
167
+ * Not process-cached here: the Authorization header is per caller, so the gate
168
+ * owns both the cache and closing the returned transport.
84
169
  */
170
+ export async function loadUserConnectionMcpTools(connectors, accessTokens) {
171
+ const { userConnection } = partitionMcpServers(connectors.mcpServers);
172
+ const connectable = {};
173
+ for (const name of userConnection) {
174
+ const server = connectors.mcpServers[name];
175
+ const connection = server?.connection;
176
+ if (!server || !isConnectionReference(connection)) {
177
+ continue;
178
+ }
179
+ const accessToken = accessTokens.get(connection.slug);
180
+ if (!accessToken) {
181
+ throw new Error(`MCP user connection "${connection.slug}" has no access token`);
182
+ }
183
+ connectable[name] = withBearer(server, accessToken);
184
+ }
185
+ if (Object.keys(connectable).length === 0) {
186
+ return { tools: [], close: async () => { } };
187
+ }
188
+ const { tools, client } = await loadToolsFromServers(connectors, connectable);
189
+ return { tools, close: () => client.close() };
190
+ }
191
+ /** Resolve each agent-owned connection into a static bearer header. */
192
+ async function withAgentConnections(servers) {
193
+ const out = {};
194
+ for (const [name, server] of Object.entries(servers)) {
195
+ const connection = server.connection;
196
+ out[name] = isConnectionReference(connection)
197
+ ? withBearer(server, await connections.resolveDeploymentSecret(connection.slug))
198
+ : server;
199
+ }
200
+ return out;
201
+ }
202
+ function withBearer(server, token) {
203
+ const headers = Object.fromEntries(Object.entries(server.headers ?? {}).filter(([name]) => name.toLowerCase() !== "authorization"));
204
+ return {
205
+ ...server,
206
+ headers: { ...headers, Authorization: `Bearer ${token}` },
207
+ };
208
+ }
209
+ function usesUserConnection(server) {
210
+ return (isConnectionReference(server.connection) &&
211
+ server.connection.owner.type === "user");
212
+ }
213
+ function partitionMcpServers(servers) {
214
+ const eager = {};
215
+ const userConnection = [];
216
+ for (const [name, server] of Object.entries(servers)) {
217
+ if (usesUserConnection(server)) {
218
+ userConnection.push(name);
219
+ }
220
+ else {
221
+ eager[name] = server;
222
+ }
223
+ }
224
+ return { eager, userConnection };
225
+ }
226
+ function warnDeferredUserConnectionServers(serverNames) {
227
+ console.warn(`[managed-deepagents] MCP server(s) ${serverNames.join(", ")} declare ` +
228
+ `a user connection; tools load after the pre-run credential gate ` +
229
+ `confirms grants for the caller.`);
230
+ }
231
+ function stripManagedToolSelection(servers) {
232
+ return Object.fromEntries(Object.entries(servers).map(([name, server]) => {
233
+ const { includeTools: _includeTools, excludeTools: _excludeTools, connection: _connection, ...clientConfig } = server;
234
+ return [name, clientConfig];
235
+ }));
236
+ }
237
+ async function loadToolsFromServers(connectors, connectable) {
238
+ const prefixToolNameWithServerName = connectors.prefixToolNameWithServerName ?? true;
239
+ const client = new MultiServerMCPClient({
240
+ mcpServers: stripManagedToolSelection(connectable),
241
+ prefixToolNameWithServerName,
242
+ throwOnLoadError: connectors.throwOnLoadError ?? true,
243
+ useStandardContentBlocks: connectors.useStandardContentBlocks ?? true,
244
+ onConnectionError: connectors.onConnectionError ?? "throw",
245
+ });
246
+ try {
247
+ const tools = await loadToolsByServer(client, connectable, prefixToolNameWithServerName);
248
+ if (!prefixToolNameWithServerName) {
249
+ assertNoToolNameCollisions(tools);
250
+ }
251
+ return { tools, client };
252
+ }
253
+ catch (error) {
254
+ await client.close().catch(() => undefined);
255
+ throw error;
256
+ }
257
+ }
258
+ async function loadToolsByServer(client, servers, prefixToolNameWithServerName) {
259
+ const tools = [];
260
+ for (const [serverName, server] of Object.entries(servers)) {
261
+ const serverTools = await client.getTools(serverName);
262
+ tools.push(...filterToolsForServer(serverName, server, serverTools, prefixToolNameWithServerName));
263
+ }
264
+ return tools;
265
+ }
266
+ function filterToolsForServer(serverName, selection, tools, prefixToolNameWithServerName) {
267
+ return selectTools(`MCP server "${serverName}"`, selection, tools, (tool) => {
268
+ const name = tool.name;
269
+ if (typeof name !== "string") {
270
+ return undefined;
271
+ }
272
+ const prefix = `${serverName}__`;
273
+ return prefixToolNameWithServerName && name.startsWith(prefix)
274
+ ? name.slice(prefix.length)
275
+ : name;
276
+ });
277
+ }
278
+ function assertNoToolNameCollisions(tools) {
279
+ const seen = new Set();
280
+ const collisions = new Set();
281
+ for (const tool of tools) {
282
+ const name = tool.name;
283
+ if (typeof name !== "string")
284
+ continue;
285
+ if (seen.has(name))
286
+ collisions.add(name);
287
+ seen.add(name);
288
+ }
289
+ if (collisions.size > 0) {
290
+ throw new Error(`MCP tool name collision: ${[...collisions].sort().join(", ")}. ` +
291
+ "Set `prefixToolNameWithServerName: true` (the default) so each tool is " +
292
+ "namespaced by its server, or rename the conflicting tools.");
293
+ }
294
+ }
85
295
  export const mcpConnector = defineExtension("connector", {
86
296
  kind: "mcp_servers",
87
297
  label: "connectors.mcp",
88
298
  args: mcpServersConfig,
89
- async tools(_ctx, self) {
90
- const { loadManagedMcpTools } = await import("./load.js");
91
- return loadManagedMcpTools(self);
92
- },
299
+ tools: (_ctx, self) => loadManagedMcpTools(self),
300
+ requirements: (name, self) => mcpRequirements(name, self),
93
301
  });
94
302
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8FrD,8EAA8E;AAC9E,MAAM,eAAe,GACnB,sEAAsE;IACtE,6EAA6E;IAC7E,0CAA0C,CAAC;AAE7C,MAAM,eAAe,GAAG,CAAC;KACtB,WAAW,CAAC;IACX,2EAA2E;IAC3E,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QACjC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,KAAK,KAAK,OAAO;YACrB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,mDAAmD;KAC1D,CAAC;IACF,GAAG,EAAE,CAAC;SACH,MAAM,CAAC,yBAAyB,CAAC;SACjC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,yBAAyB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,GAAG,4BAA4B;CAChC,CAAC;KACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACb,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAsB,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEL;;;;;;;GAOG;AACH,MAAM,gBAAgB,GACpB,CAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE;QACnC,KAAK,EACH,qEAAqE;KACxE,CAAC;SACD,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAC5C,6BAA6B,CAC9B;IACH,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEL;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,eAAe,CAAC,WAAW,EAAE;IAC3B,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,gBAAgB;IACtB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI;QACpB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ import type { McpServersConfig } from "./types.js";
3
+ /**
4
+ * The MCP connector's arguments.
5
+ *
6
+ * Shape, types, and tool-name lists are the schema's job; the rules that need
7
+ * more than one field — a stdio server, a tool selected and deselected at once
8
+ * — are checks with hand-written messages. Server configs stay loose because
9
+ * `@langchain/mcp-adapters` accepts more per-transport options than MDA models.
10
+ */
11
+ export declare const mcpServersConfig: z.ZodType<McpServersConfig, McpServersConfig>;
12
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiDnD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAevE,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ import { appendToolSelectionOverlapIssue, optionalToolNameListSchema, } from "../tool-selection.js";
3
+ import { isConnectionReference, } from "../../connections.js";
4
+ /** Stdio servers are out of scope; the message points at the alternatives. */
5
+ const STDIO_REJECTION = "uses a stdio transport, which is not supported. Managed Deep Agents " +
6
+ "support remote MCP servers over HTTP/SSE only; expose the server over HTTP " +
7
+ "or write a normal authored tool instead.";
8
+ const CREDENTIAL_FIELD_REJECTION = 'the "credential" field was removed; use connection: connections.get(slug, owner) instead';
9
+ /** Raw MCP tool names, before the managed `{server}__` prefix is applied. */
10
+ const remoteMcpServer = z
11
+ .looseObject({
12
+ /**
13
+ * Present only to reject it: a `command` is how a stdio server is defined,
14
+ * which we don't support.
15
+ */
16
+ command: z.never({ error: STDIO_REJECTION }).optional(),
17
+ transport: z.enum(["http", "sse"], {
18
+ error: (issue) => issue.input === "stdio"
19
+ ? STDIO_REJECTION
20
+ : 'must declare a remote transport ("http" or "sse")',
21
+ }),
22
+ url: z
23
+ .string("must be a non-empty URL")
24
+ .refine((url) => url.trim().length > 0, "must be a non-empty URL"),
25
+ headers: z.record(z.string(), z.string()).optional(),
26
+ defaultToolTimeout: z
27
+ .number("defaultToolTimeout must be a positive number")
28
+ .positive("defaultToolTimeout must be a positive number")
29
+ .optional(),
30
+ includeTools: optionalToolNameListSchema,
31
+ excludeTools: optionalToolNameListSchema,
32
+ credential: z.never({ error: CREDENTIAL_FIELD_REJECTION }).optional(),
33
+ connection: z
34
+ .custom(isConnectionReference, "must be a connections.get(slug, owner) reference")
35
+ .optional(),
36
+ })
37
+ .check(appendToolSelectionOverlapIssue);
38
+ /**
39
+ * The MCP connector's arguments.
40
+ *
41
+ * Shape, types, and tool-name lists are the schema's job; the rules that need
42
+ * more than one field — a stdio server, a tool selected and deselected at once
43
+ * — are checks with hand-written messages. Server configs stay loose because
44
+ * `@langchain/mcp-adapters` accepts more per-transport options than MDA models.
45
+ */
46
+ export const mcpServersConfig = z.object({
47
+ mcpServers: z
48
+ .record(z.string(), remoteMcpServer, {
49
+ error: "must be an object mapping server names to remote MCP server configs",
50
+ })
51
+ .refine((servers) => Object.keys(servers).length > 0, "requires at least one entry"),
52
+ prefixToolNameWithServerName: z.boolean().optional(),
53
+ throwOnLoadError: z.boolean().optional(),
54
+ useStandardContentBlocks: z.boolean().optional(),
55
+ onConnectionError: z.literal("throw").optional(),
56
+ });
57
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/connectors/mcp/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAE9B,8EAA8E;AAC9E,MAAM,eAAe,GACnB,sEAAsE;IACtE,6EAA6E;IAC7E,0CAA0C,CAAC;AAE7C,MAAM,0BAA0B,GAC9B,0FAA0F,CAAC;AAE7F,6EAA6E;AAC7E,MAAM,eAAe,GAAG,CAAC;KACtB,WAAW,CAAC;IACX;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QACjC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,KAAK,KAAK,OAAO;YACrB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,mDAAmD;KAC1D,CAAC;IACF,GAAG,EAAE,CAAC;SACH,MAAM,CAAC,yBAAyB,CAAC;SACjC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,yBAAyB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,kBAAkB,EAAE,CAAC;SAClB,MAAM,CAAC,8CAA8C,CAAC;SACtD,QAAQ,CAAC,8CAA8C,CAAC;SACxD,QAAQ,EAAE;IACb,YAAY,EAAE,0BAA0B;IACxC,YAAY,EAAE,0BAA0B;IACxC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrE,UAAU,EAAE,CAAC;SACV,MAAM,CACL,qBAAqB,EACrB,kDAAkD,CACnD;SACA,QAAQ,EAAE;CACd,CAAC;KACD,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE;QACnC,KAAK,EACH,qEAAqE;KACxE,CAAC;SACD,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAC5C,6BAA6B,CAC9B;IACH,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC"}