@runonflux/flux-cloud-mcp 0.2.1 → 0.2.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.
package/README.md CHANGED
@@ -121,11 +121,12 @@ flux_wait_for_app -> accepted at height 2941560, 3/3 instances running
121
121
 
122
122
  ## How a deployment works
123
123
 
124
- 1. The spec is verified by a FluxOS node exactly as it will be at
125
- registration (image reachable, architecture, ports, name free).
124
+ 1. The spec is verified through `api.runonflux.io` exactly as it will be at
125
+ registration (image reachable, architecture, ports, name free). If the
126
+ balancer refuses, a few healthy nodes are probed and tried in turn.
126
127
  2. The network quotes the USD price; the server checks the payer's balance.
127
- 3. With `confirm=true` the Flux ID signs the spec, one node broadcasts it to
128
- the network and returns a 64-character message hash.
128
+ 3. With `confirm=true` the Flux ID signs the spec, the same endpoint
129
+ broadcasts it to the network and returns a 64-character message hash.
129
130
  4. The payment address sends the quoted FLUX to the network deployment
130
131
  address with the hash in an OP_RETURN output. Right before signing, the
131
132
  amount is re-checked against a freshly fetched price table, because an
@@ -146,7 +147,7 @@ hosts that cannot start a local process (claude.ai connectors, ChatGPT,
146
147
  browser and mobile agents). Add it as a remote MCP server:
147
148
 
148
149
  ```
149
- https://mcp.runonflux.com/mcp
150
+ https://mcp.runonflux.com/mcp (also https://mcp.runonflux.io/mcp)
150
151
  ```
151
152
 
152
153
  The hosted server holds no keys. Read-only tools need none. Tools that sign
package/dist/deploy.d.ts CHANGED
@@ -40,13 +40,18 @@ export interface Location {
40
40
  }
41
41
  export declare function appLocations(client: FluxClient, name: string): Promise<Location[]>;
42
42
  /**
43
- * Pick a node that can take the registration: enough peers, ArcaneOS when
44
- * the spec is enterprise, and honouring a pinned FLUX_NODE_URL.
43
+ * Where to send a registration. The load balancer at FLUX_API_URL comes
44
+ * first: sessions are self-signed and valid on every node, so no affinity is
45
+ * needed and it is the most reliable front door. If it refuses, a few healthy
46
+ * nodes from the deterministic list are probed and tried in turn. Enterprise
47
+ * specs skip the balancer, since only ArcaneOS nodes can decrypt them. A
48
+ * pinned FLUX_NODE_URL is used alone.
45
49
  */
