accueil / serveurs / Dev & Code / io.github.RunOnFlux/flux-cloud-mcp
io.github.RunOnFlux/flux-cloud-mcp
serveur MCP (Model Context Protocol) · flux-cloud 0.2.8
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.RunOnFlux/flux-cloud-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.RunOnFlux/flux-cloud-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 15 outils
- flux_build_spec≈ 825 tokens
Turns images, ports, resources and a term into a complete, correctly formatted v8 specification, with public ports auto-picked and data replication enabled. Returns the spec plus local validation errors and warnings.
Paramètres, retour & exemple (13)
Paramètresname· string · requis
Unique app name: letters, digits, inner hyphens. Not starting with "flux" or "zel".nodes· array · optionnelowner· string · optionnel
Flux ID that will own the app. Defaults to the configured or passed key.months· number · optionnel
Term in network months (88000 blocks each). Default 1.contacts· array · optionnelstaticip· boolean · optionnelinstances· integer · optionnel
Copies on distinct nodes. Default 3.components· array · requisdescription· string · optionnelgeolocation· array · optionnelexpireBlocks· integer · optionnel
Exact term in blocks; overrides months.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_build_spec", "arguments": {"name": "texte", "components": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_cancel_app≈ 240 tokens
Ends an app early by updating its term so it expires within about an hour. The network then uninstalls it everywhere. With confirm=true this signs and pays the (usually minimal) update; without it, returns the plan.
Paramètres, retour & exemple (4)
Paramètresname· string · requisconfirm· boolean · optionnelfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_cancel_app", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_control_app≈ 356 tokens
restart: restarts containers. redeploy: pulls the image again and recreates containers (hard=true also wipes data). remove: uninstalls from nodes; the registration stays and the network re-spawns it elsewhere, so use flux_cancel_app to stop paying. Scope is one node (nodeIp) or every node running the app (global). Requires the owner key.
Paramètres, retour & exemple (7)
Paramètreshard· boolean · optionnel
For redeploy: also delete the app data.name· string · requisscope· string · optionnel · node | globalaction· string · requis · restart | redeploy | removenodeIp· string · optionnel
Required for scope=node; also the node the global command is sent through.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_control_app", "arguments": {"name": "texte", "action": "restart"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_deploy_app≈ 1535 tokens
Validates the specification on a node, quotes it, and with confirm=true signs it with the Flux ID, broadcasts it and pays the quoted FLUX from the payment address. Without confirm it only returns the plan (price, balance, warnings) and spends nothing. Registers a new name or updates an existing app of the same owner. Then call flux_wait_for_app with the returned txid.
Paramètres, retour & exemple (5)
Paramètresspec· object · requisconfirm· boolean · optionnel
Set true to actually sign, broadcast and pay.enterprise· object · optionnel
Make the app private: these components and contacts are encrypted so only the nodes running the app can read them. When set, spec.compose should be [] and spec.enterprise "".fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_deploy_app", "arguments": {"spec": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_generate_keys≈ 228 tokens
Creates two fresh private keys (WIF): one for the Flux ID that will own apps, one for the address that pays. The response contains the secrets; store them in the MCP server environment as FLUX_ID_PRIVATE_KEY and FLUX_PAYMENT_PRIVATE_KEY, then restart the server. Nothing is stored or sent anywhere by this tool.
Paramètres, retour & exemple (2)
ParamètresfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_generate_keys", "arguments": {"fluxIdPrivateKey": "texte", "paymentPrivateKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_get_app≈ 288 tokens
Looks up any app on the network by name and returns its published specification, expiry, running instances, URLs and a reachability check: probes the shared domain (HTTP) and each instance port (TCP and HTTP) and explains what a 503 means, including when it is expected for non-web apps.
Paramètres, retour & exemple (4)
Paramètresname· string · requisports· array · optionnel
Ports to probe on instances; needed for private apps whose ports are encrypted.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_get_app", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_get_app_logs≈ 294 tokens
Fetches the last N log lines of an app from one of the nodes running it. Requires the owner key. The component is picked automatically when the app has one (private apps are decrypted with the owner key); otherwise the available names are listed.
Paramètres, retour & exemple (6)
Paramètresname· string · requislines· integer · optionnelnodeIp· string · optionnel
ip[:port] of the instance; defaults to the first running one.component· string · optionnel
Component name for multi-component apps.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_get_app_logs", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_get_app_stats≈ 217 tokens
CPU, memory and network stats of the containers of an app on one node. Requires the owner key.
Paramètres, retour & exemple (5)
Paramètresname· string · requisnodeIp· string · optionnelcomponent· string · optionnel
Component name for multi-component apps.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_get_app_stats", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_get_identity≈ 197 tokens
Returns the Flux ID (app owner address), the payment address and its spendable FLUX balance with its USD value. Explains what to configure if keys are missing. Never returns private keys.
Paramètres, retour & exemple (2)
ParamètresfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_get_identity", "arguments": {"fluxIdPrivateKey": "texte", "paymentPrivateKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_get_network_info≈ 167 tokens
Node counts by tier, current block height, FLUX/USD rate and the deployment payment address.
Paramètres, retour & exemple (2)
ParamètresfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_get_network_info", "arguments": {"fluxIdPrivateKey": "texte", "paymentPrivateKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_get_pricing≈ 194 tokens
Returns the current USD rate card, the live FLUX/USD rate, the pay-in-FLUX discount and instant USD estimates for a few reference sizes. Use flux_quote_app for the exact price of a specific app.
Paramètres, retour & exemple (2)
ParamètresfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_get_pricing", "arguments": {"fluxIdPrivateKey": "texte", "paymentPrivateKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_list_my_apps≈ 220 tokens
Lists every app registered by the owner (or a given Flux ID) with expiry and instance counts.
Paramètres, retour & exemple (4)
Paramètresowner· string · optionnel
Flux ID to list; defaults to the configured one.nameContains· string · optionnel
Only apps whose name contains this text.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_list_my_apps", "arguments": {"owner": "texte", "nameContains": "texte", "fluxIdPrivateKey": "texte", "paymentPrivateKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_quote_app≈ 916 tokens
Returns the Flux Cloud price for registering the given specification, or for updating it if an app of that name already exists (the unused part of the current term is credited). Price is in USD with the FLUX amount at market rate.
Paramètres, retour & exemple (3)
Paramètresspec· object · requisfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_quote_app", "arguments": {"spec": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_validate_spec≈ 940 tokens
Runs the local rule checks, then asks a FluxOS node to verify the specification exactly as it would at registration (image reachable, architecture, ports, name availability). Returns the node-formatted spec on success.
Paramètres, retour & exemple (4)
Paramètresspec· object · requisnetwork· boolean · optionnel
Also verify on a FluxOS node.fluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_validate_spec", "arguments": {"spec": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flux_wait_for_app≈ 308 tokens
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 spec was accepted, and the running instances with URLs. Safe to call repeatedly until done=true.
Paramètres, retour & exemple (6)
Paramètresname· string · requistxid· string · optionnel
Payment txid from flux_deploy_app, to report confirmations.previousHash· string · optionnel
For updates: the hash of the previous spec, so acceptance means a new hash.timeoutSeconds· integer · optionnelfluxIdPrivateKey· string · optionnel
WIF private key of the Flux ID that owns the app. Use a dedicated key from flux_generate_keys, never a main wallet key.paymentPrivateKey· string · optionnel
WIF private key of the Flux address that pays. Fund it with only what you intend to spend.
Exemple d'appel{"name": "flux_wait_for_app", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».