Koskamo

okgate MCP

okgate (formerly agentguard) is a policy proxy for agent tool calls that provides spend caps, kill switches, and audit logging. The MCP server allows agents to retrieve machine-readable pricing and generate detailed spend reports from agent logs to monitor costs and detect loops.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

okgate MCP logo, by agentwaresCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by agentwares
MCP endpoint (Streamable HTTP)
https://agentwares-agentguard.vercel.app/api/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 7 of 7 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve machine-readable pricing for okgate hosted bands and features
  • Read an agent log to report totals, calls by tool, and estimated dollars
  • Identify loops and the exact cap that would have stopped overspending

Source and maintenance

Community listingRegistry 0.2.0
Maintenance checked

Protocol and capabilities

Server
okgate 0.2.1
MCP protocol negotiated in check
2025-11-25
Tools
7 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "logging": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

okgate hosted: a policy proxy between agents and their MCP servers (loop breaker, caps, dry-run, kill switch, hash-chained audit). okgate_spend_report and okgate_get_pricing need no key: post an agent log to the first and it names the band whose cap would have stopped each overspend, which is the cheapest way to find out whether this is worth paying for. The other tools need an account key (Authorization: Bearer ak_...); POST https://agentwares-agentguard.vercel.app/api/v1/signup with {"accept_terms": true} to get one and start the free trial, with no human and no card. A browser dashboard exists at https://agentwares-agentguard.vercel.app/dashboard but is not required. Create a proxy, point the agent at the returned mcpUrl with its key, then read runs with okgate_get_run. okgate was agentguard until 8 October 2026: the agentguard_* tool names still run their okgate_* twins until 2027-01-15.

Tools

7 advertised

okgate_get_pricing
Advertised by the server during the last successful anonymous check.
Advertised read-only

Machine-readable pricing for okgate hosted: bands (Starter/Pro/Team) with included tool calls per month, the 80% soft alert and 150% hard stop, features, the free trial allowance, `per_call` — buying tool calls outright at POST /api/v1/calls from a prepaid balance, which is the one purchase here an unattended agent can complete — and `one_time`: reports a person pays for once on Stripe Checkout, such as the $49 EU AI Act Article 50 readiness report. Same data as /pricing.json.

okgate_get_pricing input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {},
  "additionalProperties": false
}
okgate_get_pricing annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
okgate_spend_report
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read an agent log and report what it spent: totals, calls by tool and by class, estimated dollars by rail, loops, the largest single run, and — for every overspend — the okgate band whose cap would have stopped it, the exact cap, and the call that would have tripped it. Needs no account and no key. The log is read in the request and discarded; nothing is stored. Accepts an agentwares audit export (`agentwares.audit/v1`), a Claude Code session `.jsonl`, or a CSV/JSONL of tool calls with any of `tool`, `ts`, `class`, `amount_usd`, `rail`, `run_id`, `model`, `input_tokens`, `output_tokens`. Caps come from the proxy's own default policy, so a band named here refuses exactly what it says it refuses. Buying that band is a checkout a person completes; the calls-only purchase an unattended agent can complete is in `okgate_get_pricing` instead.

okgate_spend_report input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "log"
  ],
  "properties": {
    "log": {
      "type": "string",
      "minLength": 1,
      "description": "The log itself, verbatim — JSON, JSONL or CSV. Not a path and not a URL: this server does not fetch anything."
    },
    "detail": {
      "enum": [
        "concise",
        "full"
      ],
      "type": "string",
      "description": "`concise` (default) returns the totals, the top ten tools, the rails, the loops and every overspend. `full` adds the complete per-tool breakdown and the window. Ask for `full` only when you are going to read it."
    }
  },
  "additionalProperties": false
}
okgate_spend_report annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
okgate_create_proxy
Advertised by the server during the last successful anonymous check.

Create a hosted okgate 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 <key>`. Requires an account key.

okgate_create_proxy input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "slug",
    "upstreamUrl"
  ],
  "properties": {
    "mode": {
      "enum": [
        "dry-run",
        "enforce"
      ],
      "type": "string",
      "default": "dry-run",
      "description": "dry-run records what the policy would have blocked and lets every call through; enforce actually blocks. Start in dry-run."
    },
    "slug": {
      "type": "string",
      "maxLength": 40,
      "minLength": 2,
      "description": "short name, a-z 0-9 -"
    },
    "upstreamUrl": {
      "type": "string",
      "format": "uri",
      "description": "Streamable HTTP URL of the MCP server to protect"
    },
    "upstreamName": {
      "type": "string",
      "maxLength": 32,
      "minLength": 1,
      "description": "name used to namespace tools when you add more upstreams later"
    }
  },
  "additionalProperties": false
}
okgate_create_proxy annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
okgate_set_policy
Advertised by the server during the last successful anonymous check.
Advertised destructive

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.

okgate_set_policy input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "proxyId",
    "policyYaml"
  ],
  "properties": {
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by okgate_create_proxy"
    },
    "policyYaml": {
      "type": "string",
      "maxLength": 64000,
      "minLength": 1,
      "description": "the complete policy document; it replaces the current one rather than merging"
    }
  },
  "additionalProperties": false
}
okgate_set_policy annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": true
}
okgate_get_run
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

okgate_get_run input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "proxyId",
    "runId"
  ],
  "properties": {
    "runId": {
      "type": "string",
      "minLength": 1,
      "description": "the X-Run-Id your agent sent with the calls; one run is one agent session"
    },
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by okgate_create_proxy"
    }
  },
  "additionalProperties": false
}
okgate_get_run annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
okgate_export_audit
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

okgate_export_audit input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "proxyId",
    "runId"
  ],
  "properties": {
    "runId": {
      "type": "string",
      "minLength": 1,
      "description": "the X-Run-Id your agent sent with the calls; one run is one agent session"
    },
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by okgate_create_proxy"
    }
  },
  "additionalProperties": false
}
okgate_export_audit annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
okgate_recommend_allowlist
Advertised by the server during the last successful anonymous check.

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.

okgate_recommend_allowlist input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "proxyId"
  ],
  "properties": {
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by okgate_create_proxy"
    }
  },
  "additionalProperties": false
}
okgate_recommend_allowlist annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 1 of 1 checks answered
  2. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
413 ms
95th percentile latency
413 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 413 ms · metadata changed · 7 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http okgate-mcp https://agentwares-agentguard.vercel.app/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add okgate-mcp --url https://agentwares-agentguard.vercel.app/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable okgate-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "okgate-mcp": {
      "url": "https://agentwares-agentguard.vercel.app/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "okgate-mcp": {
      "type": "streamableHttp",
      "url": "https://agentwares-agentguard.vercel.app/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start okgate-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "okgate-mcp": {
      "type": "http",
      "url": "https://agentwares-agentguard.vercel.app/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http okgate-mcp https://agentwares-agentguard.vercel.app/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://agentwares-agentguard.vercel.app/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "okgate-mcp": {
      "serverUrl": "https://agentwares-agentguard.vercel.app/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like okgate MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.