Skip to content
VS Code

AgentGuard for VS Code

io.github.merchantguard/agentguard

Local spend caps, kill-switch blocking and Ed25519-signed receipts for AI agent tool calls.

client:VS Code transport:stdio runtime:npm

Install AgentGuard in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "agentguard-mcp-daily-cap-cents",
      "description": "AGENTGUARD_MCP_DAILY_CAP_CENTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-mcp-per-call-cap-cents",
      "description": "AGENTGUARD_MCP_PER_CALL_CAP_CENTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-mcp-tenant",
      "description": "AGENTGUARD_MCP_TENANT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-home",
      "description": "AGENTGUARD_HOME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-mcp-ledger",
      "description": "AGENTGUARD_MCP_LEDGER",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-mcp-disable-cost-override",
      "description": "AGENTGUARD_MCP_DISABLE_COST_OVERRIDE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-lock-cost-overrides",
      "description": "AGENTGUARD_LOCK_COST_OVERRIDES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-actor-digest",
      "description": "AGENTGUARD_ACTOR_DIGEST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-license-key",
      "description": "AGENTGUARD_LICENSE_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-license-endpoint",
      "description": "AGENTGUARD_LICENSE_ENDPOINT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-no-beacon",
      "description": "AGENTGUARD_NO_BEACON",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-telemetry",
      "description": "AGENTGUARD_TELEMETRY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-install-id",
      "description": "AGENTGUARD_INSTALL_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "agentguard-anonymous-install-id",
      "description": "AGENTGUARD_ANONYMOUS_INSTALL_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ci",
      "description": "CI",
      "password": true
    },
    {
      "type": "promptString",
      "id": "github-actions",
      "description": "GITHUB_ACTIONS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "gitlab-ci",
      "description": "GITLAB_CI",
      "password": true
    },
    {
      "type": "promptString",
      "id": "circleci",
      "description": "CIRCLECI",
      "password": true
    },
    {
      "type": "promptString",
      "id": "buildkite",
      "description": "BUILDKITE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "vercel",
      "description": "VERCEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "netlify",
      "description": "NETLIFY",
      "password": true
    }
  ],
  "servers": {
    "agentguard": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@agentguard-run/mcp"
      ],
      "env": {
        "AGENTGUARD_MCP_DAILY_CAP_CENTS": "${input:agentguard-mcp-daily-cap-cents}",
        "AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "${input:agentguard-mcp-per-call-cap-cents}",
        "AGENTGUARD_MCP_TENANT": "${input:agentguard-mcp-tenant}",
        "AGENTGUARD_HOME": "${input:agentguard-home}",
        "AGENTGUARD_MCP_LEDGER": "${input:agentguard-mcp-ledger}",
        "AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "${input:agentguard-mcp-disable-cost-override}",
        "AGENTGUARD_LOCK_COST_OVERRIDES": "${input:agentguard-lock-cost-overrides}",
        "AGENTGUARD_ACTOR_DIGEST": "${input:agentguard-actor-digest}",
        "AGENTGUARD_LICENSE_KEY": "${input:agentguard-license-key}",
        "AGENTGUARD_LICENSE_ENDPOINT": "${input:agentguard-license-endpoint}",
        "AGENTGUARD_NO_BEACON": "${input:agentguard-no-beacon}",
        "AGENTGUARD_TELEMETRY": "${input:agentguard-telemetry}",
        "AGENTGUARD_INSTALL_ID": "${input:agentguard-install-id}",
        "AGENTGUARD_ANONYMOUS_INSTALL_ID": "${input:agentguard-anonymous-install-id}",
        "CI": "${input:ci}",
        "GITHUB_ACTIONS": "${input:github-actions}",
        "GITLAB_CI": "${input:gitlab-ci}",
        "CIRCLECI": "${input:circleci}",
        "BUILDKITE": "${input:buildkite}",
        "VERCEL": "${input:vercel}",
        "NETLIFY": "${input:netlify}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

AgentGuard in other clients