@continuumdao/continuum-node-sdk 1.3.1 → 1.3.2
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/mcp/index.d.ts +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/register.d.ts +2 -2
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +2 -8
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/resources/overview.md +2 -1
- package/dist/mcp/resources/technical-indicators.md +4 -2
- package/dist/mcp/resources/vpn.md +3 -1
- package/dist/mcp/server/http-transport.d.ts +6 -3
- package/dist/mcp/server/http-transport.d.ts.map +1 -1
- package/dist/mcp/server/http-transport.js +38 -19
- package/dist/mcp/server/http-transport.js.map +1 -1
- package/dist/mcp/server/index.js +10 -1
- package/dist/mcp/server/index.js.map +1 -1
- package/dist/mcp/vpn.d.ts +3 -1
- package/dist/mcp/vpn.d.ts.map +1 -1
- package/dist/mcp/vpn.js +18 -0
- package/dist/mcp/vpn.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, registerTaTools, registerTaResources, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
|
|
1
|
+
export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, registerVpnResources, createVpnMcpServer, registerTaTools, registerTaResources, createTaMcpServer, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
|
|
2
2
|
export { DefiProtocolContext, registerDefiDiscoveryTools, registerAllDefiProtocolTools, markProtocolLoaded, type CreateContinuumMcpServerOptions, } from './defi/index.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,+BAA+B,GACpC,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,+BAA+B,GACpC,MAAM,iBAAiB,CAAC"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, registerTaTools, registerTaResources, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
|
|
1
|
+
export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, registerVpnResources, createVpnMcpServer, registerTaTools, registerTaResources, createTaMcpServer, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
|
|
2
2
|
export { DefiProtocolContext, registerDefiDiscoveryTools, registerAllDefiProtocolTools, markProtocolLoaded, } from './defi/index.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,GAElB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,GAElB,MAAM,iBAAiB,CAAC"}
|
package/dist/mcp/register.d.ts
CHANGED
|
@@ -12,8 +12,8 @@ export { registerAddressBookTools } from './registry/address-book.js';
|
|
|
12
12
|
export { registerTokenRegistryTools } from './registry/tokens.js';
|
|
13
13
|
export { registerChainRegistryTools } from './registry/networks.js';
|
|
14
14
|
export { registerMpcTools } from './mpc.js';
|
|
15
|
-
export { registerVpnTools } from './vpn.js';
|
|
16
|
-
export { registerTaTools, registerTaResources } from './ta/register.js';
|
|
15
|
+
export { registerVpnTools, registerVpnResources, createVpnMcpServer, } from './vpn.js';
|
|
16
|
+
export { registerTaTools, registerTaResources, createTaMcpServer } from './ta/register.js';
|
|
17
17
|
export { registerAgentMcpServerTools } from './agent-mcp-servers.js';
|
|
18
18
|
export { registerAgentCronJobTools } from './agent-cron-jobs.js';
|
|
19
19
|
export { registerAgentWebhookTools } from './agent-webhooks.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACN,mBAAmB,EACnB,KAAK,+BAA+B,EACpC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACN,mBAAmB,EACnB,KAAK,+BAA+B,EACpC,MAAM,mBAAmB,CAAC;AAmB3B,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,mBAAmB,GAC/B,IAAI,CAmBN;AAED,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,+BAAoC,GAC3C,SAAS,CAwGX;AAED,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AACrE,OAAO,EAAC,4BAA4B,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACN,6BAA6B,EAC7B,0BAA0B,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,yBAAyB,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC"}
|
package/dist/mcp/register.js
CHANGED
|
@@ -12,8 +12,6 @@ import { registerAddressBookTools } from './registry/address-book.js';
|
|
|
12
12
|
import { registerChainRegistryTools } from './registry/networks.js';
|
|
13
13
|
import { registerTokenRegistryTools } from './registry/tokens.js';
|
|
14
14
|
import { registerMpcTools } from './mpc.js';
|
|
15
|
-
import { registerTaResources, registerTaTools } from './ta/register.js';
|
|
16
|
-
import { registerVpnTools } from './vpn.js';
|
|
17
15
|
import { registerAgentMcpServerTools } from './agent-mcp-servers.js';
|
|
18
16
|
import { registerAgentEnvironmentVariableTools } from './agent-environment-variables.js';
|
|
19
17
|
import { registerAgentCronJobTools } from './agent-cron-jobs.js';
|
|
@@ -29,8 +27,6 @@ export function registerContinuumTools(server, config, defiContext) {
|
|
|
29
27
|
registerTokenRegistryTools(server, config);
|
|
30
28
|
registerChainRegistryTools(server, config);
|
|
31
29
|
registerMpcTools(server, config);
|
|
32
|
-
registerVpnTools(server, config);
|
|
33
|
-
registerTaTools(server);
|
|
34
30
|
registerAgentMcpServerTools(server, config);
|
|
35
31
|
registerAgentEnvironmentVariableTools(server, config);
|
|
36
32
|
registerAgentCronJobTools(server, config);
|
|
@@ -63,8 +59,6 @@ export function createContinuumMcpServer(config, options = {}) {
|
|
|
63
59
|
registerMcpMarkdownResource(server, 'token_registry_docs', 'registry/tokens.md', 'Saved token registry tools and workflows.');
|
|
64
60
|
registerMcpMarkdownResource(server, 'chain_registry_docs', 'registry/networks.md', 'Chain registry tools and workflows.');
|
|
65
61
|
registerMcpMarkdownResource(server, 'mpc_docs', 'mpc.md', 'MPC multi-sign requests, Get Sig, Execute, and MPA workflows.');
|
|
66
|
-
registerMcpMarkdownResource(server, 'vpn_docs', 'vpn.md', 'Admin VPN and peer egress: enable/disable, client configs, sharing, revoke.');
|
|
67
|
-
registerTaResources(server);
|
|
68
62
|
registerMcpMarkdownResource(server, 'agent_mcp_servers_docs', 'agent-mcp-servers.md', 'Agent MCP server catalog: list, add, and remove node MCP integrations.');
|
|
69
63
|
registerMcpMarkdownResource(server, 'agent_cron_jobs_docs', 'agent-cron-jobs.md', 'Agent cron jobs: scheduled agent tasks, run history, and lifecycle.');
|
|
70
64
|
registerMcpMarkdownResource(server, 'agent_webhooks_docs', 'agent-webhooks.md', 'Agent inbound webhooks: list, add, activate, and test HTTP hook jobs.');
|
|
@@ -85,8 +79,8 @@ export { registerAddressBookTools } from './registry/address-book.js';
|
|
|
85
79
|
export { registerTokenRegistryTools } from './registry/tokens.js';
|
|
86
80
|
export { registerChainRegistryTools } from './registry/networks.js';
|
|
87
81
|
export { registerMpcTools } from './mpc.js';
|
|
88
|
-
export { registerVpnTools } from './vpn.js';
|
|
89
|
-
export { registerTaTools, registerTaResources } from './ta/register.js';
|
|
82
|
+
export { registerVpnTools, registerVpnResources, createVpnMcpServer, } from './vpn.js';
|
|
83
|
+
export { registerTaTools, registerTaResources, createTaMcpServer } from './ta/register.js';
|
|
90
84
|
export { registerAgentMcpServerTools } from './agent-mcp-servers.js';
|
|
91
85
|
export { registerAgentCronJobTools } from './agent-cron-jobs.js';
|
|
92
86
|
export { registerAgentWebhookTools } from './agent-webhooks.js';
|
package/dist/mcp/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAElE,OAAO,EACN,mBAAmB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,4BAA4B,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,6BAA6B,EAAC,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAC,2BAA2B,EAAC,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
-
|
|
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 (
|
|
1
|
+
# Technical indicators (opt-in MCP)
|
|
2
2
|
|
|
3
|
-
|
|
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(
|
|
9
|
-
|
|
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,
|
|
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
|
|
11
|
+
return { host, port };
|
|
13
12
|
}
|
|
14
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
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
|
|
119
|
-
|
|
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 {
|
|
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;
|
|
1
|
+
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server/index.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
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
|
|
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
|
package/dist/mcp/vpn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpn.d.ts","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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
|
package/dist/mcp/vpn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpn.js","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vpn.js","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED