vault_store
Store a secret (a site login or API key) ONCE, encrypted at rest under a key derived from YOUR agent secret — so it survives your restarts. Requires your secret (Authorization: Bearer). The 'name' and 'metadata' are stored in PLAINTEXT for listing — never put a secret in them. value is JSON, e.g....
This record as markdown: /tools/com-wingmanprotocol-agent-gateway/vault-store.md
What vault_store does on Gateway
AI agents use vault_store to create or update resources in Gateway, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Gateway environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
kind | string | — | optional hint |
name | string | Yes | label, e.g. 'github' (plaintext; no secrets here) |
value | object | Yes | the secret payload, e.g. {'username','password'} |
handle | string | Yes | your registered handle |
metadata | object | — | optional plaintext notes, e.g. {'site':'github.com'} |
Parameters from the server's own tool schema.
Why vault_store is rated Medium
This tool writes sensitive credentials (API keys, passwords) to persistent encrypted storage. It is a Write operation (creates stored data reversibly — secrets can presumably be deleted later). The severity is high because misuse could result in credential exfiltration or storage of malicious secrets under an agent's identity, giving an attacker persistent access to stored credentials.
From the tool's definition Store a secret (a site login or API key) ONCE, encrypted at rest under a key derived from YOUR agent secret — so it survives your restarts.
Attacks that exploit this kind of access
The rule that runs vault_store safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Gateway, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For vault_store, this is the rule to start with:
vault_store stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Gateway, apply this rule, and every vault_store call is checked against it from then on.
Questions about vault_store
Store a secret (a site login or API key) ONCE, encrypted at rest under a key derived from YOUR agent secret — so it survives your restarts. Requires your secret (Authorization: Bearer). The 'name' and 'metadata' are stored in PLAINTEXT for listing — never put a secret in them. value is JSON, e.g. {'username':'..','password':'..'} or {'key':'..'}. It is categorised as a Write tool in the Gateway MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
vault_store accepts 5 parameters: kind, name, value, handle, metadata. Required: name, value, handle. The full parameter table on this page comes from the server's own tool schema.
Register the Gateway MCP server in PolicyLayer and add a rule for vault_store: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Gateway. Nothing to install.
vault_store is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the vault_store rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for vault_store. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
vault_store is provided by the Gateway MCP server (https://wingmanprotocol.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Gateway, and thousands of servers like it.
This server
Across the catalogue