@continuumdao/continuum-node-sdk 1.3.1 → 1.3.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.
Files changed (50) hide show
  1. package/dist/core/mpc/mpa-billing-helpers.d.ts +39 -0
  2. package/dist/core/mpc/mpa-billing-helpers.d.ts.map +1 -0
  3. package/dist/core/mpc/mpa-billing-helpers.js +57 -0
  4. package/dist/core/mpc/mpa-billing-helpers.js.map +1 -0
  5. package/dist/core/mpc/mpa-billing-ops.d.ts +2 -11
  6. package/dist/core/mpc/mpa-billing-ops.d.ts.map +1 -1
  7. package/dist/core/mpc/mpa-billing-ops.js +28 -12
  8. package/dist/core/mpc/mpa-billing-ops.js.map +1 -1
  9. package/dist/core/mpc/mpa-fee-status.d.ts +63 -0
  10. package/dist/core/mpc/mpa-fee-status.d.ts.map +1 -0
  11. package/dist/core/mpc/mpa-fee-status.js +431 -0
  12. package/dist/core/mpc/mpa-fee-status.js.map +1 -0
  13. package/dist/core/mpc/mpa-top-up.d.ts +2 -12
  14. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
  15. package/dist/core/mpc/mpa-top-up.js +35 -77
  16. package/dist/core/mpc/mpa-top-up.js.map +1 -1
  17. package/dist/core/mpc/schemas.d.ts +20 -0
  18. package/dist/core/mpc/schemas.d.ts.map +1 -1
  19. package/dist/core/mpc/schemas.js +20 -0
  20. package/dist/core/mpc/schemas.js.map +1 -1
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp/index.d.ts +1 -1
  26. package/dist/mcp/index.d.ts.map +1 -1
  27. package/dist/mcp/index.js +1 -1
  28. package/dist/mcp/index.js.map +1 -1
  29. package/dist/mcp/mpc.d.ts.map +1 -1
  30. package/dist/mcp/mpc.js +4 -4
  31. package/dist/mcp/mpc.js.map +1 -1
  32. package/dist/mcp/register.d.ts +2 -2
  33. package/dist/mcp/register.d.ts.map +1 -1
  34. package/dist/mcp/register.js +2 -8
  35. package/dist/mcp/register.js.map +1 -1
  36. package/dist/mcp/resources/mpc.md +8 -8
  37. package/dist/mcp/resources/overview.md +2 -1
  38. package/dist/mcp/resources/technical-indicators.md +4 -2
  39. package/dist/mcp/resources/vpn.md +3 -1
  40. package/dist/mcp/server/http-transport.d.ts +6 -3
  41. package/dist/mcp/server/http-transport.d.ts.map +1 -1
  42. package/dist/mcp/server/http-transport.js +38 -19
  43. package/dist/mcp/server/http-transport.js.map +1 -1
  44. package/dist/mcp/server/index.js +10 -1
  45. package/dist/mcp/server/index.js.map +1 -1
  46. package/dist/mcp/vpn.d.ts +3 -1
  47. package/dist/mcp/vpn.d.ts.map +1 -1
  48. package/dist/mcp/vpn.js +18 -0
  49. package/dist/mcp/vpn.js.map +1 -1
  50. package/package.json +1 -1
