@runonflux/flux-cloud-mcp 0.1.1 → 0.2.1
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 +30 -0
- package/dist/http.d.ts +12 -0
- package/dist/http.js +94 -0
- package/dist/http.js.map +1 -0
- package/dist/server.d.ts +10 -2
- package/dist/server.js +96 -51
- package/dist/server.js.map +1 -1
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -139,6 +139,36 @@ term. Private (enterprise) apps are supported through the `enterprise`
|
|
|
139
139
|
argument: components are encrypted for the network and only ArcaneOS nodes
|
|
140
140
|
can run them.
|
|
141
141
|
|
|
142
|
+
## Hosted server: mcp.runonflux.com
|
|
143
|
+
|
|
144
|
+
The same server also runs on Flux Cloud itself, over Streamable HTTP, for
|
|
145
|
+
hosts that cannot start a local process (claude.ai connectors, ChatGPT,
|
|
146
|
+
browser and mobile agents). Add it as a remote MCP server:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
https://mcp.runonflux.com/mcp
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The hosted server holds no keys. Read-only tools need none. Tools that sign
|
|
153
|
+
or pay take `fluxIdPrivateKey` and `paymentPrivateKey` as call arguments,
|
|
154
|
+
used in memory for that call and never logged or stored. The server's
|
|
155
|
+
instructions tell agents to create a dedicated pair with `flux_generate_keys`
|
|
156
|
+
and to have the user fund only what a deployment needs, rather than asking
|
|
157
|
+
for the keys of a wallet used elsewhere. Anything typed into a chat passes
|
|
158
|
+
through the AI vendor and the host's history, so treat such a pair as
|
|
159
|
+
disposable and keep its balance small. For larger budgets, run the local
|
|
160
|
+
server, where keys never leave your machine.
|
|
161
|
+
|
|
162
|
+
Run your own copy with Docker:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
docker run -p 3000:3000 runonflux/flux-cloud-mcp
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
It is stateless, so any number of instances can sit behind one load balancer.
|
|
169
|
+
`GET /healthz` reports liveness. The Flux app specification that runs the
|
|
170
|
+
public instance is in `deploy/cloudmcp.json`.
|
|
171
|
+
|
|
142
172
|
## Configuration
|
|
143
173
|
|
|
144
174
|
| Variable | Default | Purpose |
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Hosted entry point: the same server over Streamable HTTP, stateless.
|
|
4
|
+
*
|
|
5
|
+
* Every POST /mcp gets a fresh server and transport, so any instance behind a
|
|
6
|
+
* load balancer can answer any request and nothing lives between calls. The
|
|
7
|
+
* process holds no keys; tools that need them take them as arguments.
|
|
8
|
+
*
|
|
9
|
+
* Responses stream as SSE with a 10 s keepalive, which keeps Flux's domain
|
|
10
|
+
* gateway (25 s inactivity timeout) from cutting long tool calls.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Hosted entry point: the same server over Streamable HTTP, stateless.
|
|
4
|
+
*
|
|
5
|
+
* Every POST /mcp gets a fresh server and transport, so any instance behind a
|
|
6
|
+
* load balancer can answer any request and nothing lives between calls. The
|
|
7
|
+
* process holds no keys; tools that need them take them as arguments.
|
|
8
|
+
*
|
|
9
|
+
* Responses stream as SSE with a 10 s keepalive, which keeps Flux's domain
|
|
10
|
+
* gateway (25 s inactivity timeout) from cutting long tool calls.
|
|
11
|
+
*/
|
|
12
|
+
import { createServer as createHttpServer } from 'node:http';
|
|
13
|
+
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
14
|
+
import { loadConfig } from './config.js';
|
|
15
|
+
import { createServer, SERVER_VERSION } from './server.js';
|
|
16
|
+
const config = loadConfig();
|
|
17
|
+
const port = Number(process.env.PORT ?? 3000);
|
|
18
|
+
const LANDING = `Flux Cloud MCP server ${SERVER_VERSION}
|
|
19
|
+
|
|
20
|
+
MCP endpoint: POST /mcp (Streamable HTTP, stateless)
|
|
21
|
+
Health: GET /healthz
|
|
22
|
+
|
|
23
|
+
Add it to your MCP host as a remote server with the URL <this host>/mcp.
|
|
24
|
+
Read-only tools need no keys. To deploy, the agent creates a dedicated key
|
|
25
|
+
pair with flux_generate_keys and you fund its payment address.
|
|
26
|
+
|
|
27
|
+
Source and local (stdio) version: https://github.com/RunOnFlux/flux-cloud-mcp
|
|
28
|
+
`;
|
|
29
|
+
function cors(res) {
|
|
30
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
31
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
|
|
32
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, Mcp-Session-Id, Mcp-Protocol-Version');
|
|
33
|
+
res.setHeader('Access-Control-Expose-Headers', 'Mcp-Session-Id');
|
|
34
|
+
}
|
|
35
|
+
function json(res, status, body) {
|
|
36
|
+
res.writeHead(status, { 'Content-Type': 'application/json' });
|
|
37
|
+
res.end(JSON.stringify(body));
|
|
38
|
+
}
|
|
39
|
+
async function handleMcp(req, res) {
|
|
40
|
+
if (req.method !== 'POST') {
|
|
41
|
+
json(res, 405, {
|
|
42
|
+
jsonrpc: '2.0',
|
|
43
|
+
error: { code: -32000, message: 'Method not allowed: this server is stateless, use POST' },
|
|
44
|
+
id: null,
|
|
45
|
+
});
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const server = createServer(config, { hosted: true });
|
|
49
|
+
// No sessionIdGenerator: stateless mode.
|
|
50
|
+
const transport = new StreamableHTTPServerTransport({ keepAliveMs: 10000 });
|
|
51
|
+
res.on('close', () => {
|
|
52
|
+
void transport.close();
|
|
53
|
+
void server.close();
|
|
54
|
+
});
|
|
55
|
+
await server.connect(transport);
|
|
56
|
+
await transport.handleRequest(req, res);
|
|
57
|
+
}
|
|
58
|
+
const httpServer = createHttpServer((req, res) => {
|
|
59
|
+
cors(res);
|
|
60
|
+
const url = new URL(req.url ?? '/', 'http://localhost');
|
|
61
|
+
if (req.method === 'OPTIONS') {
|
|
62
|
+
res.writeHead(204);
|
|
63
|
+
res.end();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (url.pathname === '/mcp') {
|
|
67
|
+
handleMcp(req, res).catch((error) => {
|
|
68
|
+
process.stderr.write(`mcp request failed: ${error.message}\n`);
|
|
69
|
+
if (!res.headersSent) {
|
|
70
|
+
json(res, 500, {
|
|
71
|
+
jsonrpc: '2.0',
|
|
72
|
+
error: { code: -32603, message: 'Internal server error' },
|
|
73
|
+
id: null,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (url.pathname === '/healthz') {
|
|
80
|
+
json(res, 200, { status: 'ok', version: SERVER_VERSION });
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (url.pathname === '/') {
|
|
84
|
+
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
|
|
85
|
+
res.end(LANDING);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
res.writeHead(404);
|
|
89
|
+
res.end();
|
|
90
|
+
});
|
|
91
|
+
httpServer.listen(port, () => {
|
|
92
|
+
process.stderr.write(`flux-cloud-mcp http listening on :${port} (hosted mode, no keys held)\n`);
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAE9C,MAAM,OAAO,GAAG,yBAAyB,cAAc;;;;;;;;;;CAUtD,CAAC;AAEF,SAAS,IAAI,CAAC,GAAmB;IAC/B,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,CAAC;IAC5E,GAAG,CAAC,SAAS,CACX,8BAA8B,EAC9B,2EAA2E,CAC5E,CAAC;IACF,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,IAAI,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IAC9D,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAoB,EAAE,GAAmB;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACb,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,wDAAwD,EAAE;YAC1F,EAAE,EAAE,IAAI;SACT,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAwB,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;oBACb,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;oBACzD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACpE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,gCAAgC,CAAC,CAAC;AAClG,CAAC,CAAC,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -8,6 +8,14 @@ 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.
|
|
12
|
-
export
|
|
11
|
+
export declare const SERVER_VERSION = "0.2.1";
|
|
12
|
+
export interface ServerOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Hosted mode: the server holds no keys. Tools that need them take
|
|
15
|
+
* `fluxIdPrivateKey` and `paymentPrivateKey` as call arguments, used in
|
|
16
|
+
* memory for that call only and never logged or stored.
|
|
17
|
+
*/
|
|
18
|
+
hosted?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function createServer(baseConfig: Config, options?: ServerOptions): McpServer;
|
|
13
21
|
export { walletFromConfig };
|
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.
|
|
17
|
+
export const SERVER_VERSION = '0.2.1';
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
19
19
|
// Schemas shared by several tools
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
@@ -200,15 +200,46 @@ function urlsFor(spec, locations) {
|
|
|
200
200
|
});
|
|
201
201
|
return { shared, direct };
|
|
202
202
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
203
|
+
const KeysShape = {
|
|
204
|
+
fluxIdPrivateKey: z
|
|
205
|
+
.string()
|
|
206
|
+
.optional()
|
|
207
|
+
.describe('WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.'),
|
|
208
|
+
paymentPrivateKey: z
|
|
209
|
+
.string()
|
|
210
|
+
.optional()
|
|
211
|
+
.describe('WIF private key of the Flux address that pays. Fund it with only what you intend to spend.'),
|
|
212
|
+
};
|
|
213
|
+
function withKeys(base, args) {
|
|
214
|
+
return {
|
|
215
|
+
...base,
|
|
216
|
+
ownerWif: args.fluxIdPrivateKey?.trim() || base.ownerWif,
|
|
217
|
+
payerWif: args.paymentPrivateKey?.trim() || base.payerWif,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
const LOCAL_INSTRUCTIONS = 'Deploy and manage apps on Flux Cloud, the decentralized cloud. Read the flux://guide/overview resource first. ' +
|
|
221
|
+
'All prices are Flux Cloud USD prices (converted to FLUX for payment). Always show the user the USD quote from ' +
|
|
222
|
+
'flux_quote_app and get their agreement before calling flux_deploy_app with confirm=true, which spends FLUX.';
|
|
223
|
+
const HOSTED_INSTRUCTIONS = LOCAL_INSTRUCTIONS +
|
|
224
|
+
' This is the hosted server: it stores no keys. Read-only tools need none. Tools that sign or pay take ' +
|
|
225
|
+
'fluxIdPrivateKey and paymentPrivateKey as arguments, used only for that call. NEVER ask the user for the keys of ' +
|
|
226
|
+
'a wallet they use elsewhere: call flux_generate_keys to create a dedicated pair, tell the user to fund the payment ' +
|
|
227
|
+
'address with only the amount needed, and reuse that pair in later calls. Remind the user to save the keys.';
|
|
228
|
+
export function createServer(baseConfig, options = {}) {
|
|
229
|
+
const hosted = options.hosted === true;
|
|
230
|
+
const server = new McpServer({ name: SERVER_NAME, version: SERVER_VERSION }, { instructions: hosted ? HOSTED_INSTRUCTIONS : LOCAL_INSTRUCTIONS });
|
|
231
|
+
/**
|
|
232
|
+
* Register a tool whose handler receives the effective config: in hosted
|
|
233
|
+
* mode the call's own keys (if any) layered over the base config.
|
|
234
|
+
*/
|
|
235
|
+
function tool(name, meta, handler) {
|
|
236
|
+
const inputSchema = (hosted ? { ...meta.inputSchema, ...KeysShape } : meta.inputSchema);
|
|
237
|
+
const callback = (async (args) => {
|
|
238
|
+
const typed = args;
|
|
239
|
+
return handler(typed, withKeys(baseConfig, typed));
|
|
240
|
+
});
|
|
241
|
+
server.registerTool(name, { ...meta, inputSchema }, callback);
|
|
242
|
+
}
|
|
212
243
|
// ----- resources --------------------------------------------------------
|
|
213
244
|
const guides = [
|
|
214
245
|
[
|
|
@@ -264,7 +295,7 @@ export function createServer(config) {
|
|
|
264
295
|
* single-container apps are just `<app>`. Pick a running node when none is given.
|
|
265
296
|
*/
|
|
266
297
|
async function resolveContainer(name, component, nodeIp) {
|
|
267
|
-
const lb = api(
|
|
298
|
+
const lb = api(baseConfig);
|
|
268
299
|
const [spec, locations] = await Promise.all([publishedSpec(lb, name), appLocations(lb, name)]);
|
|
269
300
|
if (!spec)
|
|
270
301
|
throw new Error(`${name} is not registered on the network.`);
|
|
@@ -283,12 +314,12 @@ export function createServer(config) {
|
|
|
283
314
|
return { target, container };
|
|
284
315
|
}
|
|
285
316
|
// ----- identity ---------------------------------------------------------
|
|
286
|
-
|
|
317
|
+
tool('flux_get_identity', {
|
|
287
318
|
title: 'Show the configured Flux identity and balance',
|
|
288
319
|
description: 'Returns the Flux ID (app owner address), the payment address and its spendable FLUX balance with its USD value. ' +
|
|
289
320
|
'Explains what to configure if keys are missing. Never returns private keys.',
|
|
290
321
|
inputSchema: {},
|
|
291
|
-
}, async () => {
|
|
322
|
+
}, async (_args, config) => {
|
|
292
323
|
try {
|
|
293
324
|
const owner = config.ownerWif ? identityFromWif(config.ownerWif) : undefined;
|
|
294
325
|
const payer = config.payerWif ? identityFromWif(config.payerWif) : undefined;
|
|
@@ -315,7 +346,9 @@ export function createServer(config) {
|
|
|
315
346
|
...(owner && payer
|
|
316
347
|
? {}
|
|
317
348
|
: {
|
|
318
|
-
setup:
|
|
349
|
+
setup: hosted
|
|
350
|
+
? 'No keys were passed. Run flux_generate_keys once, then pass fluxIdPrivateKey and paymentPrivateKey to tools that need them.'
|
|
351
|
+
: 'Set FLUX_ID_PRIVATE_KEY (owner) and FLUX_PAYMENT_PRIVATE_KEY (payer) in the MCP server environment, or run flux_generate_keys.',
|
|
319
352
|
}),
|
|
320
353
|
...(payer && balance && balance.spendableFlux === 0
|
|
321
354
|
? {
|
|
@@ -328,33 +361,39 @@ export function createServer(config) {
|
|
|
328
361
|
return fail(error);
|
|
329
362
|
}
|
|
330
363
|
});
|
|
331
|
-
|
|
364
|
+
tool('flux_generate_keys', {
|
|
332
365
|
title: 'Generate a new Flux ID and payment key pair',
|
|
333
366
|
description: 'Creates two fresh private keys (WIF): one for the Flux ID that will own apps, one for the address that pays. ' +
|
|
334
367
|
'The response contains the secrets; store them in the MCP server environment as FLUX_ID_PRIVATE_KEY and ' +
|
|
335
368
|
'FLUX_PAYMENT_PRIVATE_KEY, then restart the server. Nothing is stored or sent anywhere by this tool.',
|
|
336
369
|
inputSchema: {},
|
|
337
|
-
}, async () => {
|
|
370
|
+
}, async (_args, _config) => {
|
|
338
371
|
const owner = generateIdentity();
|
|
339
372
|
const payer = generateIdentity();
|
|
340
373
|
return ok({
|
|
341
374
|
fluxId: { address: owner.zelid, privateKeyWif: owner.wif },
|
|
342
375
|
payment: { address: payer.fluxAddress, privateKeyWif: payer.wif },
|
|
343
376
|
env: { FLUX_ID_PRIVATE_KEY: owner.wif, FLUX_PAYMENT_PRIVATE_KEY: payer.wif },
|
|
344
|
-
next:
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
377
|
+
next: hosted
|
|
378
|
+
? [
|
|
379
|
+
'Show both private keys to the user and tell them to save them; they cannot be recovered.',
|
|
380
|
+
'Pass them as fluxIdPrivateKey and paymentPrivateKey in later tool calls.',
|
|
381
|
+
`The user funds ${payer.fluxAddress} with only the FLUX needed for their deployments.`,
|
|
382
|
+
]
|
|
383
|
+
: [
|
|
384
|
+
'Save both private keys somewhere safe; they cannot be recovered.',
|
|
385
|
+
'Put the env values into the MCP server configuration and restart it.',
|
|
386
|
+
`Send FLUX to ${payer.fluxAddress} to fund deployments.`,
|
|
387
|
+
],
|
|
349
388
|
});
|
|
350
389
|
});
|
|
351
390
|
// ----- pricing ----------------------------------------------------------
|
|
352
|
-
|
|
391
|
+
tool('flux_get_pricing', {
|
|
353
392
|
title: 'Get the Flux Cloud rate card',
|
|
354
393
|
description: 'Returns the current USD rate card, the live FLUX/USD rate, the pay-in-FLUX discount and instant USD estimates for ' +
|
|
355
394
|
'a few reference sizes. Use flux_quote_app for the exact price of a specific app.',
|
|
356
395
|
inputSchema: {},
|
|
357
|
-
}, async () => {
|
|
396
|
+
}, async (_args, config) => {
|
|
358
397
|
try {
|
|
359
398
|
const [rates, fluxUsd] = await Promise.all([
|
|
360
399
|
fetchUsdRates(config.statsUrl),
|
|
@@ -409,14 +448,20 @@ export function createServer(config) {
|
|
|
409
448
|
}
|
|
410
449
|
});
|
|
411
450
|
// ----- spec building & validation --------------------------------------
|
|
412
|
-
|
|
451
|
+
tool('flux_build_spec', {
|
|
413
452
|
title: 'Build a Flux app specification from a simple description',
|
|
414
453
|
description: 'Turns images, ports, resources and a term into a complete, correctly formatted v8 specification, with public ' +
|
|
415
454
|
'ports auto-picked and data replication enabled. Returns the spec plus local validation errors and warnings.',
|
|
416
|
-
inputSchema:
|
|
417
|
-
|
|
455
|
+
inputSchema: {
|
|
456
|
+
...SimpleAppSchema.shape,
|
|
457
|
+
owner: z
|
|
458
|
+
.string()
|
|
459
|
+
.optional()
|
|
460
|
+
.describe('Flux ID that will own the app. Defaults to the configured or passed key.'),
|
|
461
|
+
},
|
|
462
|
+
}, async ({ owner, ...input }, config) => {
|
|
418
463
|
try {
|
|
419
|
-
const spec = buildSpecification({ ...input, owner: ownerOf(config) });
|
|
464
|
+
const spec = buildSpecification({ ...input, owner: ownerOf(config, owner) });
|
|
420
465
|
const errors = validateSpecification(spec);
|
|
421
466
|
return ok({
|
|
422
467
|
spec,
|
|
@@ -430,7 +475,7 @@ export function createServer(config) {
|
|
|
430
475
|
return fail(error);
|
|
431
476
|
}
|
|
432
477
|
});
|
|
433
|
-
|
|
478
|
+
tool('flux_validate_spec', {
|
|
434
479
|
title: 'Validate a specification locally and on the network',
|
|
435
480
|
description: 'Runs the local rule checks, then asks a FluxOS node to verify the specification exactly as it would at registration ' +
|
|
436
481
|
'(image reachable, architecture, ports, name availability). Returns the node-formatted spec on success.',
|
|
@@ -438,7 +483,7 @@ export function createServer(config) {
|
|
|
438
483
|
spec: SpecSchema,
|
|
439
484
|
network: z.boolean().default(true).describe('Also verify on a FluxOS node.'),
|
|
440
485
|
},
|
|
441
|
-
}, async ({ spec, network }) => {
|
|
486
|
+
}, async ({ spec, network }, config) => {
|
|
442
487
|
try {
|
|
443
488
|
const formatted = formatSpecification({ ...spec, owner: ownerOf(config, spec.owner) });
|
|
444
489
|
const errors = validateSpecification(formatted);
|
|
@@ -474,12 +519,12 @@ export function createServer(config) {
|
|
|
474
519
|
return fail(error);
|
|
475
520
|
}
|
|
476
521
|
});
|
|
477
|
-
|
|
522
|
+
tool('flux_quote_app', {
|
|
478
523
|
title: 'Quote the price of an app in USD and FLUX',
|
|
479
524
|
description: 'Returns the Flux Cloud price for registering the given specification, or for updating it if an app of that name ' +
|
|
480
525
|
'already exists (the unused part of the current term is credited). Price is in USD with the FLUX amount at market rate.',
|
|
481
526
|
inputSchema: { spec: SpecSchema },
|
|
482
|
-
}, async ({ spec }) => {
|
|
527
|
+
}, async ({ spec }, config) => {
|
|
483
528
|
try {
|
|
484
529
|
const formatted = formatSpecification({ ...spec, owner: ownerOf(config, spec.owner) });
|
|
485
530
|
const errors = validateSpecification(formatted);
|
|
@@ -508,7 +553,7 @@ export function createServer(config) {
|
|
|
508
553
|
.optional()
|
|
509
554
|
.describe('Make the app private: these components and contacts are encrypted so only the nodes running the app can read them. ' +
|
|
510
555
|
'When set, spec.compose should be [] and spec.enterprise "".');
|
|
511
|
-
|
|
556
|
+
tool('flux_deploy_app', {
|
|
512
557
|
title: 'Deploy (register or update) an app and pay for it',
|
|
513
558
|
description: 'Validates the specification on a node, quotes it, and with confirm=true signs it with the Flux ID, broadcasts ' +
|
|
514
559
|
'it and pays the quoted FLUX from the payment address. Without confirm it only returns the plan (price, balance, ' +
|
|
@@ -522,7 +567,7 @@ export function createServer(config) {
|
|
|
522
567
|
.default(false)
|
|
523
568
|
.describe('Set true to actually sign, broadcast and pay.'),
|
|
524
569
|
},
|
|
525
|
-
}, async ({ spec, enterprise, confirm }) => {
|
|
570
|
+
}, async ({ spec, enterprise, confirm }, config) => {
|
|
526
571
|
const log = [];
|
|
527
572
|
try {
|
|
528
573
|
const enterpriseInput = enterprise
|
|
@@ -588,9 +633,9 @@ export function createServer(config) {
|
|
|
588
633
|
};
|
|
589
634
|
}
|
|
590
635
|
});
|
|
591
|
-
|
|
636
|
+
tool('flux_wait_for_app', {
|
|
592
637
|
title: 'Wait for a deployment to be accepted and its instances to run',
|
|
593
|
-
description: 'Polls the network for up to timeoutSeconds (default
|
|
638
|
+
description: 'Polls the network for up to timeoutSeconds (default 45 to fit hosts with a 60 s tool timeout, max 600). Returns payment confirmations, whether the ' +
|
|
594
639
|
'spec was accepted, and the running instances with URLs. Safe to call repeatedly until done=true.',
|
|
595
640
|
inputSchema: {
|
|
596
641
|
name: z.string(),
|
|
@@ -602,9 +647,9 @@ export function createServer(config) {
|
|
|
602
647
|
.string()
|
|
603
648
|
.optional()
|
|
604
649
|
.describe('For updates: the hash of the previous spec, so acceptance means a new hash.'),
|
|
605
|
-
timeoutSeconds: z.number().int().min(10).max(600).default(
|
|
650
|
+
timeoutSeconds: z.number().int().min(10).max(600).default(45),
|
|
606
651
|
},
|
|
607
|
-
}, async ({ name, txid, previousHash, timeoutSeconds }) => {
|
|
652
|
+
}, async ({ name, txid, previousHash, timeoutSeconds }, config) => {
|
|
608
653
|
try {
|
|
609
654
|
const result = await waitForApp(config, name, {
|
|
610
655
|
txid,
|
|
@@ -636,11 +681,11 @@ export function createServer(config) {
|
|
|
636
681
|
}
|
|
637
682
|
});
|
|
638
683
|
// ----- inspect ----------------------------------------------------------
|
|
639
|
-
|
|
684
|
+
tool('flux_get_app', {
|
|
640
685
|
title: 'Get a deployed app: spec, status, instances, URLs',
|
|
641
686
|
description: 'Looks up any app on the network by name and returns its published specification, expiry, running instances and URLs.',
|
|
642
687
|
inputSchema: { name: z.string() },
|
|
643
|
-
}, async ({ name }) => {
|
|
688
|
+
}, async ({ name }, config) => {
|
|
644
689
|
try {
|
|
645
690
|
const lb = api(config);
|
|
646
691
|
const [spec, locations, info] = await Promise.all([
|
|
@@ -673,14 +718,14 @@ export function createServer(config) {
|
|
|
673
718
|
return fail(error);
|
|
674
719
|
}
|
|
675
720
|
});
|
|
676
|
-
|
|
721
|
+
tool('flux_list_my_apps', {
|
|
677
722
|
title: 'List apps owned by the configured Flux ID',
|
|
678
723
|
description: 'Lists every app registered by the owner (or a given Flux ID) with expiry and instance counts.',
|
|
679
724
|
inputSchema: {
|
|
680
725
|
owner: z.string().optional().describe('Flux ID to list; defaults to the configured one.'),
|
|
681
726
|
nameContains: z.string().optional().describe('Only apps whose name contains this text.'),
|
|
682
727
|
},
|
|
683
|
-
}, async ({ owner, nameContains }) => {
|
|
728
|
+
}, async ({ owner, nameContains }, config) => {
|
|
684
729
|
try {
|
|
685
730
|
const zelid = ownerOf(config, owner);
|
|
686
731
|
const lb = api(config);
|
|
@@ -714,7 +759,7 @@ export function createServer(config) {
|
|
|
714
759
|
return fail(error);
|
|
715
760
|
}
|
|
716
761
|
});
|
|
717
|
-
|
|
762
|
+
tool('flux_get_app_logs', {
|
|
718
763
|
title: 'Read container logs from a running instance',
|
|
719
764
|
description: 'Fetches the last N log lines of an app (or one component of it) from one of the nodes running it. Requires the owner key.',
|
|
720
765
|
inputSchema: {
|
|
@@ -726,7 +771,7 @@ export function createServer(config) {
|
|
|
726
771
|
.optional()
|
|
727
772
|
.describe('ip[:port] of the instance; defaults to the first running one.'),
|
|
728
773
|
},
|
|
729
|
-
}, async ({ name, component, lines, nodeIp }) => {
|
|
774
|
+
}, async ({ name, component, lines, nodeIp }, config) => {
|
|
730
775
|
try {
|
|
731
776
|
const session = currentSession(requireOwnerWif(config));
|
|
732
777
|
const { target, container } = await resolveContainer(name, component, nodeIp);
|
|
@@ -741,7 +786,7 @@ export function createServer(config) {
|
|
|
741
786
|
return fail(error);
|
|
742
787
|
}
|
|
743
788
|
});
|
|
744
|
-
|
|
789
|
+
tool('flux_get_app_stats', {
|
|
745
790
|
title: 'Get live resource usage of a running instance',
|
|
746
791
|
description: 'CPU, memory and network stats of the containers of an app on one node. Requires the owner key.',
|
|
747
792
|
inputSchema: {
|
|
@@ -749,7 +794,7 @@ export function createServer(config) {
|
|
|
749
794
|
component: z.string().optional().describe('Component name for multi-component apps.'),
|
|
750
795
|
nodeIp: z.string().optional(),
|
|
751
796
|
},
|
|
752
|
-
}, async ({ name, component, nodeIp }) => {
|
|
797
|
+
}, async ({ name, component, nodeIp }, config) => {
|
|
753
798
|
try {
|
|
754
799
|
const session = currentSession(requireOwnerWif(config));
|
|
755
800
|
const { target, container } = await resolveContainer(name, component, nodeIp);
|
|
@@ -765,7 +810,7 @@ export function createServer(config) {
|
|
|
765
810
|
}
|
|
766
811
|
});
|
|
767
812
|
// ----- control ----------------------------------------------------------
|
|
768
|
-
|
|
813
|
+
tool('flux_control_app', {
|
|
769
814
|
title: 'Restart, redeploy or remove app instances',
|
|
770
815
|
description: 'restart: restarts containers. redeploy: pulls the image again and recreates containers (hard=true also wipes data). ' +
|
|
771
816
|
'remove: uninstalls from nodes; the registration stays and the network re-spawns it elsewhere, so use flux_cancel_app ' +
|
|
@@ -780,7 +825,7 @@ export function createServer(config) {
|
|
|
780
825
|
.describe('Required for scope=node; also the node the global command is sent through.'),
|
|
781
826
|
hard: z.boolean().default(false).describe('For redeploy: also delete the app data.'),
|
|
782
827
|
},
|
|
783
|
-
}, async ({ name, action, scope, nodeIp, hard }) => {
|
|
828
|
+
}, async ({ name, action, scope, nodeIp, hard }, config) => {
|
|
784
829
|
try {
|
|
785
830
|
const session = currentSession(requireOwnerWif(config));
|
|
786
831
|
const target = nodeIp ?? (await appLocations(api(config), name))[0]?.ip;
|
|
@@ -800,12 +845,12 @@ export function createServer(config) {
|
|
|
800
845
|
return fail(error);
|
|
801
846
|
}
|
|
802
847
|
});
|
|
803
|
-
|
|
848
|
+
tool('flux_cancel_app', {
|
|
804
849
|
title: 'Cancel an app (stop it and stop paying)',
|
|
805
850
|
description: 'Ends an app early by updating its term so it expires within about an hour. The network then uninstalls it everywhere. ' +
|
|
806
851
|
'With confirm=true this signs and pays the (usually minimal) update; without it, returns the plan.',
|
|
807
852
|
inputSchema: { name: z.string(), confirm: z.boolean().default(false) },
|
|
808
|
-
}, async ({ name, confirm }) => {
|
|
853
|
+
}, async ({ name, confirm }, config) => {
|
|
809
854
|
try {
|
|
810
855
|
const existing = await publishedSpec(api(config), name);
|
|
811
856
|
if (!existing)
|
|
@@ -839,11 +884,11 @@ export function createServer(config) {
|
|
|
839
884
|
}
|
|
840
885
|
});
|
|
841
886
|
// ----- network ----------------------------------------------------------
|
|
842
|
-
|
|
887
|
+
tool('flux_get_network_info', {
|
|
843
888
|
title: 'Network overview',
|
|
844
889
|
description: 'Node counts by tier, current block height, FLUX/USD rate and the deployment payment address.',
|
|
845
890
|
inputSchema: {},
|
|
846
|
-
}, async () => {
|
|
891
|
+
}, async (_args, config) => {
|
|
847
892
|
try {
|
|
848
893
|
const lb = api(config);
|
|
849
894
|
const [count, info, deployment, rate] = await Promise.all([
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runonflux/flux-cloud-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
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",
|
|
7
7
|
"bin": {
|
|
8
|
-
"flux-cloud-mcp": "dist/index.js"
|
|
8
|
+
"flux-cloud-mcp": "dist/index.js",
|
|
9
|
+
"flux-cloud-mcp-http": "dist/http.js"
|
|
9
10
|
},
|
|
10
11
|
"main": "dist/server.js",
|
|
11
12
|
"types": "dist/server.d.ts",
|
|
@@ -27,7 +28,9 @@
|
|
|
27
28
|
"test:live": "FLUX_LIVE_TESTS=1 node --test --import tsx test/live/*.test.ts",
|
|
28
29
|
"start": "node dist/index.js",
|
|
29
30
|
"dev": "tsx src/index.ts",
|
|
30
|
-
"prepublishOnly": "yarn type-check && yarn lint && yarn format:check && yarn build && yarn test"
|
|
31
|
+
"prepublishOnly": "yarn type-check && yarn lint && yarn format:check && yarn build && yarn test",
|
|
32
|
+
"start:http": "node dist/http.js",
|
|
33
|
+
"docker:build": "docker build --platform linux/amd64 -t runonflux/flux-cloud-mcp:$npm_package_version -t runonflux/flux-cloud-mcp:latest ."
|
|
31
34
|
},
|
|
32
35
|
"keywords": [
|
|
33
36
|
"flux",
|
|
@@ -41,7 +44,7 @@
|
|
|
41
44
|
],
|
|
42
45
|
"repository": {
|
|
43
46
|
"type": "git",
|
|
44
|
-
"url": "https://github.com/RunOnFlux/flux-cloud-mcp"
|
|
47
|
+
"url": "git+https://github.com/RunOnFlux/flux-cloud-mcp.git"
|
|
45
48
|
},
|
|
46
49
|
"dependencies": {
|
|
47
50
|
"@modelcontextprotocol/sdk": "1.30.0",
|