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