@@ -63,17 +63,17 @@ Shared optional fields on most create inputs: `purpose`, `useCustomGas`, `starti
63
63
  ### MPA wallet (Linea)
64
64
 
65
65
  - `get_mpa_wallet_status`
66
- - Read MPA wallet registration and signing credits for a KeyGen.
66
+ - Read MPA KeyGen billing status (node `/getFeeStatusByKeyGenId` merged with on-chain subscription).
67
67
  - Input: `keyGenId`.
68
- - Returns registration state, free transactions, deposit info, fee token, nonces, and optional error.
68
+ - Returns registration, credit pool (`remainingDeposit`, `remainingDepositWei`), monthly fee, `fundedForCurrentMonth`, signing credits, and pay-month hints (`canPayMonthFromCredit`, `payMonthDisabledReason`).
69
69
  - `create_mpa_top_up_multi_sign_request`
70
70
  - Create batch `multiSignRequest` (USDC `approve` on Linea fee token when needed + `deposit(string,string,uint256,uint256)` with deposit-only sentinel) to top up MPA KeyGen credits on Linea.
71
- - Input: `keyGenId`, `amountWei`; optional shared fields.
72
- - Fee token must be on the KeyGen executor. Does not activate the billing month.
71
+ - Input: `keyGenId`, `amountWei`; optional `activateBillingMonthAfterDeposit` (append `syncBilling` when month inactive and post-deposit pool covers monthly fee), shared fields.
72
+ - Fee token must be on the KeyGen executor. By default does not activate the billing month.
73
73
  - `create_mpa_sync_billing_multi_sign_request`
74
- - Activate KeyGen MPA billing month via `syncBilling(string,string,uint256)` when the credit pool covers the monthly fee.
74
+ - Pay/activate the current KeyGen billing month from the existing credit pool via `syncBilling(string,string,uint256)`.
75
75
  - Input: `keyGenId`; optional `globalNonce`, shared fields.
76
- - Uses node-reported global nonce or chain pending nonce when `globalNonce` is omitted.
76
+ - Requires inactive billing month and credit pool >= monthly fee. Uses node-reported global nonce or chain pending nonce when `globalNonce` is omitted.
77
77
  - `create_mpa_overage_purchase_multi_sign_request`
78
78
  - Purchase extra signing credits via `purchaseOverageSignatures(string,string,uint256)` after the billing month is active.
79
79
  - Input: `keyGenId`, `signatureCount`; optional shared fields.
@@ -90,9 +90,9 @@ Shared optional fields on most create inputs: `purpose`, `useCustomGas`, `starti
90
90
  - Input: `keyGenId`, `hostIpAddress`; optional `nodeKey`, shared fields.
91
91
  - KeyGen executor must be the VPN withdraw authority.
92
92
  - `get_mpa_vpn_status`
93
- - Read on-chain VPN billing registration and credit pool for a host IP.
93
+ - Read VPN MPA billing status (node `/getVpnFeeStatus` merged with on-chain subscription).
94
94
  - Input: `hostIpAddress`; optional `nodeKey`.
95
- - Returns registration state, credit pool, monthly fee, and active month info.
95
+ - Returns `vpnBillingRegistered`, `vpnBillingMonthActive`, credit pool, monthly fee, and pay-month hints (`canPayMonthFromCredit`, `payMonthDisabledReason`).
96
96
 
97
97
  ### Sign request lifecycle
98
98
 
@@ -19,7 +19,8 @@ This server helps an MCP client operate a Continuum node through safe, structure
19
19
  - Manage the token registry (`get_token_registry`, `add_to_token_registry`, `remove_from_token_registry`).
20
20
  - Manage the chain registry (`get_chain_registry`, `add_to_chain_registry`, `remove_from_chain_registry`).
21
21
  - Manage agent MCP servers on the node (`list_mcp_servers`, `add_mcp_server_from_catalog`, `get_mcp_server`, `add_mcp_server`, `remove_mcp_server`) — see `agent-mcp-servers.md`.
22
- - Compute technical indicators from price/volume arrays (`list_technical_indicators`, `calculate_technical_indicator`) — see `technical-indicators.md`.
22
+ - Optional **Technical indicators** MCP (catalog id `technical-indicators`, not loaded by default): add from catalog and enable **Initial load** when needed `list_technical_indicators`, `calculate_technical_indicator`.
23
+ - Optional **VPN** MCP (catalog id `vpn`, not loaded by default): admin WireGuard and peer egress tools — add from catalog and enable **Initial load** when needed. MPA VPN billing multisign tools remain on this server (`mpc.md`).
23
24
  - Provide signed management route tools that handle signing internally (never expose manual signing/plan steps to clients).
24
25
 
25
26
  ## Common node-operator loop
@@ -1,6 +1,8 @@
1
- # Technical indicators (continuum-mcp)
1
+ # Technical indicators (opt-in MCP)
2
2
 