46
- export declare function selectNode(config: Config, { arcane, log }?: {
50
+ export declare function selectNodes(config: Config, { arcane, count, log, }?: {
47
51
  arcane?: boolean;
52
+ count?: number;
48
53
  log?: (m: string) => void;
49
- }): Promise<FluxClient>;
54
+ }): Promise<Array<() => Promise<FluxClient[]>>>;
50
55
  export interface EnterpriseInput {
51
56
  compose: AppComponent[];
52
57
  contacts: string[];
package/dist/deploy.js CHANGED
@@ -53,14 +53,29 @@ export async function appLocations(client, name) {
53
53
  return raw.status === 'success' && Array.isArray(raw.data) ? raw.data : [];
54
54
  }
55
55
  /**
56
- * Pick a node that can take the registration: enough peers, ArcaneOS when
57
- * the spec is enterprise, and honouring a pinned FLUX_NODE_URL.
56
+ * Where to send a registration. The load balancer at FLUX_API_URL comes
57
+ * first: sessions are self-signed and valid on every node, so no affinity is
58
+ * needed and it is the most reliable front door. If it refuses, a few healthy
59
+ * nodes from the deterministic list are probed and tried in turn. Enterprise
60
+ * specs skip the balancer, since only ArcaneOS nodes can decrypt them. A
61
+ * pinned FLUX_NODE_URL is used alone.
58
62
  */
59
- export async function selectNode(config, { arcane = false, log = () => { } } = {}) {
60
- if (config.nodeUrl)
61
- return new FluxClient(config.nodeUrl, config.requestTimeoutMs);
62
- const [node] = await findHealthyNodes(api(config), 1, { arcane, log });
63
- return node.client;
63
+ export async function selectNodes(config, { arcane = false, count = 3, log = () => { }, } = {}) {
64
+ if (config.nodeUrl) {
65
+ return [async () => [new FluxClient(config.nodeUrl, config.requestTimeoutMs)]];
66
+ }
67
+ const probe = async () => {
68
+ const nodes = await findHealthyNodes(api(config), count, { arcane, log });
69
+ return nodes.map((node) => node.client);
70
+ };
71
+ if (arcane)
72
+ return [probe];
73
+ return [async () => [api(config)], probe];
74
+ }
75
+ /** Whether an error means "this node cannot serve right now" rather than "the request is wrong". */
76
+ function isNodeSideFailure(error) {
77
+ const message = error instanceof Error ? error.message : String(error);
78
+ return /Unavailable|still reconciling|ECONNRESET|ECONNREFUSED|timeout|timed out|HTTP 5\d\d|fetch failed/i.test(message);
64
79
  }
65
80
  /**
66
81
  * Everything needed to decide whether a deployment can proceed, without
@@ -75,25 +90,52 @@ export async function plan(config, input, options = {}) {
75
90
  const errors = validateSpecification(options.enterprise ? { ...spec, compose: options.enterprise.compose } : spec);
76
91
  if (errors.length)
77
92
  throw new Error(`Specification is not valid:\n- ${errors.join('\n- ')}`);
78
- const [previous, node] = await Promise.all([
93
+ const [previous, nodeSources] = await Promise.all([
79
94
  publishedSpec(lb, spec.name),
80
- selectNode(config, { arcane: isEnterprise, log }),
95
+ selectNodes(config, { arcane: isEnterprise, log }),
81
96
  ]);
82
97
  const action = previous ? 'update' : 'register';
83
98
  if (previous && previous.owner !== wallet.owner.zelid) {
84
99
  throw new Error(`${spec.name} is already registered on the network by ${previous.owner}. Pick another name.`);
85
100
  }
86
- let candidate = spec;
87
- if (options.enterprise) {
88
- const session = currentSession(wallet.owner.wif);
89
- candidate = await encryptEnterprise(node, session, spec, options.enterprise);
90
- log('enterprise components encrypted for the network');
91
- }
92
101
  const verifyPath = action === 'update'
93
102
  ? '/apps/verifyappupdatespecifications'
94
103
  : '/apps/verifyappregistrationspecifications';
95
- const formatted = await node.post(verifyPath, candidate, { timeoutMs: 120000 });
96
- log(`node validated the specification (${action})`);
104
+ // Try the balancer, then probed nodes; a validation error is final, a
105
+ // node-side failure moves on to the next candidate.
106
+ let node;
107
+ let candidate = spec;
108
+ let formatted;
109
+ let lastError;
110
+ for (const source of nodeSources) {
111
+ if (node)
112
+ break;
113
+ for (const attempt of await source()) {
114
+ try {
115
+ let toVerify = spec;
116
+ if (options.enterprise) {
117
+ const session = currentSession(wallet.owner.wif);
118
+ toVerify = await encryptEnterprise(attempt, session, spec, options.enterprise);
119
+ }
120
+ formatted = await attempt.post(verifyPath, toVerify, { timeoutMs: 120000 });
121
+ candidate = toVerify;
122
+ node = attempt;
123
+ break;
124
+ }
125
+ catch (error) {
126
+ lastError = error;
127
+ if (!isNodeSideFailure(error))
128
+ throw error;
129
+ log(`${attempt.baseUrl} could not verify (${error.message}), trying another node`);
130
+ }
131
+ }
132
+ }
133
+ if (!node || !formatted) {
134
+ throw new Error(`No node could verify the specification: ${lastError instanceof Error ? lastError.message : String(lastError)}. Try again in a minute.`);
135
+ }
136
+ if (options.enterprise)
137
+ log('enterprise components encrypted for the network');
138
+ log(`node ${node.baseUrl} validated the specification (${action})`);
97
139
  const [quote, deployment, info, balance] = await Promise.all([
98
140
  quoteFromNetwork(lb, candidate),
99
141
  lb.get('/apps/deploymentinformation', { timeoutMs: 30000 }),
@@ -200,7 +242,8 @@ export async function waitForApp(config, name, options = {}) {
200
242
  instances = await appLocations(lb, name);
201
243
  const wanted = accepted?.instances ?? 0;
202
244
  const done = Boolean(accepted) && instances.length >= wanted;
203
- if (done || Date.now() >= deadline) {
245
+ const remaining = deadline - Date.now();
246
+ if (done || remaining <= 1000) {
204
247
  return {
205
248
  accepted,
206
249
  paymentConfirmations: confirmations,
@@ -210,7 +253,7 @@ export async function waitForApp(config, name, options = {}) {
210
253
  timedOut: !done,
211
254
  };
212
255
  }
213
- await sleep(pollMs);
256
+ await sleep(Math.min(pollMs, remaining));
214
257
  }
215
258
  }
216
259
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -8,7 +8,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
8
8
  import type { Config } from './config.js';
9
9
  import { walletFromConfig } from './deploy.js';
10
10
  export declare const SERVER_NAME = "flux-cloud";
11
- export declare const SERVER_VERSION = "0.2.1";
11
+ export declare const SERVER_VERSION = "0.2.3";
12
12
  export interface ServerOptions {
13
13
  /**
14
14
  * Hosted mode: the server holds no keys. Tools that need them take
package/dist/server.js CHANGED
@@ -14,7 +14,7 @@ import { currentSession, generateIdentity, identityFromWif } from './keys.js';
14
14
  import { DEFAULT_USD_RATES, estimateQuote, fetchFluxUsdRate, fetchUsdRates, quoteFromNetwork, } from './pricing.js';
15
15
  import { BLOCKS_PER_MONTH, buildSpecification, componentsOf, durabilityWarnings, expireOf, formatSpecification, normalizePublished, validateSpecification, } from './spec.js';
16
16
  export const SERVER_NAME = 'flux-cloud';
17
- export const SERVER_VERSION = '0.2.1';
17
+ export const SERVER_VERSION = '0.2.3';
18
18
  // ---------------------------------------------------------------------------
19
19
  // Schemas shared by several tools
20
20
  // ---------------------------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runonflux/flux-cloud-mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "MCP server for Flux Cloud. Lets any AI agent quote, deploy, pay for, inspect and manage apps on the Flux decentralized cloud, priced in USD.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -68,5 +68,6 @@
68
68
  "homepage": "https://github.com/RunOnFlux/flux-cloud-mcp#readme",
69
69
  "bugs": {
70
70
  "url": "https://github.com/RunOnFlux/flux-cloud-mcp/issues"
71
- }
71
+ },
72
+ "mcpName": "io.github.runonflux/flux-cloud-mcp"
72
73
  }