@continuumdao/continuum-node-sdk 1.2.28 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/mpa-wallet.d.ts +60 -29
- package/dist/config/mpa-wallet.d.ts.map +1 -1
- package/dist/config/mpa-wallet.js +35 -13
- package/dist/config/mpa-wallet.js.map +1 -1
- package/dist/config/paths.d.ts +2 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +12 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/core/mpc/mpa-billing-ops.d.ts +29 -0
- package/dist/core/mpc/mpa-billing-ops.d.ts.map +1 -0
- package/dist/core/mpc/mpa-billing-ops.js +473 -0
- package/dist/core/mpc/mpa-billing-ops.js.map +1 -0
- package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
- package/dist/core/mpc/mpa-top-up.js +17 -25
- package/dist/core/mpc/mpa-top-up.js.map +1 -1
- package/dist/core/mpc/register-keygen.d.ts.map +1 -1
- package/dist/core/mpc/register-keygen.js +1 -6
- package/dist/core/mpc/register-keygen.js.map +1 -1
- package/dist/core/mpc/schemas.d.ts +47 -0
- package/dist/core/mpc/schemas.d.ts.map +1 -1
- package/dist/core/mpc/schemas.js +35 -0
- package/dist/core/mpc/schemas.js.map +1 -1
- package/dist/core/ta/calculate.d.ts +15 -0
- package/dist/core/ta/calculate.d.ts.map +1 -0
- package/dist/core/ta/calculate.js +275 -0
- package/dist/core/ta/calculate.js.map +1 -0
- package/dist/core/ta/catalog.d.ts +26 -0
- package/dist/core/ta/catalog.d.ts.map +1 -0
- package/dist/core/ta/catalog.js +215 -0
- package/dist/core/ta/catalog.js.map +1 -0
- package/dist/core/ta/index.d.ts +5 -0
- package/dist/core/ta/index.d.ts.map +1 -0
- package/dist/core/ta/index.js +5 -0
- package/dist/core/ta/index.js.map +1 -0
- package/dist/core/ta/normalize-input.d.ts +30 -0
- package/dist/core/ta/normalize-input.d.ts.map +1 -0
- package/dist/core/ta/normalize-input.js +193 -0
- package/dist/core/ta/normalize-input.js.map +1 -0
- package/dist/core/ta/schemas.d.ts +151 -0
- package/dist/core/ta/schemas.d.ts.map +1 -0
- package/dist/core/ta/schemas.js +95 -0
- package/dist/core/ta/schemas.js.map +1 -0
- package/dist/core/vpn/schemas.d.ts +181 -0
- package/dist/core/vpn/schemas.d.ts.map +1 -0
- package/dist/core/vpn/schemas.js +112 -0
- package/dist/core/vpn/schemas.js.map +1 -0
- package/dist/core/vpn/vpn-admin.d.ts +22 -0
- package/dist/core/vpn/vpn-admin.d.ts.map +1 -0
- package/dist/core/vpn/vpn-admin.js +88 -0
- package/dist/core/vpn/vpn-admin.js.map +1 -0
- package/dist/core/vpn/vpn-egress.d.ts +30 -0
- package/dist/core/vpn/vpn-egress.d.ts.map +1 -0
- package/dist/core/vpn/vpn-egress.js +91 -0
- package/dist/core/vpn/vpn-egress.js.map +1 -0
- package/dist/core/vpn/vpn-files.d.ts +14 -0
- package/dist/core/vpn/vpn-files.d.ts.map +1 -0
- package/dist/core/vpn/vpn-files.js +32 -0
- package/dist/core/vpn/vpn-files.js.map +1 -0
- package/dist/core/vpn/vpn-host-binding.d.ts +4 -0
- package/dist/core/vpn/vpn-host-binding.d.ts.map +1 -0
- package/dist/core/vpn/vpn-host-binding.js +6 -0
- package/dist/core/vpn/vpn-host-binding.js.map +1 -0
- package/dist/core/vpn/vpn-parse.d.ts +115 -0
- package/dist/core/vpn/vpn-parse.d.ts.map +1 -0
- package/dist/core/vpn/vpn-parse.js +238 -0
- package/dist/core/vpn/vpn-parse.js.map +1 -0
- package/dist/core/vpn/vpn-signed.d.ts +13 -0
- package/dist/core/vpn/vpn-signed.d.ts.map +1 -0
- package/dist/core/vpn/vpn-signed.js +39 -0
- package/dist/core/vpn/vpn-signed.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- 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/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +33 -2
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/register.d.ts +1 -0
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +4 -0
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/ta/register.d.ts +6 -0
- package/dist/mcp/ta/register.d.ts.map +1 -0
- package/dist/mcp/ta/register.js +51 -0
- package/dist/mcp/ta/register.js.map +1 -0
- package/dist/mcp/ta/resources/indicators.md +86 -0
- package/dist/mcp/ta-server/index.d.ts +2 -0
- package/dist/mcp/ta-server/index.d.ts.map +1 -0
- package/dist/mcp/ta-server/index.js +12 -0
- package/dist/mcp/ta-server/index.js.map +1 -0
- package/dist/mcp/vpn.d.ts +4 -0
- package/dist/mcp/vpn.d.ts.map +1 -0
- package/dist/mcp/vpn.js +107 -0
- package/dist/mcp/vpn.js.map +1 -0
- package/package.json +7 -1
package/dist/mcp/register.js
CHANGED
|
@@ -11,6 +11,7 @@ import { registerAddressBookTools } from './registry/address-book.js';
|
|
|
11
11
|
import { registerChainRegistryTools } from './registry/networks.js';
|
|
12
12
|
import { registerTokenRegistryTools } from './registry/tokens.js';
|
|
13
13
|
import { registerMpcTools } from './mpc.js';
|
|
14
|
+
import { registerVpnTools } from './vpn.js';
|
|
14
15
|
import { registerAgentMcpServerTools } from './agent-mcp-servers.js';
|
|
15
16
|
import { registerAgentEnvironmentVariableTools } from './agent-environment-variables.js';
|
|
16
17
|
import { registerAgentCronJobTools } from './agent-cron-jobs.js';
|
|
@@ -28,6 +29,7 @@ export function registerContinuumTools(server, config, defiContext) {
|
|
|
28
29
|
registerTokenRegistryTools(server, config);
|
|
29
30
|
registerChainRegistryTools(server, config);
|
|
30
31
|
registerMpcTools(server, config);
|
|
32
|
+
registerVpnTools(server, config);
|
|
31
33
|
registerAgentMcpServerTools(server, config);
|
|
32
34
|
registerAgentEnvironmentVariableTools(server, config);
|
|
33
35
|
registerAgentCronJobTools(server, config);
|
|
@@ -76,6 +78,7 @@ export function createContinuumMcpServer(config, options = {}) {
|
|
|
76
78
|
registerMarkdownResource('token_registry_docs', 'registry/tokens.md', 'Saved token registry tools and workflows.');
|
|
77
79
|
registerMarkdownResource('chain_registry_docs', 'registry/networks.md', 'Chain registry tools and workflows.');
|
|
78
80
|
registerMarkdownResource('mpc_docs', 'mpc.md', 'MPC multi-sign requests, Get Sig, Execute, and MPA workflows.');
|
|
81
|
+
registerMarkdownResource('vpn_docs', 'vpn.md', 'Admin VPN and peer egress: enable/disable, client configs, sharing, revoke.');
|
|
79
82
|
registerMarkdownResource('agent_mcp_servers_docs', 'agent-mcp-servers.md', 'Agent MCP server catalog: list, add, and remove node MCP integrations.');
|
|
80
83
|
registerMarkdownResource('agent_cron_jobs_docs', 'agent-cron-jobs.md', 'Agent cron jobs: scheduled agent tasks, run history, and lifecycle.');
|
|
81
84
|
registerMarkdownResource('agent_webhooks_docs', 'agent-webhooks.md', 'Agent inbound webhooks: list, add, activate, and test HTTP hook jobs.');
|
|
@@ -96,6 +99,7 @@ export { registerAddressBookTools } from './registry/address-book.js';
|
|
|
96
99
|
export { registerTokenRegistryTools } from './registry/tokens.js';
|
|
97
100
|
export { registerChainRegistryTools } from './registry/networks.js';
|
|
98
101
|
export { registerMpcTools } from './mpc.js';
|
|
102
|
+
export { registerVpnTools } from './vpn.js';
|
|
99
103
|
export { registerAgentMcpServerTools } from './agent-mcp-servers.js';
|
|
100
104
|
export { registerAgentCronJobTools } from './agent-cron-jobs.js';
|
|
101
105
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { mcpStructuredContent } from '../tool-utils.js';
|
|
3
|
+
export declare function registerTaTools(server: McpServer): void;
|
|
4
|
+
export declare function createTaMcpServer(): McpServer;
|
|
5
|
+
export { mcpStructuredContent };
|
|
6
|
+
//# sourceMappingURL=register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAclE,OAAO,EAAC,oBAAoB,EAA4B,MAAM,kBAAkB,CAAC;AAIjF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBvD;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAuC7C;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { promises as fs } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { calculateTechnicalIndicator, listTechnicalIndicators, } from '../../core/ta/calculate.js';
|
|
7
|
+
import { CalculateTechnicalIndicatorInputSchema, CalculateTechnicalIndicatorOutputSchema, ListTechnicalIndicatorsOutputSchema, } from '../../core/ta/schemas.js';
|
|
8
|
+
import { mcpStructuredContent, sdkResultToCallToolResult } from '../tool-utils.js';
|
|
9
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
export function registerTaTools(server) {
|
|
11
|
+
server.registerTool('list_technical_indicators', {
|
|
12
|
+
description: 'List technical indicators available via calculate_technical_indicator: id, category, inputProfile, defaultParams, outputKind. Call this before computing.',
|
|
13
|
+
inputSchema: z.object({}).strict(),
|
|
14
|
+
outputSchema: ListTechnicalIndicatorsOutputSchema,
|
|
15
|
+
}, async () => sdkResultToCallToolResult(listTechnicalIndicators()));
|
|
16
|
+
server.registerTool('calculate_technical_indicator', {
|
|
17
|
+
description: 'Compute one technical indicator from time series or OHLC(V) arrays. Use list_technical_indicators for inputProfile requirements. Supports params (period, stdDev, etc.), options.trimWarmup, options.maxPoints.',
|
|
18
|
+
inputSchema: CalculateTechnicalIndicatorInputSchema,
|
|
19
|
+
outputSchema: CalculateTechnicalIndicatorOutputSchema,
|
|
20
|
+
}, async (input) => sdkResultToCallToolResult(calculateTechnicalIndicator(input)));
|
|
21
|
+
}
|
|
22
|
+
export function createTaMcpServer() {
|
|
23
|
+
const server = new McpServer({
|
|
24
|
+
name: 'continuum-ta-mcp',
|
|
25
|
+
version: '1.0.0',
|
|
26
|
+
}, {
|
|
27
|
+
capabilities: {
|
|
28
|
+
tools: {},
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
registerTaTools(server);
|
|
32
|
+
const resourcePath = path.join(__dirname, 'resources', 'indicators.md');
|
|
33
|
+
server.registerResource('technical-indicators', 'docs://technical-indicators', {
|
|
34
|
+
description: 'Technical indicators MCP usage: input profiles, warmup semantics, and examples.',
|
|
35
|
+
mimeType: 'text/markdown',
|
|
36
|
+
}, async () => {
|
|
37
|
+
const text = await fs.readFile(resourcePath, 'utf8');
|
|
38
|
+
return {
|
|
39
|
+
contents: [
|
|
40
|
+
{
|
|
41
|
+
uri: 'docs://technical-indicators',
|
|
42
|
+
mimeType: 'text/markdown',
|
|
43
|
+
text,
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
return server;
|
|
49
|
+
}
|
|
50
|
+
export { mcpStructuredContent };
|
|
51
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAC,QAAQ,IAAI,EAAE,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,sCAAsC,EACtC,uCAAuC,EACvC,mCAAmC,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAEjF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,UAAU,eAAe,CAAC,MAAiB;IAChD,MAAM,CAAC,YAAY,CAClB,2BAA2B,EAC3B;QACC,WAAW,EACV,2JAA2J;QAC5J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,mCAAmC;KACjD,EACD,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,uBAAuB,EAAE,CAAC,CAChE,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,+BAA+B,EAC/B;QACC,WAAW,EACV,iNAAiN;QAClN,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,uCAAuC;KACrD,EACD,KAAK,EAAE,KAA6D,EAAE,EAAE,CACvE,yBAAyB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B;QACC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KAChB,EACD;QACC,YAAY,EAAE;YACb,KAAK,EAAE,EAAE;SACT;KACD,CACD,CAAC;IAEF,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,CAAC,gBAAgB,CACtB,sBAAsB,EACtB,6BAA6B,EAC7B;QACC,WAAW,EACV,iFAAiF;QAClF,QAAQ,EAAE,eAAe;KACzB,EACD,KAAK,IAAI,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO;YACN,QAAQ,EAAE;gBACT;oBACC,GAAG,EAAE,6BAA6B;oBAClC,QAAQ,EAAE,eAAe;oBACzB,IAAI;iBACJ;aACD;SACD,CAAC;IACH,CAAC,CACD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Technical indicators MCP
|
|
2
|
+
|
|
3
|
+
Stateless 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
|
+
|
|
5
|
+
## Input profiles
|
|
6
|
+
|
|
7
|
+
| Profile | Provide in `input` |
|
|
8
|
+
|---------|-------------------|
|
|
9
|
+
| `close_series` | `values` or `close`, or `candles[]` (close extracted) |
|
|
10
|
+
| `ohl_series` | `high`, `low` |
|
|
11
|
+
| `ohlc_series` | `high`, `low`, `close` |
|
|
12
|
+
| `hlcv_series` | `high`, `low`, `close`, `volume` |
|
|
13
|
+
| `ohlcv_series` | `open`, `high`, `low`, `close`, `volume` |
|
|
14
|
+
| `close_volume_series` | `close` (or `values`), `volume` |
|
|
15
|
+
| `candle_objects` | `candles[]` with `{ open, high, low, close, volume? }` |
|
|
16
|
+
| `range_scalar` | `range: { high, low, trend? }` |
|
|
17
|
+
| `dual_series` | `valuesA`, `valuesB` |
|
|
18
|
+
| `special` | `renko`: `candles[]` + `params.brickSize`; `fibonacciProjection`: `values`/`close` + `swingPoints` |
|
|
19
|
+
|
|
20
|
+
All array fields must have equal length where applicable. Max series length defaults to **50_000** (`TA_MCP_MAX_SERIES_LENGTH`).
|
|
21
|
+
|
|
22
|
+
## Warmup
|
|
23
|
+
|
|
24
|
+
Many indicators return `undefined` for initial bars until enough history exists. The response includes **`warmupCount`**. Set **`options.trimWarmup: true`** to drop leading empty slots from **`result`**.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### SMA (close series)
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"indicator": "sma",
|
|
33
|
+
"params": { "period": 3 },
|
|
34
|
+
"input": { "values": [1, 2, 3, 4, 5] },
|
|
35
|
+
"options": { "trimWarmup": true }
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Stochastic (OHLC)
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"indicator": "stochastic",
|
|
44
|
+
"params": { "period": 14, "signalPeriod": 3 },
|
|
45
|
+
"input": {
|
|
46
|
+
"high": [48.7, 48.9, 49.0],
|
|
47
|
+
"low": [47.8, 48.1, 48.2],
|
|
48
|
+
"close": [48.2, 48.6, 48.8]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### MACD (objects output)
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"indicator": "macd",
|
|
58
|
+
"input": { "values": [44, 44.5, 45, 44.8, 45.2] }
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Fibonacci retracement (levels)
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"indicator": "fibonacci",
|
|
67
|
+
"input": { "range": { "high": 100, "low": 80, "trend": "up" } }
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Doji pattern (booleans)
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"indicator": "doji",
|
|
76
|
+
"input": {
|
|
77
|
+
"candles": [
|
|
78
|
+
{ "open": 10, "high": 11, "low": 9, "close": 10.05 }
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Aliases
|
|
85
|
+
|
|
86
|
+
Some indicators accept alternate names (e.g. `ichimokucloud` → `ichimokukinkouhyou`, `keltnerchannels` → `keltnerchannel`, `fibonacciretracement` → `fibonacci`). The response **`indicator`** field always uses the canonical id.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/ta-server/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
+
import { createTaMcpServer } from '../ta/register.js';
|
|
3
|
+
async function main() {
|
|
4
|
+
const server = createTaMcpServer();
|
|
5
|
+
const transport = new StdioServerTransport();
|
|
6
|
+
await server.connect(transport);
|
|
7
|
+
}
|
|
8
|
+
main().catch(error => {
|
|
9
|
+
console.error('Fatal error in ta-mcp main():', error);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/ta-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +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"}
|
package/dist/mcp/vpn.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getVpnStatus, setVpnEnabled, downloadVpnAdminClientConfig } from '../core/vpn/vpn-admin.js';
|
|
3
|
+
import { getVpnEgressStatus, listVpnEgressExits, setVpnEgressSharing, revokeVpnEgressPeer, downloadVpnEgressClientConfig, } from '../core/vpn/vpn-egress.js';
|
|
4
|
+
import { DownloadVpnAdminClientConfigInputSchema, DownloadVpnEgressClientConfigInputSchema, ListVpnEgressExitsOutputSchema, RevokeVpnEgressPeerInputSchema, SetVpnEgressSharingInputSchema, SetVpnEnabledInputSchema, VpnDownloadOutputSchema, VpnEgressStatusSchema, VpnSignedActionOutputSchema, VpnStatusSchema, } from '../core/vpn/schemas.js';
|
|
5
|
+
import { camelToSnake, sdkResultToCallToolResult, wrapSdk } from './tool-utils.js';
|
|
6
|
+
function summarizeVpnStatus(status) {
|
|
7
|
+
return {
|
|
8
|
+
available: status.available,
|
|
9
|
+
installed: status.installed,
|
|
10
|
+
active: status.active,
|
|
11
|
+
listenPort: status.listenPort,
|
|
12
|
+
endpointHost: status.endpointHost,
|
|
13
|
+
profiles: status.profiles,
|
|
14
|
+
profile: status.profile,
|
|
15
|
+
obfuscation: status.obfuscation,
|
|
16
|
+
clientConfigured: status.clientConfigured,
|
|
17
|
+
vpnBillingRegistered: status.vpnBillingRegistered,
|
|
18
|
+
vpnBillingMonthActive: status.vpnBillingMonthActive,
|
|
19
|
+
message: status.message,
|
|
20
|
+
lastError: status.lastError,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function summarizeVpnEgressStatus(status) {
|
|
24
|
+
return {
|
|
25
|
+
available: status.available,
|
|
26
|
+
active: status.active,
|
|
27
|
+
sharingEnabled: status.sharingEnabled,
|
|
28
|
+
listenPort: status.listenPort,
|
|
29
|
+
endpointHost: status.endpointHost,
|
|
30
|
+
countryCode: status.countryCode,
|
|
31
|
+
defaultRateLimitMbps: status.defaultRateLimitMbps,
|
|
32
|
+
obfuscation: status.obfuscation,
|
|
33
|
+
peerCount: status.peerCount,
|
|
34
|
+
vpnBillingRegistered: status.vpnBillingRegistered,
|
|
35
|
+
vpnBillingMonthActive: status.vpnBillingMonthActive,
|
|
36
|
+
message: status.message,
|
|
37
|
+
lastError: status.lastError,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export function registerVpnTools(server, config) {
|
|
41
|
+
server.registerTool(camelToSnake('getVpnStatus'), {
|
|
42
|
+
description: 'Read admin WireGuard VPN status for this node (GET /vpn/status): availability, active profile, obfuscation, billing summary.',
|
|
43
|
+
inputSchema: z.object({}).strict(),
|
|
44
|
+
outputSchema: VpnStatusSchema,
|
|
45
|
+
}, async () => {
|
|
46
|
+
const result = await getVpnStatus(config);
|
|
47
|
+
if (!result.ok)
|
|
48
|
+
return sdkResultToCallToolResult(result);
|
|
49
|
+
return sdkResultToCallToolResult({ ok: true, data: summarizeVpnStatus(result.data) });
|
|
50
|
+
});
|
|
51
|
+
server.registerTool(camelToSnake('setVpnEnabled'), {
|
|
52
|
+
description: 'Enable or disable admin WireGuard VPN on this node (POST /vpn/setEnabled, management-signed). When enabling, optional profile (split|full, default full) and obfuscation (none, shadowsocks, wg_obfuscator, lwo, udp2raw). Writes systemd pending file on the host.',
|
|
53
|
+
inputSchema: SetVpnEnabledInputSchema,
|
|
54
|
+
outputSchema: VpnSignedActionOutputSchema,
|
|
55
|
+
}, async (input) => {
|
|
56
|
+
const result = await setVpnEnabled(config, input);
|
|
57
|
+
if (!result.ok)
|
|
58
|
+
return sdkResultToCallToolResult(result);
|
|
59
|
+
return sdkResultToCallToolResult({
|
|
60
|
+
ok: true,
|
|
61
|
+
data: {
|
|
62
|
+
result: result.data.result,
|
|
63
|
+
selectedSigningKey: result.data.selectedSigningKey,
|
|
64
|
+
signingMessage: result.data.signingMessage,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
server.registerTool(camelToSnake('downloadVpnAdminClientConfig'), {
|
|
69
|
+
description: 'Request admin VPN WireGuard client config (POST /vpn/clientConfig, management-signed) and save files under user_folder (default MPC_AUTH_USER_FOLDER=/app/user_folder). Returns saved paths for WireGuard and optional transport proxy config.',
|
|
70
|
+
inputSchema: DownloadVpnAdminClientConfigInputSchema,
|
|
71
|
+
outputSchema: VpnDownloadOutputSchema,
|
|
72
|
+
}, async (input) => wrapSdk(downloadVpnAdminClientConfig(config, input)));
|
|
73
|
+
server.registerTool(camelToSnake('getVpnEgressStatus'), {
|
|
74
|
+
description: 'Read egress VPN provider status on this node (GET /vpn/egress/status): sharing enabled, listen ports, billing summary.',
|
|
75
|
+
inputSchema: z.object({}).strict(),
|
|
76
|
+
outputSchema: VpnEgressStatusSchema,
|
|
77
|
+
}, async () => {
|
|
78
|
+
const result = await getVpnEgressStatus(config);
|
|
79
|
+
if (!result.ok)
|
|
80
|
+
return sdkResultToCallToolResult(result);
|
|
81
|
+
return sdkResultToCallToolResult({
|
|
82
|
+
ok: true,
|
|
83
|
+
data: summarizeVpnEgressStatus(result.data),
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
server.registerTool(camelToSnake('listVpnEgressExits'), {
|
|
87
|
+
description: 'List exit routes from other nodes available for consumer egress (GET /vpn/egress/availableExits). Use targetAddress from a row with download_vpn_egress_client_config.',
|
|
88
|
+
inputSchema: z.object({}).strict(),
|
|
89
|
+
outputSchema: ListVpnEgressExitsOutputSchema,
|
|
90
|
+
}, async () => wrapSdk(listVpnEgressExits(config)));
|
|
91
|
+
server.registerTool(camelToSnake('setVpnEgressSharing'), {
|
|
92
|
+
description: 'Apply egress sharing settings on this node (POST /vpn/egress/setSharing, management-signed). Controls whether peers can request egress configs, obfuscation transport, and default rate limit Mbps.',
|
|
93
|
+
inputSchema: SetVpnEgressSharingInputSchema,
|
|
94
|
+
outputSchema: VpnSignedActionOutputSchema,
|
|
95
|
+
}, async (input) => wrapSdk(setVpnEgressSharing(config, input)));
|
|
96
|
+
server.registerTool(camelToSnake('revokeVpnEgressPeer'), {
|
|
97
|
+
description: 'Revoke an issued egress peer by consumer node key (POST /vpn/egress/revokePeer, management-signed).',
|
|
98
|
+
inputSchema: RevokeVpnEgressPeerInputSchema,
|
|
99
|
+
outputSchema: VpnSignedActionOutputSchema,
|
|
100
|
+
}, async (input) => wrapSdk(revokeVpnEgressPeer(config, input)));
|
|
101
|
+
server.registerTool(camelToSnake('downloadVpnEgressClientConfig'), {
|
|
102
|
+
description: 'Request egress client config from a remote exit (POST /vpn/egress/requestClientConfig, management-signed) and save WireGuard (+ transport when obfuscated) files to user_folder. targetAddress is the exit peer HTTP address from list_vpn_egress_exits.',
|
|
103
|
+
inputSchema: DownloadVpnEgressClientConfigInputSchema,
|
|
104
|
+
outputSchema: VpnDownloadOutputSchema,
|
|
105
|
+
}, async (input) => wrapSdk(downloadVpnEgressClientConfig(config, input)));
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=vpn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vpn.js","sourceRoot":"","sources":["../../src/mcp/vpn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@continuumdao/continuum-node-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
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",
|
|
@@ -22,15 +22,20 @@
|
|
|
22
22
|
},
|
|
23
23
|
"main": "./dist/index.js",
|
|
24
24
|
"types": "./dist/index.d.ts",
|
|
25
|
+
"bin": {
|
|
26
|
+
"continuum-ta-mcp": "./dist/mcp/ta-server/index.js"
|
|
27
|
+
},
|
|
25
28
|
"files": [
|
|
26
29
|
"dist"
|
|
27
30
|
],
|
|
28
31
|
"scripts": {
|
|
29
32
|
"prebuild": "bash scripts/prebuild-sync-defi.sh",
|
|
30
33
|
"build": "tsc",
|
|
34
|
+
"postbuild": "mkdir -p dist/mcp/ta/resources && cp src/mcp/ta/resources/indicators.md dist/mcp/ta/resources/indicators.md",
|
|
31
35
|
"prepublishOnly": "npm run build",
|
|
32
36
|
"test": "npm run build && node --experimental-strip-types --test 'test/**/*.test.ts'",
|
|
33
37
|
"mcp:start": "node dist/mcp/server/index.js",
|
|
38
|
+
"mcp:ta:start": "node dist/mcp/ta-server/index.js",
|
|
34
39
|
"sync-vendor-defi": "bash scripts/sync-vendor-defi.sh"
|
|
35
40
|
},
|
|
36
41
|
"dependencies": {
|
|
@@ -38,6 +43,7 @@
|
|
|
38
43
|
"@curvefi/api": "^2.69.2",
|
|
39
44
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
40
45
|
"express": "^5.2.1",
|
|
46
|
+
"fast-technical-indicators": "^1.1.4",
|
|
41
47
|
"viem": "^2.51.0",
|
|
42
48
|
"zod": "^4.4.3"
|
|
43
49
|
},
|