Skip to main content
Glama
oneguard-sa

oneguard-mcp

Official
by oneguard-sa

Create a secret

oneguard_secrets_add

Adds a new secret to a vault from a local .env file or a single key/value pair. Using the .env file is preferred so secret values are not exposed in conversation.

Instructions

Creates a new secret in a vault from a local .env file (preferred) or from a single key/value pair. Prefer from_env_file: passing a value directly means the secret value travels through this conversation. To create a secret holding a NEW generated value, create it here and then use oneguard_secrets_generate, which never reveals the value. Never invent secret values — only use what the user explicitly provided or what is already in their .env file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyNoSingle key name. Only when not using from_env_file.
nameYesName for the new secret (e.g. "production", "staging").
valueNoSingle value. Only when not using from_env_file.
vaultYesVault id or its 8-character prefix.
project_dirNoAbsolute path to the developer's project directory. This is where the .oneguard link file and the .env file live. Must be absolute — ask the user if you do not know it.
from_env_fileNoPath to a .env file, relative to project_dir (default ".env"). Preferred over key/value.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish this is a mutating but non-destructive operation. The description adds valuable behavioral context: passing a value directly exposes it in the conversation, generated values are never revealed by the sibling tool, and secret values must come only from the user or their .env file. It does not disclose what happens on conflict (e.g., overwrite), but this is a minor omission given the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four focused sentences with no filler. The purpose is front-loaded, followed by practical usage preferences and a hard constraint. Every sentence contributes actionable guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter create tool with no output schema, the description covers the essential usage decisions well: main purpose, preferred input mode, security implications, and linkage to the generation workflow. It does not describe the return value or confirmation behavior after creation, which is a minor gap for a tool that produces a new resource.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the tradeoff between from_env_file and direct key/value pairs, emphasizing that direct values 'travel through this conversation,' and implicitly connecting project_dir to where the .env file lives. This guidance helps the agent choose parameters correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Creates a new secret in a vault') with a clear resource and method, and distinguishes itself by the two accepted input modes: .env file or single key/value pair. This clearly separates it from siblings like oneguard_secrets_edit, oneguard_secrets_generate, and oneguard_secrets_archive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs when to prefer from_env_file over direct value passing, and provides a specific cross-tool workflow: create a placeholder here, then call oneguard_secrets_generate for new generated values. The 'Never invent secret values' rule further constrains when invocation is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.