# agentguard hosted > A policy proxy between your agent and its MCP servers: loop breaker, blast-radius caps, dry-run writes with a mutation diff, kill switch, hash-chained audit log with published Merkle roots, spend ledger, and incident-shaped run reports. Connect in under a minute with `npx @agentwares/agentguard connect `. Bands, not a meter: Starter $29 (100K calls/mo), Pro $99 (1M), Team $299 (10M); soft alert at 80%, hard stop at 150% (error code BAND_EXCEEDED with an upgrade URL). Free trial: 1,000 calls/mo. Per-customer MCP endpoint: https://agentwares-agentguard-proxy.vercel.app//mcp with Authorization: Bearer . Every refusal is an isError tool result whose text is JSON {code, cause, fix, retryable}: LOOP_DETECTED, CAP_EXCEEDED, BAND_EXCEEDED, APPROVAL_REQUIRED, KILL_SWITCH, TOOL_DENIED. ## Links - [Pricing (machine-readable)](https://agentwares-agentguard.vercel.app/pricing.json) - [Management MCP server (Streamable HTTP)](https://agentwares-agentguard.vercel.app/api/mcp) - [OpenAPI](https://agentwares-agentguard.vercel.app/openapi.json) - [Public demo dashboard](https://agentwares-agentguard.vercel.app/demo) - [Status page pattern](https://agentwares-agentguard.vercel.app/status/): daily Merkle roots, badge at /status/.svg, trust.json, merkle.json - [Proxy health](https://agentwares-agentguard-proxy.vercel.app/health) - [OSS proxy (self-hosted)](https://github.com/agentwares/agentwares): npx @agentwares/agentguard --config agentguard.yaml ## MCP tools - `agentguard_get_pricing`: Machine-readable pricing for agentguard hosted: bands (Starter/Pro/Team) with included tool calls per month, the 80% soft alert and 150% hard stop, features and the free trial allowance. Same data as /pricing.json. - `agentguard_create_proxy` (slug, upstreamUrl, upstreamName?, mode?): Create a hosted agentguard proxy in front of an MCP server. Returns the proxy id, the per-customer MCP URL and the proxy key (shown once). Point your agent's MCP client at the URL with `Authorization: Bearer `. Requires an account key. - `agentguard_set_policy` (proxyId, policyYaml): Replace a proxy's policy (YAML: mode, upstreams, classify, caps, loop, dry_run, approvals, alerts, chaos, drift). Validated before saving; takes effect within 30 seconds. Requires an account key. - `agentguard_get_run` (proxyId, runId): The incident-shaped report for one run: counts (calls, reads, writes, faked, blocked, spend), the call timeline with decisions, dry-run mutations (what would have changed), ledger entries and the audit-chain verification. Requires an account key. - `agentguard_export_audit` (proxyId, runId): Export a run's hash-chained audit entries (prev_hash, hash, redacted args) with the Merkle root, for disputes and questionnaires. Verify offline with sha256(prev_hash + canonical(entry)). Requires an account key. - `agentguard_recommend_allowlist` (proxyId): Least-privilege recommendation from the proxy's recorded calls: the minimal tool allowlist, argument keys used per tool, and the upstream tools never used (remove them first). No LLM call here; apply it in the dashboard. Requires an account key.