Skip to main content
Glama
Post-Quantum Cryptography MCP Server

Post-Quantum Cryptography MCP Server

by scottdhughes

pqc_key_store_save

Store generated post-quantum key data under a chosen name for session-scoped reference. Use it to save outputs from key generation tools and retrieve keys by name during the current session.

Instructions

Save a keygen output by name for convenient reference. Session-scoped, no persistence.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "key_data": "<key_data>"
    },
    "name": "pqc_key_store_save"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesName for this key (e.g., 'alice-signing', 'bob-hybrid')
key_dataYesKey data object (output of pqc_hybrid_keygen or pqc_generate_keypair)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden and usefully discloses the crucial lifecycle constraint: "Session-scoped, no persistence." It does not explain whether saving an existing name overwrites or fails, how invalid key data is handled, or what result is returned.

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?

Two short sentences front-load the operation and then state the storage lifetime. There is no redundant wording, and both sentences contribute useful selection or invocation information.

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 simple two-parameter store operation, the fully documented required inputs and explicit session lifetime are sufficient for a basic correct call. Because there are no annotations or output schema, the missing overwrite, validation, and success-result behavior keep the definition from being fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, including examples for name and the two accepted keygen source tools for key_data. The description reinforces that key_data should be keygen output but adds no substantive parameter details beyond the schema, so the baseline score applies.

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

Purpose4/5

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

The description clearly states the action and resource: saving a keygen output under a name for later reference. It does not explicitly distinguish this operation from the sibling key-store load, list, or delete tools.

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

Usage Guidelines4/5

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

Limiting the input to keygen output and describing the store as session-scoped gives clear context for using it for temporary, later reference within a session. It does not explicitly route agents to pqc_key_store_load for retrieval or warn against using this tool when durable storage is required.

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