3
- Tools on the builtin **continuum-mcp** server wrapping [fast-technical-indicators](https://www.npmjs.com/package/fast-technical-indicators). Call **`list_technical_indicators`** first to see required input profiles, then **`calculate_technical_indicator`**.
3
+ Catalog id **`technical-indicators`**: HTTP endpoint on **continuum-mcp** (`/mcp/ta`), **`initialLoad: false`** by default add from the node MCP catalog and enable **Initial load** when you want these tools in a session.
4
+
5
+ Tools wrapping [fast-technical-indicators](https://www.npmjs.com/package/fast-technical-indicators). Call **`list_technical_indicators`** first to see required input profiles, then **`calculate_technical_indicator`**.
4
6
 
5
7
  ## Input profiles
6
8
 
@@ -1,4 +1,6 @@
1
- # VPN (admin + egress)
1
+ # VPN (admin + egress, opt-in MCP)
2
+
3
+ Catalog id **`vpn`**: HTTP endpoint on **continuum-mcp** (`/mcp/vpn`), **`initialLoad: false`** by default — add from the node MCP catalog and enable **Initial load** when you want these tools in a session. MPA VPN billing multisign tools (`register_vpn_on_linea`, etc.) stay on the main **continuum** MCP server — see `mpc.md`.
2
4
 
3
5
  WireGuard admin VPN and peer egress flows on the attached node. Read tools use GET management API routes; write and download tools POST management-signed bodies with the preferred Ed25519 management key (same as agent skills and cron jobs).
4
6
 
@@ -1,12 +1,15 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export type CreateMcpServer = () => McpServer;
3
+ export type HttpMcpRoute = {
4
+ path: string;
5
+ createServer: CreateMcpServer;
6
+ };
3
7
  export type HttpTransportOptions = {
4
8
  host?: string;
5
9
  port?: number;
6
- path?: string;
7
10
  };
8
- export declare function startHttpTransportServer(createServer: CreateMcpServer, options?: HttpTransportOptions): Promise<{
9
- url: URL;
11
+ export declare function startHttpTransportServer(routes: HttpMcpRoute | HttpMcpRoute[], options?: HttpTransportOptions): Promise<{
12
+ urls: URL[];
10
13
  close: () => Promise<void>;
11
14
  }>;
12
15
  //# sourceMappingURL=http-transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAMvE,MAAM,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAkBF,wBAAsB,wBAAwB,CAC7C,YAAY,EAAE,eAAe,EAC7B,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAC,CAyJjD"}
1
+ {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAMvE,MAAM,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA0IF,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,EACrC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAC,CA8DpD"}
@@ -5,15 +5,12 @@ import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
5
5
  function resolveHttpOptions(options = {}) {
6
6
  const host = options.host ?? process.env['MCP_HTTP_HOST'] ?? '127.0.0.1';
7
7
  const port = Number(process.env['MCP_HTTP_PORT'] ?? process.env['MCP_PORT'] ?? '3000');
8
- const path = options.path ?? process.env['MCP_HTTP_PATH'] ?? '/mcp';
9
8
  if (!Number.isInteger(port) || port <= 0 || port > 65_535) {
10
9
  throw new Error(`Invalid MCP HTTP port: ${String(port)}`);
11
10
  }
12
- return { host, port, path };
11
+ return { host, port };
13
12
  }
14
- export async function startHttpTransportServer(createServer, options = {}) {
15
- const { host, port, path } = resolveHttpOptions(options);
16
- const app = createMcpExpressApp({ host });
13
+ function createMcpRouteHandlers(createServer) {
17
14
  const transports = {};
18
15
  const mcpPostHandler = async (req, res) => {
19
16
  const sessionIdHeader = req.headers['mcp-session-id'];
@@ -100,10 +97,36 @@ export async function startHttpTransportServer(createServer, options = {}) {
100
97
  }
101
98
  }
102
99
  };
103
- app.post(path, mcpPostHandler);
104
- app.get(path, mcpGetHandler);
105
- app.delete(path, mcpDeleteHandler);
106
- const url = new URL(`http://${host}:${port}${path}`);
100
+ const closeTransports = async () => {
101
+ for (const activeSessionId of Object.keys(transports)) {
102
+ try {
103
+ await transports[activeSessionId].close();
104
+ delete transports[activeSessionId];
105
+ }
106
+ catch (error) {
107
+ console.error(`Error closing transport for session ${activeSessionId}:`, error);
108
+ }
109
+ }
110
+ };
111
+ return { mcpPostHandler, mcpGetHandler, mcpDeleteHandler, closeTransports };
112
+ }
113
+ export async function startHttpTransportServer(routes, options = {}) {
114
+ const routeList = Array.isArray(routes) ? routes : [routes];
115
+ if (routeList.length === 0) {
116
+ throw new Error('At least one MCP HTTP route is required');
117
+ }
118
+ const { host, port } = resolveHttpOptions(options);
119
+ const app = createMcpExpressApp({ host });
120
+ const closeHandlers = [];
121
+ const urls = [];
122
+ for (const route of routeList) {
123
+ const { mcpPostHandler, mcpGetHandler, mcpDeleteHandler, closeTransports } = createMcpRouteHandlers(route.createServer);
124
+ app.post(route.path, mcpPostHandler);
125
+ app.get(route.path, mcpGetHandler);
126
+ app.delete(route.path, mcpDeleteHandler);
127
+ closeHandlers.push(closeTransports);
128
+ urls.push(new URL(`http://${host}:${port}${route.path}`));
129
+ }
107
130
  const httpServer = await new Promise((resolve, reject) => {
108
131
  const listener = app.listen(port, host, (error) => {
109
132
  if (error) {
@@ -113,16 +136,12 @@ export async function startHttpTransportServer(createServer, options = {}) {
113
136
  resolve(listener);
114
137
  });
115
138
  });
116
- console.error(`Continuum MCP Server listening on ${url.toString()}`);
139
+ for (const url of urls) {
140
+ console.error(`Continuum MCP Server listening on ${url.toString()}`);
141
+ }
117
142
  const close = async () => {
118
- for (const activeSessionId of Object.keys(transports)) {
119
- try {
120
- await transports[activeSessionId].close();
121
- delete transports[activeSessionId];
122
- }
123
- catch (error) {
124
- console.error(`Error closing transport for session ${activeSessionId}:`, error);
125
- }
143
+ for (const closeTransports of closeHandlers) {
144
+ await closeTransports();
126
145
  }
127
146
  await new Promise((resolve, reject) => {
128
147
  httpServer.close(error => {
@@ -141,6 +160,6 @@ export async function startHttpTransportServer(createServer, options = {}) {
141
160
  };
142
161
  process.on('SIGINT', shutdown);
143
162
  process.on('SIGTERM', shutdown);
144
- return { url, close };
163
+ return { urls, close };
145
164
  }
146
165
  //# sourceMappingURL=http-transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAC,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAC,6BAA6B,EAAC,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAWvE,SAAS,kBAAkB,CAC1B,UAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,CAClB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CACjE,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;IAEpE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,YAA6B,EAC7B,UAAgC,EAAE;IAElC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAkD,EAAE,CAAC;IAErE,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC3E,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC;QAEnB,IAAI,CAAC;YACJ,IAAI,SAAoD,CAAC;YAEzD,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAC7C,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE;wBAC5C,UAAU,CAAC,oBAAoB,CAAC,GAAG,SAAU,CAAC;oBAC/C,CAAC;iBACD,CAAC,CAAC;gBAEH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACxB,MAAM,GAAG,GAAG,SAAS,EAAE,SAAS,CAAC;oBACjC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACF,CAAC,CAAC;gBAEF,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO;YACR,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACN,IAAI,EAAE,CAAC,MAAM;wBACb,OAAO,EAAE,2CAA2C;qBACpD;oBACD,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACN,IAAI,EAAE,CAAC,MAAM;wBACb,OAAO,EAAE,uBAAuB;qBAChC;oBACD,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1E,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC;QAEnB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QAED,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAC7B,GAAY,EACZ,GAAa,EACG,EAAE;QAClB,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC;QAEnB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;YACzD,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACR,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACvC,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC;gBACJ,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1C,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACZ,uCAAuC,eAAe,GAAG,EACzD,KAAK,CACL,CAAC;YACH,CAAC;QACF,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACR,CAAC;gBACD,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC3B,KAAK,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,OAAO,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAC,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAC,6BAA6B,EAAC,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAevE,SAAS,kBAAkB,CAC1B,UAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,CAClB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CACjE,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA6B;IAM5D,MAAM,UAAU,GAAkD,EAAE,CAAC;IAErE,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC3E,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC;QAEnB,IAAI,CAAC;YACJ,IAAI,SAAoD,CAAC;YAEzD,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAC7C,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE;wBAC5C,UAAU,CAAC,oBAAoB,CAAC,GAAG,SAAU,CAAC;oBAC/C,CAAC;iBACD,CAAC,CAAC;gBAEH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACxB,MAAM,GAAG,GAAG,SAAS,EAAE,SAAS,CAAC;oBACjC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;gBACF,CAAC,CAAC;gBAEF,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO;YACR,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACN,IAAI,EAAE,CAAC,MAAM;wBACb,OAAO,EAAE,2CAA2C;qBACpD;oBACD,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACN,IAAI,EAAE,CAAC,MAAM;wBACb,OAAO,EAAE,uBAAuB;qBAChC;oBACD,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1E,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC;QAEnB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QAED,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAC7B,GAAY,EACZ,GAAa,EACG,EAAE;QAClB,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,eAAe,CAAC;QAEnB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,IAAmB,EAAE;QACjD,KAAK,MAAM,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC;gBACJ,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1C,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACZ,uCAAuC,eAAe,GAAG,EACzD,KAAK,CACL,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,MAAqC,EACrC,UAAgC,EAAE;IAElC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;IACxC,MAAM,aAAa,GAA+B,EAAE,CAAC;IACrD,MAAM,IAAI,GAAU,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,EAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAC,GACvE,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE5C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACnC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACzC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;YACzD,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACR,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACvC,KAAK,MAAM,eAAe,IAAI,aAAa,EAAE,CAAC;YAC7C,MAAM,eAAe,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,KAAK,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACR,CAAC;gBACD,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC3B,KAAK,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;AACtB,CAAC"}
@@ -1,9 +1,18 @@
1
1
  import { createContinuumMcpServer } from '../register.js';
2
+ import { createTaMcpServer } from '../ta/register.js';
3
+ import { createVpnMcpServer } from '../vpn.js';
2
4
  import { nodeSdkConfigFromEnv } from './config-from-env.js';
3
5
  import { startHttpTransportServer } from './http-transport.js';
4
6
  async function main() {
5
7
  const config = nodeSdkConfigFromEnv();
6
- await startHttpTransportServer(() => createContinuumMcpServer(config));
8
+ const mainPath = process.env['MCP_HTTP_PATH'] ?? '/mcp';
9
+ const taPath = process.env['MCP_HTTP_TA_PATH'] ?? '/mcp/ta';
10
+ const vpnPath = process.env['MCP_HTTP_VPN_PATH'] ?? '/mcp/vpn';
11
+ await startHttpTransportServer([
12
+ { path: mainPath, createServer: () => createContinuumMcpServer(config) },
13
+ { path: taPath, createServer: () => createTaMcpServer() },
14
+ { path: vpnPath, createServer: () => createVpnMcpServer(config) },
15
+ ]);
7
16
  }
8
17
  main().catch(error => {
9
18
  console.error('Fatal error in main():', error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,wBAAwB,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC;IAE/D,MAAM,wBAAwB,CAAC;QAC9B,EAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAC;QACtE,EAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAC;QACvD,EAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAC;KAC/D,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
package/dist/mcp/vpn.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { NodeSdkConfig } from '../config/schema.js';
3
3
  export declare function registerVpnTools(server: McpServer, config: NodeSdkConfig): void;
4
+ export declare function registerVpnResources(server: McpServer): void;
5
+ export declare function createVpnMcpServer(config: NodeSdkConfig): McpServer;
4
6
  //# sourceMappingURL=vpn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vpn.d.ts","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AA8DvD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA8G/E"}
1
+ {"version":3,"file":"vpn.d.ts","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAElE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AA+DvD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA8G/E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAO5D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAiBnE"}
package/dist/mcp/vpn.js CHANGED
@@ -1,7 +1,9 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
2
  import { z } from 'zod';
2
3
  import { getVpnStatus, setVpnEnabled, downloadVpnAdminClientConfig } from '../core/vpn/vpn-admin.js';
3
4
  import { getVpnEgressStatus, listVpnEgressExits, setVpnEgressSharing, revokeVpnEgressPeer, downloadVpnEgressClientConfig, } from '../core/vpn/vpn-egress.js';
4
5
  import { DownloadVpnAdminClientConfigInputSchema, DownloadVpnEgressClientConfigInputSchema, ListVpnEgressExitsOutputSchema, RevokeVpnEgressPeerInputSchema, SetVpnEgressSharingInputSchema, SetVpnEnabledInputSchema, VpnDownloadOutputSchema, VpnEgressStatusSchema, VpnSignedActionOutputSchema, VpnStatusSchema, } from '../core/vpn/schemas.js';
6
+ import { registerMcpMarkdownResource } from './mcp-resources.js';
5
7
  import { camelToSnake, sdkResultToCallToolResult, wrapSdk } from './tool-utils.js';
6
8
  function summarizeVpnStatus(status) {
7
9
  return {
@@ -104,4 +106,20 @@ export function registerVpnTools(server, config) {
104
106
  outputSchema: VpnDownloadOutputSchema,
105
107
  }, async (input) => wrapSdk(downloadVpnEgressClientConfig(config, input)));
106
108
  }
109
+ export function registerVpnResources(server) {
110
+ registerMcpMarkdownResource(server, 'vpn_docs', 'vpn.md', 'Admin VPN and peer egress: enable/disable, client configs, sharing, revoke.');
111
+ }
112
+ export function createVpnMcpServer(config) {
113
+ const server = new McpServer({
114
+ name: 'continuum-vpn-mcp',
115
+ version: '1.0.0',
116
+ }, {
117
+ capabilities: {
118
+ tools: {},
119
+ },
120
+ });
121
+ registerVpnTools(server, config);
122
+ registerVpnResources(server);
123
+ return server;
124
+ }
107
125
  //# sourceMappingURL=vpn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vpn.js","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AACnG,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACN,uCAAuC,EACvC,wCAAwC,EACxC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAEjF,SAAS,kBAAkB,CAAC,MAAqB;IAChD,OAAO;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAChC,MAA2B;IAE3B,OAAO;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAqB;IACxE,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,cAAc,CAAC,EAC5B;QACC,WAAW,EACV,8HAA8H;QAC/H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,eAAe;KAC7B,EACD,KAAK,IAAI,EAAE;QACV,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACrF,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,eAAe,CAAC,EAC7B;QACC,WAAW,EACV,qQAAqQ;QACtQ,WAAW,EAAE,wBAAwB;QACrC,YAAY,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAAC;YAChC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;gBAC1B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB;gBAClD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc;aAC1C;SACD,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,8BAA8B,CAAC,EAC5C;QACC,WAAW,EACV,gPAAgP;QACjP,WAAW,EAAE,uCAAuC;QACpD,YAAY,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,wHAAwH;QACzH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,qBAAqB;KACnC,EACD,KAAK,IAAI,EAAE;QACV,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAAC;YAChC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;SAC3C,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,wKAAwK;QACzK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,8BAA8B;KAC5C,EACD,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,qBAAqB,CAAC,EACnC;QACC,WAAW,EACV,qMAAqM;QACtM,WAAW,EAAE,8BAA8B;QAC3C,YAAY,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,qBAAqB,CAAC,EACnC;QACC,WAAW,EACV,qGAAqG;QACtG,WAAW,EAAE,8BAA8B;QAC3C,YAAY,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,+BAA+B,CAAC,EAC7C;QACC,WAAW,EACV,0PAA0P;QAC3P,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACpE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"vpn.js","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AACnG,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACN,uCAAuC,EACvC,wCAAwC,EACxC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,2BAA2B,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAEjF,SAAS,kBAAkB,CAAC,MAAqB;IAChD,OAAO;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAChC,MAA2B;IAE3B,OAAO;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAqB;IACxE,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,cAAc,CAAC,EAC5B;QACC,WAAW,EACV,8HAA8H;QAC/H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,eAAe;KAC7B,EACD,KAAK,IAAI,EAAE;QACV,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACrF,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,eAAe,CAAC,EAC7B;QACC,WAAW,EACV,qQAAqQ;QACtQ,WAAW,EAAE,wBAAwB;QACrC,YAAY,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAAC;YAChC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;gBAC1B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB;gBAClD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc;aAC1C;SACD,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,8BAA8B,CAAC,EAC5C;QACC,WAAW,EACV,gPAAgP;QACjP,WAAW,EAAE,uCAAuC;QACpD,YAAY,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,wHAAwH;QACzH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,qBAAqB;KACnC,EACD,KAAK,IAAI,EAAE;QACV,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAAC;YAChC,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;SAC3C,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,wKAAwK;QACzK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,8BAA8B;KAC5C,EACD,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAC/C,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,qBAAqB,CAAC,EACnC;QACC,WAAW,EACV,qMAAqM;QACtM,WAAW,EAAE,8BAA8B;QAC3C,YAAY,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,qBAAqB,CAAC,EACnC;QACC,WAAW,EACV,qGAAqG;QACtG,WAAW,EAAE,8BAA8B;QAC3C,YAAY,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,+BAA+B,CAAC,EAC7C;QACC,WAAW,EACV,0PAA0P;QAC3P,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACpE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACrD,2BAA2B,CAC1B,MAAM,EACN,UAAU,EACV,QAAQ,EACR,6EAA6E,CAC7E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAqB;IACvD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B;QACC,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;KAChB,EACD;QACC,YAAY,EAAE;YACb,KAAK,EAAE,EAAE;SACT;KACD,CACD,CAAC;IAEF,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@continuumdao/continuum-node-sdk",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "JSON SDK for the Continuum node client management API",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/ContinuumDAO/continuum-node-sdk#readme",