Flux Cloud
Server Details
Deploy, pay for and manage apps on Flux Cloud, the decentralized cloud. Prices in USD.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- RunOnFlux/flux-cloud-mcp
- GitHub Stars
- 0
- Server Listing
- Flux Cloud MCP server
TDQS
Scored across 15 tools
Tools are mostly distinct across the deployment lifecycle: build, validate, quote, deploy, wait, inspect, control, cancel. The only mild overlap is that flux_deploy_app without confirm also returns a plan/pricing and validates, which blurs its boundary with flux_quote_app and flux_validate_spec; descriptions mitigate but do not fully eliminate this.
All 15 tools share the flux_ prefix and snake_case verb_noun pattern (flux_build_spec, flux_get_app_logs, flux_list_my_apps, etc.). There is no mixed casing or inconsistent verb style, only natural variation in noun phrases.
15 tools map cleanly to a cloud deployment lifecycle: key setup, identity/pricing lookup, spec construction/validation, quoting, deployment, waiting, inspection, and lifecycle control. No tool feels redundant or out of scope.
The surface covers the full app lifecycle: generate keys, check identity/network/pricing, build/validate/quote spec, deploy, wait for confirmation, inspect apps/logs/stats, list owned apps, control restart/redeploy/remove, and cancel payment. Minor potential gaps like direct transaction history or renewal-specific tooling are workable via existing tools.
Available Tools
15 toolsflux_build_specBuild a Flux app specification from a simple descriptionBInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Unique app name: letters, digits, inner hyphens. Not starting with "flux" or "zel". | |
| nodes | No | ||
| owner | No | Flux ID that will own the app. Defaults to the configured or passed key. | |
| months | No | Term in network months (88000 blocks each). Default 1. | |
| contacts | No | ||
| staticip | No | ||
| instances | No | Copies on distinct nodes. Default 3. | |
| components | Yes | ||
| description | No | ||
| geolocation | No | ||
| expireBlocks | No | Exact term in blocks; overrides months. | |
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose useful behavior beyond the schema: public ports are auto-picked, data replication is enabled by default, and the return payload includes local validation errors and warnings. It stops short of stating that the operation is purely local and side-effect free (no chain or network mutation) and says nothing about whether keys are consumed, which is the key question for a builder call sitting next to deploy/quote tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, no filler, with the transformation front-loaded and the return behavior as a short trailing clause. Every phrase carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter builder with no output schema, the description covers the essentials: what is produced, what is auto-filled, and what comes back. Parameter-level detail is delegated to a reasonably documented schema, though the absence of any sibling routing or key-handling note leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 54%, a middle band, and the description only gestures at the same categories the schema already documents (images, ports, resources, term). It adds no format or constraint detail, such as how the term maps to months/expireBlocks or how component resources are validated, so it does not compensate for the undocumented half.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific transformation ('turns images, ports, resources and a term into a complete, correctly formatted v8 specification'), so the artifact produced is unambiguous. It never names a sibling, however, and by saying it also returns 'validation errors and warnings' it blurs the line with flux_validate_spec, which an agent must distinguish on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given: nothing says this is the pre-deploy authoring step or that its output feeds flux_validate_spec, flux_quote_app, or flux_deploy_app. The alternatives in the sibling list are never mentioned or contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_cancel_appCancel an app (stop it and stop paying)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| confirm | No | ||
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the term-rewrite mechanism, that the network uninstalls everywhere, that confirm=true signs and pays a minimal fee, and that omitting confirm returns the plan (a dry run). It does not state irreversibility of the uninstall or required ownership permissions beyond what the schema's key params imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and mechanism, then the payment/confirm behavior. No filler; every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers side effects, cost, and the dry-run return. It could be stronger on permissions, reversibility, and what the returned plan contains, but it is largely sufficient to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (name undocumented, private keys documented in schema), and the description meaningfully covers the undocumented confirm parameter by explaining both branches: signing/paying versus returning the plan. It adds real semantic value over the bare boolean default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Ends an app early by updating its term so it expires within about an hour') and clarifies the novel mechanism rather than just saying 'cancel'. It is distinguishable from siblings like flux_control_app and flux_deploy_app, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the action ('end an app early'), and the confirm flag's two modes are explained, but there is no explicit when-to-use vs when-not or pointer to a sibling tool for related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_control_appRestart, redeploy or remove app instancesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hard | No | For redeploy: also delete the app data. | |
| name | Yes | ||
| scope | No | global | |
| action | Yes | ||
| nodeIp | No | Required for scope=node; also the node the global command is sent through. | |
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does well: it discloses that hard=true wipes data, that remove is not a permanent kill because the network re-spawns elsewhere, and that the owner key is required. It stops short of stating the return shape, whether restart interrupts live traffic, or any rate/latency characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a tight, front-loaded block: each of the three actions gets one clause with the operative consequence, followed by scope and credential requirements. No sentence is filler and the destructive detail (hard wipes data) is placed right where the agent needs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-parameter mutation tool with no annotations and no output schema, the description covers the essentials: action semantics, destructiveness, persistence behavior, scope, and credential requirement. Gaps remain on return values and on why a payment key is needed alongside the owner key, but nothing critical to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 57%, so the description needs to compensate and largely does: it maps action to concrete effects, explains hard as a data-wipe flag, and clarifies that scope is either a single node or all nodes running the app. It adds little for the two private-key parameters beyond what the schema already says, leaving part of the coverage gap unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb set (restart/redeploy/remove) applied to a specific resource (app instances) and defines what each action actually does at the container and node level. It also differentiates itself from flux_cancel_app by explaining that remove leaves the registration in place and the network re-spawns the app, so an agent can tell it apart from the cancel sibling without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing guidance for one key decision: use remove only if the registration should stay, and use flux_cancel_app instead 'to stop paying'. Scope usage is also stated (nodeIp for one node, global for every node). It does not spell out when to choose restart versus redeploy, leaving that choice implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_deploy_appDeploy (register or update) an app and pay for itAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | ||
| confirm | No | Set true to actually sign, broadcast and pay. | |
| enterprise | No | 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 | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the validate→quote→sign→broadcast→pay pipeline, that signing uses the Flux ID, that payment comes from the payment address, and that confirm=false is non-spending. It stops short of stating that confirm=true spends real funds irreversibly or whether payments are refundable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and the confirm gate, with no redundant text; every clause adds decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, nested, payment-executing mutation with no annotations and no output schema, the description covers the operation flow, the spend/no-spend distinction, and the follow-up call. It could be more explicit about irreversibility and required funding of the payment key, but is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 80%, so the schema documents confirm, the key parameters, and spec fields. The description reinforces the confirm semantics and the payment-source concept but adds little syntax or format detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resource: validates, quotes, signs, broadcasts, and pays for an app; and explicitly disambiguates the confirm=true vs confirm=false behavior. It also clarifies that it registers a new name or updates an existing app of the same owner.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains when to use confirm (to actually sign/broadcast/pay) versus when not to (plan-only, spends nothing), and routes to flux_wait_for_app with the returned txid. It does not, however, differentiate from close siblings like flux_quote_app or flux_validate_spec, which an agent might otherwise pick for pricing or validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_generate_keysGenerate a new Flux ID and payment key pairAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that the response contains secrets, that nothing is stored or sent anywhere by the tool, and that manual storage plus a server restart are required afterwards. It omits whether repeated calls invalidate previously generated keys, which is the main remaining behavioral unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the purpose, then the follow-up steps, then the no-side-effect guarantee. Every sentence carries distinct, actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated, no-output-schema tool it covers the essentials (what is produced, where to put it, absence of side effects). However, it leaves a real ambiguity unresolved: the input schema asks for two private keys while the description says the tool creates them, and the description never explains that mismatch or whether zero-argument invocation is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are already documented in the schema, so the baseline is 3. The description's env-var names map to the returned secrets rather than explaining the input parameters, and it never clarifies why a key-generation tool accepts fluxIdPrivateKey/paymentPrivateKey as inputs at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Creates two fresh private keys (WIF)') and immediately clarifies the two distinct keys and what each is for. No sibling tool generates keys, so an agent can route to it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong post-invocation guidance (store secrets as FLUX_ID_PRIVATE_KEY / FLUX_PAYMENT_PRIVATE_KEY, then restart the server) and implies the use case (bootstrapping a Flux ID plus funding address). It never states an explicit when-not or names an alternative path, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_get_appGet a deployed app: spec, status, instances, URLsCInspect
Looks up any app on the network by name and returns its published specification, expiry, running instances and URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the read shape: no permission/auth requirements, no note that instance and URL data may be absent or stale while an app is provisioning, and no indication that the two private-key parameters are optional billing/ownership context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence that front-loads the lookup-by-name constraint and then enumerates the returned fields; no padding or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare 'name' parameter, the description should explain optional-key behavior and any limits on returning instance/URL data for apps not yet running. It instead gives a single summary line, leaving an agent unequipped for edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: 'name' is bare, while the two WIF private-key parameters carry strong inline warnings about dedicated keys and funding. The description adds nothing about the lookup key or when the optional keys are needed, so it leaves a real gap rather than compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('looks up') and resource ('any app on the network by name') and enumerates the return payload (spec, expiry, instances, URLs). This distinguishes it from flux_get_app_logs and flux_get_app_stats, though it never explicitly names those siblings to route a confused agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use/when-not guidance and no alternative named, despite several close siblings (flux_get_app_logs, flux_get_app_stats, flux_get_identity). The title mentions URLs but the description gives no condition that would send an agent elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_get_app_logsRead container logs from a running instanceAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| lines | No | ||
| nodeIp | No | ip[:port] of the instance; defaults to the first running one. | |
| component | No | Component name for multi-component apps. | |
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It reveals that the tool requires an owner key and retrieves logs from a node, which is useful, but it does not disclose whether the operation is read-only (though implied), whether it can fail if the node is unreachable, or what happens if the specified node isn't running the app.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the action and scope, the second states the requirement. No wasted words, and key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could mention return format (e.g., raw log lines) and more behavioral context like error conditions. However, it covers the core operation and key requirement, and parameter descriptions in the schema fill some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 67% description coverage, and the description adds meaning by clarifying that 'name' refers to the app, 'lines' defaults to fetching the last N lines, and 'component' is for multi-component apps. It also emphasizes the owner key requirement, though it doesn't cover all parameters explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'fetches,' the resource 'log lines of an app (or one component),' and the scope 'from one of the nodes running it.' This is precise enough to distinguish from siblings like flux_get_app or flux_get_app_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the required owner key and the context (running app on a node), but it provides no explicit when-to-use guidance or alternatives. For example, it doesn't say what to do if the app isn't running or isn't on the expected node.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_get_app_statsGet live resource usage of a running instanceAInspect
CPU, memory and network stats of the containers of an app on one node. Requires the owner key.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| nodeIp | No | ||
| component | No | Component name for multi-component apps. | |
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose a genuine auth precondition ('Requires the owner key'), which is useful. However it omits whether the call is read-only, whether the app must be actively running, latency/rate characteristics, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, with the core resource and the precondition front-loaded and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter, no-output-schema, no-annotation tool, the description is thin: it never clarifies optional params (nodeIp, component), key selection, or what happens when the app is not running. It is minimally adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, so several parameters are undocumented there; the description hints at 'one node' (nodeIp) and 'containers of an app' (component) but never maps them explicitly, and it says nothing about the two private-key parameters or which key 'owner key' corresponds to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('CPU, memory and network stats of the containers of an app') plus scope ('on one node'). This clearly distinguishes it from siblings like flux_get_app (config) and flux_get_app_logs (log output).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only contextual hint is 'Requires the owner key', which is a precondition rather than usage guidance. Nothing tells the agent when to prefer this over flux_get_app_logs, flux_get_app, or flux_wait_for_app, or whether the instance must be running.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_get_identityShow the configured Flux identity and balanceAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and adds useful behavioral context: it explains that it never returns private keys (a security guarantee) and describes what it returns (Flux ID, payment address, balance, USD value, configuration help). It doesn't cover whether the operation is read-only or any rate limits, but the explicit key-safety statement is a strong plus.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the return values and then a key safety note. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 optional parameters, no output schema, no annotations), the description is fairly complete. It explains what is returned and a critical safety behavior. It could be improved with a note on when to use this tool or the read-only nature, but it covers the essentials adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters, including their purpose and security warnings. The description does not add any parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (returns) and resource (Flux ID, payment address, spendable FLUX balance with USD value), making the tool's purpose clear. However, it does not differentiate this identity/balance check from siblings like flux_get_network_info or flux_generate_keys, which might also relate to keys or addresses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It does not mention conditions like 'use this to check your balance before deploying' or 'only after configuring keys', leaving the agent to infer the context from the title and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_get_network_infoNetwork overviewCInspect
Node counts by tier, current block height, FLUX/USD rate and the deployment payment address.
| Name | Required | Description | Default |
|---|---|---|---|
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but only enumerates return values. It does not disclose whether this is read-only, why two private keys are involved, whether the keys are sent to a remote node, or any safety profile. This is a significant omission for a tool that accepts wallet keys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded noun phrase lists the most important return contents without filler. It is efficient, though the lack of a verb or contextual clause slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description does a decent job listing returned data, but it says nothing about the two sensitive private key parameters or the safety/read-only nature of the call. For a tool that accepts wallet private keys, this is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both private key parameters with usage warnings. The description adds no parameter meaning, which is the expected baseline when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific return data (node counts by tier, block height, FLUX/USD rate, payment address), which is more than a restatement of the name. However, it does not explicitly differentiate from the closest sibling flux_get_pricing or state that this is a read operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, no conditions for calling this versus flux_get_pricing or flux_get_app. The description only lists outputs, leaving the agent to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_get_pricingGet the Flux Cloud rate cardAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full behavioral burden. It discloses the shape of the returned data, which is useful, but says nothing about it being a read-only/local computation, whether the private-key parameters are actually consumed on-chain, or any side effects. Curiously it never explains why obtaining a rate card needs two private keys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, return contents front-loaded before the routing hint to the sibling tool. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description responsibly enumerates the returned values, and it routes to the sibling for exact quotes. Minor gap: no indication of freshness/caching or why private keys are required for what sounds like a public rate lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (fluxIdPrivateKey, paymentPrivateKey) are already well documented with safety guidance. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the current USD rate card') and enumerates the returned values: rate card, live FLUX/USD rate, pay-in-FLUX discount, and instant USD estimates. It explicitly distinguishes itself from flux_quote_app, so an agent can tell the two apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the alternative (flux_quote_app) and the condition that selects it ('for the exact price of a specific app'), which is exactly the routing an agent needs. It lacks an explicit when-not clause or prerequisites, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_list_my_appsList apps owned by the configured Flux IDAInspect
Lists every app registered by the owner (or a given Flux ID) with expiry and instance counts.
| Name | Required | Description | Default |
|---|---|---|---|
| owner | No | Flux ID to list; defaults to the configured one. | |
| nameContains | No | Only apps whose name contains this text. | |
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the response includes expiry and instance counts and is evidently a read operation, but says nothing about required credentials, pagination, or rate limits despite the schema implying private-key-based auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single lean sentence with the verb and resource front-loaded and no wasted clauses. It could be marginally tighter but is efficient and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with no output schema, the description states what is returned (expiry and instance counts) and the scoping rule, which is enough for correct invocation. Missing only auth/pagination detail, which is secondary for enumeration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, including that owner defaults to the configured ID. The description adds a marginal restatement of the owner override but no new syntax or format guidance, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Lists') and resource ('every app registered by the owner') and notes the return contents (expiry and instance counts). The 'every app' scope implicitly separates it from the singular flux_get_app sibling, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'list every app' framing and the mention of an optional Flux ID scope, so an agent can infer it's for enumeration. However, there is no explicit when-to-use versus flux_get_app or flux_get_app_stats, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_quote_appQuote the price of an app in USD and FLUXAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | ||
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the credit of the unused current term on update and states the currency output format. However it omits that quoting is read-only/no deployment occurs and that the schema requires fluxIdPrivateKey and paymentPrivateKey, leaving notable behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, and the core purpose is front-loaded ahead of the update/credit detail. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex nested-spec tool with no output schema, the description gives enough: what it returns (USD price plus FLUX at market rate) and the update-credit case. Missing only auth/key expectations and the read-only nature of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the schema richly documents the nested spec fields, so baseline is 3. The description adds no meaning about the spec, fluxIdPrivateKey, or paymentPrivateKey beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the Flux Cloud registration/update price for a given spec. An agent can distinguish this from the deploy/validate siblings. It stops short of naming any sibling, so differentiation is by inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The quote-before-deploy purpose is implied ('price for registering the given specification'), but there is no explicit when-to-use, no exclusion, and no routing away from the similar sibling flux_get_pricing. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_validate_specValidate a specification locally and on the networkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | ||
| network | No | Also verify on a FluxOS node. | |
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the two-stage execution, the specific network checks performed (image reachable, architecture, ports, name availability), and the return value on success. It omits what happens on failure (error shape) and whether the network call has side effects or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action and then the specifics of what is verified. No filler; every clause conveys useful information about behavior or return.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately explains the return ('node-formatted spec on success'). For a nested-object validation tool this is largely complete, though failure behavior is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the schema documents most parameters including the network flag, keys, and the nested spec fields. The description adds no parameter-level detail and doesn't mention that network=false skips the node verification, so it neither compensates for the coverage gap nor extends the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (validate) and resource (specification) and describes the two-stage process: local rule checks followed by FluxOS node verification. It clearly distinguishes this from siblings like flux_build_spec and flux_deploy_app by framing it as a pre-registration verification step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'exactly as it would at registration' implies this should be run before deployment, which gives implicit usage context. However, it never explicitly says when to use it versus flux_build_spec or flux_deploy_app, nor does it name any exclusion or prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flux_wait_for_appWait for a deployment to be accepted and its instances to runAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| txid | No | Payment txid from flux_deploy_app, to report confirmations. | |
| previousHash | No | For updates: the hash of the previous spec, so acceptance means a new hash. | |
| timeoutSeconds | No | ||
| fluxIdPrivateKey | No | 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 | No | WIF private key of the Flux address that pays. Fund it with only what you intend to spend. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful traits: bounded polling duration, idempotent repeat-safety until done=true, and the set of results returned. It omits any note on permissions or what happens on a timeout hit (does it throw, return partial state, or leave the app pending), which is the one real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, all front-loaded: what it does, the timeout constraint and its rationale, then the return payload and idempotency note. No filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description correctly spells out the return shape (confirmations, acceptance, instances with URLs). Combined with the timeout rationale it covers most of what a 6-param polling tool needs, though timeout-expiry behavior is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description adds real meaning beyond it for timeoutSeconds: the default 45 exists to fit a 60 s host tool timeout and the max is 600. It also flags that payment confirmations require a txid, tying the txid param to an outcome. txid/previousHash/private-key params are left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: polls the network for deployment acceptance and running instances, naming the returned artifacts (payment confirmations, spec acceptance, instances with URLs). It is distinguishable from siblings like flux_deploy_app and flux_get_app, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence 'Safe to call repeatedly until done=true' gives polling guidance, and the timeout rationale hints at when 45s is appropriate. But it never states when to prefer this over flux_get_app or when the wait is unnecessary, leaving the alternative choice implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- First observed
flux_build_spec - First observed
flux_cancel_app - First observed
flux_control_app - First observed
flux_deploy_app - First observed
flux_generate_keys - First observed
flux_get_app - First observed
flux_get_app_logs - First observed
flux_get_app_stats - First observed
flux_get_identity - First observed
flux_get_network_info - First observed
flux_get_pricing - First observed
flux_list_my_apps - First observed
flux_quote_app - First observed
flux_validate_spec - First observed
flux_wait_for_app
Related MCP Connectors
Discover and pay for APIs with USDC credits. No wallet, no gas, MCP-native marketplace.
Live GPU rental market: 2,500+ offers across a dozen provider feeds. History, watches, limit orders.
Deploy and manage blockchain nodes across 70+ protocols, search docs, request testnet funds.
Live VPS, bare metal and GPU hosting prices across ~75 providers, rescraped daily.
Related MCP Servers
- AlicenseAqualityBmaintenanceNo-KYC crypto VPS hosting with an MCP server that lets AI agents provision VPS programmatically. Pay with USDC/USDT on Base and Ethereum, no accounts or verification required.21MIT
- AlicenseAqualityCmaintenanceLets AI agents rent GPUs on Nosana, browse deployable templates, compare live GPU prices, estimate costs, and deploy or manage services like MiniMax H3 using account credits.143034MIT
- AlicenseNot gradedqualityBmaintenanceEnables listing and discovery of DePIN infrastructure capacity (storage, compute, GPU, etc.) with real USDC/USDT settlement across multiple chains.MIT
- FlicenseAqualityNot gradedmaintenanceCompute price oracle for AI agents. Compare inference pricing across OpenAI, Anthropic, and DePIN providers like Hyperbolic. Get routing recommendations that save up to 80% on compute costs.5-
Glama MCP Gateway
Add one secure layer between your agents and this server.