Provision Stack
REMOTE · API.PROVISION-STACK.COM · SCANNED AUG 3
Outcome-based infrastructure for agents — verified AWS deployments, metered billing
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security11
- TLS not yet verified: we couldn't open a connection to check the certificate. View diagnostics → Unverified
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC not yet verified: we couldn't validate it against a resolver. View diagnostics → Unverified
Transport & Reachability0
- Transport check failed: declared streamable-http, but we couldn't connect to verify it. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 4 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · api.provision-stack.com
claude mcp add --transport http com-provision-stack-provision-stack https://api.provision-stack.com/mcp
[mcp_servers.com-provision-stack-provision-stack] url = "https://api.provision-stack.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-provision-stack-provision-stack": {
"type": "remote",
"url": "https://api.provision-stack.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-provision-stack-provision-stack --url https://api.provision-stack.com/mcp --transport streamable-http
mcp_servers:
com-provision-stack-provision-stack:
url: "https://api.provision-stack.com/mcp" {
"mcpServers": {
"com-provision-stack-provision-stack": {
"type": "http",
"url": "https://api.provision-stack.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- TLS certificate: pass → unverified ▼ security
- DNSSEC: fail → unverified ▼ security
- Authorization: fail → unverified ▼ security
- HSTS header: fail → unverified ▼ security
- Stability: 0.20 → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 55
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://api.provision-stack.com/mcp
TLS unreached
DNSSEC inconclusive
Validation of api.provision-stack.com. — Inconclusive
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| api.provision-stack.com. | Error no A/AAAA/CNAME RRset answered for the name |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.provision-stack.com/mcp | Unreachable | ||
| http (plaintext) | http://api.provision-stack.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
billing.balance ~87
Return the account credit position as total, held, and available USD without modifying the balance. Call when deploy.run returns HTTP 402 insufficient_credits, or before deploy.run when you need to confirm availableUsd covers the hold. Do not use this to add funds — call billing.top_up when availableUsd is insufficient, then retry deploy.run. Read-only; does not create charges or hold credits.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | — |
| availableUsd | number | yes | — |
| balanceUsd | number | yes | — |
| heldUsd | number | yes | — |
No examples provided.
billing.top_up ~159
Create a credit top-up intent for the account (does not immediately increase balance). Call when deploy.run fails with HTTP 402 or billing.balance shows availableUsd below the required hold; choose rail=xrp (agent pays on-ledger with REQUIRED destination tag + exact amount) or rail=stripe (human Checkout URL). Do not call to inspect balance — use billing.balance. After funds confirm, retry the failed deploy.run. Side effects: opens a payment/deposit flow (open world); not idempotent — each call creates a new top-up.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | number | yes | Amount to add, in USD (e.g. 20) |
| rail | string | — | Payment rail: xrp (agent-native) or stripe (human) |
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | number | — | — |
| amountXrp | number | — | — |
| checkoutUrl | string | — | — |
| creditedOn | string | — | — |
| depositAddress | string | — | — |
| destinationTag | number | — | — |
| expiresAt | string | — | — |
| memo | string | — | — |
| rateUsdPerXrp | number | — | — |
| topupId | string | yes | — |
No examples provided.
credentials.list ~65
Check cloud provider credential configuration without exposing secrets. Call before deploy.run to confirm AWS/GCP/Azure/Oracle/Cloudflare are ready. Returns configured=true/false plus guidance — never returns secret values.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | — | Cloud provider to check (defaults to checking all) |
| Name | Type | Req | Description |
|---|---|---|---|
| aws | object | — | — |
| azure | — | — | — |
| cloudflare | — | — | — |
| gcp | — | — | — |
| oracle | — | — | — |
No examples provided.
deploy.destroy ~84
DESTRUCTIVE: permanently destroy all cloud resources owned by a deployment. Irreversible — confirm the deploymentId with the user first. Prefer deploy.teardown_latest only when intentionally removing the newest active deployment. Optional reason is stored for audit.
| Name | Type | Req | Description |
|---|---|---|---|
| deploymentId | string | yes | Deployment id whose resources should be destroyed |
| reason | string | — | Optional audit reason for the destroy |
| Name | Type | Req | Description |
|---|---|---|---|
| deploymentId | string | yes | — |
| destroyedAt | string | yes | — |
| status | string | yes | — |
No examples provided.
deploy.list ~100
Return the Execution API’s tracked deployments (deploymentId, status, category, createdAt) so you can select a target for status checks or teardown. Call when you need a deploymentId and do not already have one from deploy.run, or to inventory active work before deploy.destroy/deploy.teardown_latest. Do not use this to monitor a known deployment — poll deploy.status with that id instead. Read-only; does not create, modify, or destroy resources.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | yes | Number of deployments returned |
| deployments | array | yes | — |
No examples provided.
deploy.run ~229
Provision the explicitly selected suggestion through the Execution API. Never call before presenting options and receiving user approval. Pass resources from the chosen suggestions.generate option as selection evidence. The deploy fee is held from the account credit balance and captured only after verification passes (failed deployments are free). On HTTP 402, call billing.top_up and retry. When the outcome includes a custom domain and CLOUDFLARE_API_TOKEN is set, DNS records are automatically created pointing the domain at the deployed endpoint. After accept, poll deploy.status.
| Name | Type | Req | Description |
|---|---|---|---|
| maxMonthlyCostUsd | number | — | Customer max monthly cost cap in USD — deploy is rejected when the estimate exceeds the cap |
| outcome | string | yes | Natural language deployment objective |
| projectId | string | — | Optional project id to group related deployments |
| provider | string | — | Cloud provider (auto-detected from resources if omitted) |
| region | string | — | Target region; defaults via region.detect for provider |
| resources | array | yes | Resources from the selected suggestion; used as selection evidence |
| tier | string | — | Selected suggestion tier; defaults to MVP |
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | — |
| createdAt | string | yes | — |
| deploymentId | string | yes | — |
| message | string | yes | — |
| provider | string | yes | — |
| quote | object | yes | — |
| region | string | yes | — |
| status | string | yes | — |
| tier | string | yes | — |
No examples provided.
deploy.status ~64
Check deployment progress and retrieve verification evidence when complete. Poll after deploy.run until status is verified/failed/destroyed. On success, result.endpoints and result.verificationResults contain live URLs and check outcomes.
| Name | Type | Req | Description |
|---|---|---|---|
| deploymentId | string | yes | Deployment id returned by deploy.run |
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | — |
| category | string | — | — |
| createdAt | string | yes | — |
| deploymentId | string | yes | — |
| desiredOutcome | string | yes | — |
| projectId | string | yes | — |
| result | object | — | — |
| status | string | yes | — |
| updatedAt | string | yes | — |
No examples provided.
deploy.teardown_latest ~81
DESTRUCTIVE: destroy the newest active deployment, or all active deployments when all=true. Skips already destroyed/failed entries. Confirm with the user before calling — especially with all=true. Prefer deploy.destroy with an explicit deploymentId when targeting a specific deployment.
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | — | When true, destroy every active deployment; otherwise only the newest |
| Name | Type | Req | Description |
|---|---|---|---|
| destroyed | number | yes | How many deployments were destroyed |
| results | array | yes | — |
No examples provided.
pricing.get ~365
Estimate monthly and hourly USD cost for one cloud resource type (e.g. ec2_instance, rds_instance, gcp_cloud_run) without provisioning anything. Use after suggestions.generate when the user wants a component-level breakdown for a single resource; prefer region from region.detect. Provider is inferred from resourceType prefixes (gcp_*, azure_*, oracle_*) when omitted. Do not use for full-stack option comparison — that is suggestions.generate. Does not create resources or hold credits.
| Name | Type | Req | Description |
|---|---|---|---|
| instanceCount | number | — | Number of instances to price (default 1) |
| instanceType | string | — | AWS instance type (e.g. t3.micro) for compute/RDS |
| machineType | string | — | GCP machine type (e.g. e2-medium) |
| memoryInGbs | number | — | Oracle memory in GiB for flexible shapes |
| ocpus | number | — | Oracle OCPU count for flexible shapes |
| provider | string | — | Cloud provider (auto-detected from resourceType if omitted) |
| region | string | — | Cloud region; defaults via region.detect for the provider |
| resourceType | string | yes | Cloud resource type to price (prefix gcp_/azure_/oracle_ selects provider) |
| shape | string | — | Oracle compute shape (e.g. VM.Standard.E4.Flex) |
| sizeGb | number | — | Disk/volume size in GiB (EBS, etc.) |
| storageGb | number | — | Object/database storage size in GiB |
| vmSize | string | — | Azure VM size (e.g. Standard_B1s) |
| volumeType | string | — | Volume type (e.g. gp3, io2) |
| zone | string | — | GCP/Azure availability zone when required |
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | yes | — |
| description | string | yes | — |
| estimateId | string | yes | — |
| hourlyCostUsd | number | yes | — |
| monthlyCostUsd | number | yes | — |
| provider | string | yes | — |
| region | string | yes | — |
| resourceType | string | yes | — |
No examples provided.
providers.detect ~58
Detect all configured cloud providers and their regions in one call. Prefer this over repeated region.detect when comparing AWS/GCP/Azure/Oracle. Returns { providers: [...] } with source (env|config|default) and a guidance message per provider.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| providers | array | yes | Detected region for each supported cloud provider |
No examples provided.
region.detect ~90
Resolve the active region for one cloud provider from env/config, or a documented default when unset. Call before suggestions.generate/deploy.run when targeting a single provider so pricing and placement match local config. Prefer providers.detect instead when comparing AWS/GCP/Azure/Oracle in one step. Read-only; does not change cloud config.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | — | Cloud provider to detect region for (defaults to aws) |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | Human-readable detection summary |
| provider | string | yes | Cloud provider id |
| region | string | yes | Detected or default region |
| source | string | yes | Where the region value came from |
No examples provided.
suggestions.generate ~220
START HERE for any deployment. STEP 1: Call region.detect or providers.detect. STEP 2: Call this tool with the detected region. Returns Starter/MVP/Startup/Enterprise options with monthly costs. When the response includes a clarificationRequest, answer the suggested questions and call again with requirements. Present all options and wait for an explicit choice before deploy.run. When the outcome mentions a custom domain (e.g. 'deploy to api.example.com') and CLOUDFLARE_API_TOKEN is set, DNS records are auto-detected and will be created during deployment.
| Name | Type | Req | Description |
|---|---|---|---|
| crossProvider | boolean | — | Include cross-provider suggestions (default: true) |
| maxMonthlyCostUsd | number | — | Customer max monthly cost cap in USD — options above the cap are filtered out |
| outcome | string | yes | Natural language description of the desired outcome |
| provider | string | — | Filter to specific cloud provider |
| region | string | — | Cloud provider region |
| requirements | object | — | Requirements to rank patterns — use this when responding to a clarificationRequest |
| Name | Type | Req | Description |
|---|---|---|---|
| clarificationRequest | object | — | — |
| infraType | string | yes | — |
| optionCount | number | yes | Number of suggestion options returned |
| options | array | yes | — |
| outcome | string | yes | — |
| providers | array | yes | Providers covered by the options |
| resultId | string | yes | — |
No examples provided.