Skip to main content
Glama
marc-shade

Crypto Tools MCP Server

by marc-shade

crypto_tools_mcp

Crypto Tools MCP Server

MCP Python-3.10+ License Tests Coverage FIPS 140-3 CNSA 2.0 Post-Quantum Part of Agentic System

Defense-grade cryptographic compliance and analysis tools for MCP.

Part of the Agentic System - a 24/7 autonomous AI framework with persistent memory.

Features

Defense Compliance Modules

  • FIPS 140-3 Validator - Validate algorithms against Federal Information Processing Standards

  • CNSA 2.0 Analyzer - NSA Commercial National Security Algorithm Suite readiness

  • Post-Quantum Readiness - NIST FIPS 203/204/205 quantum vulnerability assessment

  • Key Lifecycle Manager - Key state management per NIST SP 800-57 Part 1 Rev 5

  • Crypto Audit Engine - Code/config scanning with CWE mapping and SARIF output

Classical Cryptography

  • Caesar Cipher - Encrypt, decrypt, and crack with frequency analysis

  • Vigenere Cipher - Polyalphabetic substitution cipher

  • XOR Analysis - XOR encryption/decryption and brute-force key recovery

  • ROT13 - Self-inverse Caesar variant

  • Frequency Analysis - Letter frequency and Index of Coincidence

  • Cipher Detection - Automatic cipher type identification


Related MCP server: fallvault-mcp

Tools

Compliance Tools

Tool

Description

check_fips_compliance

Validate algorithms against FIPS 140-3 approved list

analyze_cnsa_compliance

Check CNSA 2.0 readiness with gap analysis

assess_pqc_readiness

Post-quantum cryptography readiness assessment

manage_key_lifecycle

Key lifecycle management per SP 800-57

audit_crypto_usage

Scan code for cryptographic issues (CWE mapped)

generate_compliance_report

Unified report across all standards

Classical Crypto Tools

Tool

Description

caesar_encrypt

Encrypt plaintext with Caesar cipher

caesar_decrypt

Decrypt ciphertext with known shift

caesar_crack

Crack Caesar cipher using frequency analysis

frequency_analysis

Analyze letter frequencies in text

rot13

ROT13 encode/decode (self-inverse)

vigenere_encrypt

Encrypt with Vigenere cipher

vigenere_decrypt

Decrypt with known Vigenere key

xor_cipher

XOR encrypt/decrypt with key

brute_force_xor

Brute-force XOR with single-byte keys

detect_cipher_type

Identify cipher type used

generate_key

Generate cryptographically secure random key

validate_key

Validate key strength for an algorithm


FIPS 140-3 Compliance

Validates algorithms against the FIPS 140-3 approved list per NIST SP 800-131A Rev 2.

Approved Algorithms

Category

Algorithms

Standard

Symmetric

AES-128, AES-192, AES-256, AES-GCM, AES-CCM

FIPS 197, SP 800-38D

Hash

SHA-224, SHA-256, SHA-384, SHA-512, SHA-3 family

FIPS 180-4, FIPS 202

MAC

HMAC-SHA-2, CMAC-AES, GMAC-AES

FIPS 198-1, SP 800-38B

Signature

RSA (2048+), ECDSA (P-256/384/521), EdDSA

FIPS 186-5

Post-Quantum

ML-KEM, ML-DSA, SLH-DSA

FIPS 203, 204, 205

DRBG

CTR_DRBG, Hash_DRBG, HMAC_DRBG

SP 800-90A Rev 1

KDF

SP 800-108, SP 800-56C, HKDF, PBKDF2

SP 800-108, SP 800-56C

Key Wrap

AES-KW, AES-KWP

SP 800-38F

Disallowed Algorithms

Algorithm

Reason

MD5

Collision attacks trivial

SHA-1

Practical collision attacks (SHAttered, 2017)

DES

56-bit key, brute-forceable since 1998

3DES/TDEA

64-bit block size (Sweet32), deprecated 2023

RC4

Statistical biases, banned in TLS

Blowfish

64-bit block size, not FIPS approved

Dual_EC_DRBG

NSA backdoor, withdrawn

Usage Example

check_fips_compliance(algorithms="AES-256,SHA-384,RSA-2048,MD5,3DES")

CNSA 2.0 (National Security Systems)

Analyzes cryptographic posture against NSA's Commercial National Security Algorithm Suite 2.0.

CNSA 2.0 Required Algorithms

Use Case

Algorithm

Parameter

Symmetric Encryption

AES-256

256-bit key (not 128/192)

Hashing

SHA-384

Minimum (not SHA-256)

Key Encapsulation

ML-KEM-1024

NIST Level 5 (not 512/768)

Digital Signatures

ML-DSA-87

NIST Level 5 (not 44/65)

Hash-Based Signatures

SLH-DSA-256

NIST Level 5 (alternative)

CNSA 2.0 Transition Timeline

Category

Deadline

Requirement

Software/firmware signing

2025

ML-DSA-87 or SLH-DSA-256

Web servers/browsers (TLS)

2025

ML-KEM-1024 + ML-DSA-87

Cloud services

2025

Full CNSA 2.0 suite

Networking equipment

2026

ML-KEM-1024 + ML-DSA-87

Operating systems

2027

Native PQC support

Custom/niche applications

2030

Complete PQC migration

All NSS (full compliance)

2033

Classical algorithms retired

CNSA 1.0 vs 2.0

Use Case

CNSA 1.0

CNSA 2.0

Change

Symmetric

AES-256

AES-256

No change

Hash

SHA-384

SHA-384

No change

Signatures

ECDSA-P384, RSA-3072+

ML-DSA-87, SLH-DSA-256

Classical -> PQC

Key Exchange

ECDH-P384, DH-3072+

ML-KEM-1024

ECDH -> Lattice KEM

Usage Example

analyze_cnsa_compliance(algorithms="AES-256,ECDSA-P384,SHA-256,RSA-2048")

Post-Quantum Cryptography (FIPS 203/204/205)

Assesses readiness for the quantum computing threat per NIST post-quantum standards.

NIST PQC Standards

Standard

Algorithm

Type

NIST Level

Key Size

Sig/CT Size

FIPS 203

ML-KEM-512

KEM

1

800 B

768 B

FIPS 203

ML-KEM-768

KEM

3

1,184 B

1,088 B

FIPS 203

ML-KEM-1024

KEM

5

1,568 B

1,568 B

FIPS 204

ML-DSA-44

Signature

2

1,312 B

2,420 B

FIPS 204

ML-DSA-65

Signature

3

1,952 B

3,309 B

FIPS 204

ML-DSA-87

Signature

5

2,592 B

4,627 B

FIPS 205

SLH-DSA-128s

Signature

1

32 B

7,856 B

FIPS 205

SLH-DSA-256s

Signature

5

64 B

29,792 B

Quantum Vulnerability

Algorithm

Attack

Quantum Security

RSA (all sizes)

Shor's algorithm

0 bits (broken)

ECDSA/ECDH (all curves)

Shor's algorithm

0 bits (broken)

DH (all sizes)

Shor's algorithm

0 bits (broken)

AES-128

Grover's algorithm

64 bits (reduced)

AES-256

Grover's algorithm

128 bits (adequate)

SHA-256

Grover's algorithm

128 bits (adequate)

HNDL Threat Assessment

Harvest-Now-Decrypt-Later (HNDL): adversaries intercept encrypted data today to decrypt once quantum computers are available. The tool calculates HNDL risk based on data sensitivity, shelf life, and algorithm vulnerability.

Usage Example

assess_pqc_readiness(
    algorithms="RSA-2048,ECDSA-P256,AES-256,SHA-256",
    data_sensitivity="critical",
    data_shelf_life_years=15,
    system_type="nss"
)

Key Lifecycle Management (SP 800-57)

Manages cryptographic key states and cryptoperiods per NIST SP 800-57 Part 1 Rev 5.

Key States

Pre-activation -> Active -> Deactivated -> Destroyed
                    |            |
                    v            v
                Suspended   Compromised -> Destroyed-Compromised

Cryptoperiod Limits

Key Type

Max Active Period

Session key (TLS)

24 hours

API key

90 days

Master key

1 year

SSH key

1 year

TLS certificate key

398 days

Symmetric encryption

2 years

Signing private key

3 years

Intermediate CA

3-5 years

Root CA

10-20 years

Usage Examples

# Create and track a key
manage_key_lifecycle(action="create", key_id="prod-aes-1", name="Production AES Key",
                     key_type="symmetric_encryption", algorithm="AES-256",
                     owner="security-team", location="AWS KMS")

# Activate the key
manage_key_lifecycle(action="transition", key_id="prod-aes-1", new_state="active")

# Check compliance
manage_key_lifecycle(action="check", key_id="prod-aes-1")

# Get full inventory
manage_key_lifecycle(action="inventory")

# Check rotation schedule
manage_key_lifecycle(action="rotation")

# Validate key management practices
manage_key_lifecycle(action="validate_practice",
                     practice_description="Keys stored in HSM with RBAC, rotated annually...")

Crypto Audit Engine

Scans code and configuration for cryptographic security issues with CWE mapping.

Detection Categories

Category

Rules

CWE IDs

Hardcoded Secrets

Keys, AWS creds, hex material

CWE-798

Weak Random

Non-CSPRNG usage

CWE-330, CWE-338

Broken Algorithms

MD5, SHA-1, DES, RC4

CWE-327, CWE-328

Insecure Modes

ECB, CBC without HMAC

CWE-327

Missing KDF

Raw password as key

CWE-327

Weak Key Length

RSA <2048, short symmetric

CWE-326

Certificate Issues

verify=False, CERT_NONE

CWE-295

Insecure TLS

SSLv3, TLS 1.0, TLS 1.1

CWE-757

Timing Attacks

Non-constant-time comparison

CWE-208

SARIF Output

The audit engine outputs SARIF (Static Analysis Results Interchange Format) for CI/CD integration with GitHub Code Scanning, Azure DevOps, and other platforms.

Usage Example

# Audit source code
audit_crypto_usage(text="import hashlib\nh = hashlib.md5(data)\nkey = 'hardcoded_secret_key'")

# Get SARIF output for CI/CD
audit_crypto_usage(text=source_code, output_format="sarif")

Comprehensive Compliance Report

Generate a unified report covering all standards.

generate_compliance_report(
    algorithms="AES-256,RSA-2048,SHA-256,ECDSA-P256",
    scan_text=source_code,
    system_type="federal",
    data_sensitivity="high",
    data_shelf_life_years=10
)

Compliance Coverage Matrix

Standard

Control

Coverage

FIPS 140-3

Algorithm validation

Full

SP 800-131A Rev 2

Algorithm transitions

Full

SP 800-57 Part 1

Key management

Full

SP 800-53 SC-12

Key establishment

Full

SP 800-53 SC-13

Cryptographic protection

Full

SP 800-53 SC-17

PKI certificates

Partial

SP 800-53 SC-28

Information at rest

Partial

CNSA 2.0

NSS algorithm suite

Full

CNSSP 15

AES policy

Full

FIPS 203

ML-KEM

Full

FIPS 204

ML-DSA

Full

FIPS 205

SLH-DSA

Full

OMB M-23-02

PQC migration

Full

SP 800-88

Media sanitization

Guidance


Testing

# Run all tests with coverage
python -m pytest tests/ -v --cov=crypto_tools_mcp --cov-report=term-missing

# Run compliance tests only
python -m pytest tests/test_compliance.py -v

# Run classical cipher tests only
python -m pytest tests/test_encryption.py tests/test_hashing.py -v

Test coverage: 412 tests across 6 test modules covering classical ciphers, key management, MCP tool registration, and all five compliance modules (FIPS, CNSA, PQC, Key Lifecycle, Crypto Audit).


Installation

# Clone and install
git clone https://github.com/marc-shade/crypto-tools-mcp.git
cd crypto-tools-mcp
pip install -e .

# Or install with uv
uv pip install -e .

MCP Configuration

Add to your Claude Desktop or MCP client configuration:

{
  "mcpServers": {
    "crypto-tools": {
      "command": "crypto-tools-mcp"
    }
  }
}

Part of the MCP Ecosystem

This server integrates with other MCP servers for comprehensive AGI capabilities:

Server

Purpose

enhanced-memory-mcp

4-tier persistent memory with semantic search

agent-runtime-mcp

Persistent task queues and goal decomposition

agi-mcp

Full AGI orchestration with 21 tools

cluster-execution-mcp

Distributed task routing across nodes

node-chat-mcp

Inter-node AI communication

ember-mcp

Production-only policy enforcement

See agentic-system-oss for the complete framework.

Available Tools

18 tools
analyze_cnsa_complianceA

Check NSA CNSA 2.0 readiness for National Security Systems.

Analyzes algorithms against CNSA 2.0 requirements (AES-256, SHA-384, ML-KEM-1024, ML-DSA-87), tracks transition timeline, and assesses crypto agility.

Args: algorithms: Comma-separated algorithm names (e.g. "AES-256,ECDSA-P384,SHA-256") include_gap_analysis: Include full gap analysis with migration roadmap (default True) scan_text: Optional source code or config text to scan

Returns: JSON CNSA 2.0 compliance analysis with gap assessment

ParametersJSON Schema
NameRequiredDescriptionDefault
algorithmsYes
include_gap_analysisNo
scan_textNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool performs analysis, tracks transition timeline, assesses crypto agility, and returns JSON. However, it does not mention whether it modifies any state or has side effects, which is a minor gap.

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?

The description is concise (about 4 sentences) with a clear 'Args:' section. It front-loads the purpose and contains no redundant information. Every sentence adds value.

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

Completeness5/5

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

An output schema exists, so the description's mention of returning JSON is sufficient. Parameter documentation is complete. The tool's complexity is moderate, and the description covers essential aspects comprehensively.

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

Parameters5/5

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

Input schema has 0% description coverage, but the description provides clear meaning for all three parameters: algorithms as comma-separated names, include_gap_analysis as optional boolean with default, scan_text as optional string. This fully compensates for the schema gap.

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?

The description clearly states the tool checks NSA CNSA 2.0 readiness for National Security Systems, specifying the verb, resource, and context. It distinguishes from sibling tools like check_fips_compliance and generate_compliance_report.

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

Usage Guidelines3/5

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

The description implies usage for CNSA compliance analysis but does not explicitly state when to use this tool over alternatives like assess_pqc_readiness or audit_crypto_usage. No when-not or exclusion criteria are provided.

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

assess_pqc_readinessB

Assess post-quantum cryptography readiness per FIPS 203/204/205.

Evaluates quantum vulnerability of current algorithms, calculates quantum risk scores, assesses Harvest-Now-Decrypt-Later threats, and generates PQC migration roadmaps.

Args: algorithms: Comma-separated algorithm names (e.g. "RSA-2048,ECDSA-P256,AES-256") data_sensitivity: Data sensitivity level - "low", "medium", "high", or "critical" data_shelf_life_years: How many years data must remain confidential system_type: System type - "nss" (National Security), "federal", or "general" include_hndl: Include Harvest-Now-Decrypt-Later assessment (default True) include_roadmap: Include migration roadmap (default True)

Returns: JSON post-quantum readiness assessment with risk scores and migration plan

ParametersJSON Schema
NameRequiredDescriptionDefault
algorithmsYes
data_sensitivityNohigh
data_shelf_life_yearsNo
system_typeNogeneral
include_hndlNo
include_roadmapNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior1/5

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

No annotations provided, and the description fails to disclose behavioral traits such as authorization requirements, rate limits, or side effects. It only describes functionality without operational context.

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?

Concise description with front-loaded purpose and structured parameter list. Every sentence adds value without redundancy.

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?

Given the 6 parameters and output schema, the description covers the tool's purpose, inputs, and output type. It lacks only some behavioral context, but is otherwise complete.

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?

The Args section in the description adds meaning to all 6 parameters beyond the bare schema, which has 0% description coverage. It explains valid values for data_sensitivity and default behaviors for booleans.

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?

Clearly states it assesses post-quantum cryptography readiness per FIPS 203/204/205, evaluates vulnerability, calculates risk scores, and generates migration roadmaps. Distinguishes from sibling tools like brute_force_xor or caesar_crack by focusing on PQC.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like analyze_cnsa_compliance or check_fips_compliance. The description explains parameters but does not provide context for selection.

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

audit_crypto_usageA

Scan text or code for cryptographic security issues.

Detects hardcoded keys, weak algorithms, insecure modes (ECB), missing key derivation, disabled certificate validation, insecure TLS versions, and more. Maps findings to CWE IDs.

Args: text: Source code, configuration, or documentation text to audit output_format: Output format - "json" (default) or "sarif" for CI/CD integration

Returns: JSON audit report with findings, CWE mappings, and remediation

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
output_formatNojson

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, but description is adequate for a read-only scan tool. It doesn't explicitly state non-destructive or safe behavior, but the scanning nature is clear.

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?

Concise two-paragraph description with no wasted words. Clearly separates purpose, detection list, arguments, and returns.

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

Completeness5/5

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

Given the tool's complexity and the presence of an output schema, the description covers scope, parameters, and return format adequately.

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?

The Args section explains both parameters, adding default values and purpose beyond the sparse schema. This compensates for the 0% schema description coverage.

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 it scans for cryptographic security issues and lists specific detections. It distinguishes itself from some siblings (e.g., compliance tools) but doesn't explicitly contrast with all related tools.

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

Usage Guidelines3/5

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

The description implies usage by listing detections but lacks explicit when-to-use guidance or alternatives. Users must infer from context.

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

brute_force_xorA

Brute force XOR cipher with single-byte or short keys.

Args: ciphertext_hex: Hex-encoded ciphertext max_key_length: Maximum key length to try (1-4)

Returns: JSON with potential plaintexts

ParametersJSON Schema
NameRequiredDescriptionDefault
ciphertext_hexYes
max_key_lengthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. The description does not mention whether the tool is read-only, destructive, or any side effects. It only states that it returns potential plaintexts, leaving the agent uninformed about safety or resource implications.

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?

The description is extremely concise, using a clear docstring format with Args and Returns. Every sentence is necessary and no extraneous information is included.

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?

Given the tool has only two simple parameters and an output schema exists (mentioned but not shown), the description is fairly complete. It covers the purpose, parameters, and return type. However, it could explicitly note that max_key_length accepts 1-4 and mention the output schema details.

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 description coverage is 0%, so the description must add value. It explains that 'ciphertext_hex' is hex-encoded ciphertext and 'max_key_length' has a default of 4 and range 1-4, which adds necessary context beyond the basic type definitions. However, it could provide more detail, such as example hex format or the exact output structure.

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?

The description clearly states the tool's purpose: brute-forcing XOR ciphers with single-byte or short keys. It uses a specific verb 'brute force' and resource 'XOR cipher', and distinguishes itself from sibling tools like 'xor_cipher' and 'caesar_crack' by specifying the attack method.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like 'xor_cipher' or frequency analysis. It implies usage for short-key XOR cracking but provides no guidance on when not to use it or when other tools are preferred.

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

caesar_crackA

Crack Caesar cipher using frequency analysis.

Args: ciphertext: Encrypted text to crack show_all: Show all 26 possible decryptions

Returns: JSON with most likely plaintext and shift value

ParametersJSON Schema
NameRequiredDescriptionDefault
ciphertextYes
show_allNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

Discloses the method (frequency analysis) and return format (JSON with plaintext and shift). However, lacks details like language dependency (assumes English?), error handling, or limitations. No annotations are present, so the description carries the full burden, which is partially met.

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?

Structured with Args and Returns sections, no redundant sentences. Extremely concise while conveying essential 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?

Given the existence of an output schema (not shown but signaled), the description adequately covers the return format. However, it could mention that frequency analysis assumes English text, which is a key constraint for accurate cracking. Overall, sufficient for a well-typed tool.

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

Parameters5/5

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

Provides clear, separate descriptions for each parameter in the Args section: 'ciphertext: Encrypted text to crack' and 'show_all: Show all 26 possible decryptions'. The schema itself has no parameter descriptions, so the description fully compensates with 100% coverage.

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?

Clearly states 'Crack Caesar cipher using frequency analysis', specifying both the method and target cipher. Distinguishes from siblings like caesar_decrypt (which requires a known key) and frequency_analysis (which only performs analysis).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives like caesar_decrypt. The description implies it's for unknown shifts but does not state exclusions or provide context for selection among sibling tools.

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

caesar_decryptB

Decrypt ciphertext using Caesar cipher with known shift.

Args: ciphertext: Text to decrypt shift: Number of positions that were shifted

Returns: JSON with decrypted plaintext

ParametersJSON Schema
NameRequiredDescriptionDefault
ciphertextYes
shiftNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose handling of non-alphabetic characters, case sensitivity, or edge cases. Only states a straightforward decryption.

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?

Very concise, uses docstring format with Args/Returns. Two sentences for purpose plus parameter descriptions, no wasted words.

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 Caesar cipher tool, description covers the essentials. Could mention letter-only handling or case, but output schema exists and context is mostly 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 0%, so description must compensate. It provides basic explanations for ciphertext and shift, but no constraints (e.g., shift range 1-25) or format details.

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?

The description clearly states the tool decrypts ciphertext using the Caesar cipher with a known shift. It distinguishes itself from siblings like caesar_crack (which cracks without known shift) and caesar_encrypt.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., caesar_crack if shift unknown, rot13 for fixed shift). No exclusions or context for usage.

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

caesar_encryptB

Encrypt plaintext using Caesar cipher.

Args: plaintext: Text to encrypt shift: Number of positions to shift (default: 3)

Returns: JSON with encrypted ciphertext

ParametersJSON Schema
NameRequiredDescriptionDefault
plaintextYes
shiftNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description bears the full burden of disclosing behavior. It mentions encryption with a shift but omits details like alphabet wrapping, case sensitivity, or handling of non-alphabetic characters, which are important for an agent to invoke the tool correctly.

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?

The description is extremely concise: a single sentence for the purpose, followed by a minimal parameter list. It is front-loaded with the main action, and every sentence adds value without any waste.

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

Completeness3/5

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

Given the tool's simplicity and the presence of an output schema (as indicated by context signals), the description is adequate but incomplete. It misses behavioral specifics such as how the shift wraps around the alphabet and how non-letters are treated, which are needed for a fully informed invocation.

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 0%, so the description must add meaning. It does explain each parameter briefly ('Text to encrypt', 'Number of positions to shift'), which clarifies their purpose beyond the schema's bare titles. However, it lacks details like allowed range for shift or data format.

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?

The description clearly states the tool encrypts plaintext using the Caesar cipher, specifying the verb 'encrypt' and the resource. It distinguishes itself from sibling tools like caesar_decrypt and caesar_crack by its encryption function.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as vigenere_encrypt or rot13. It lacks any explicit context or exclusion criteria, leaving the agent without decision-support information.

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

check_fips_complianceA

Validate cryptographic algorithms against FIPS 140-3 approved list.

Checks algorithm compliance, key lengths, security strength per SP 800-57, and maps findings to NIST 800-53 controls (SC-12, SC-13).

Args: algorithms: Comma-separated list of algorithm names (e.g. "AES-256,SHA-384,RSA-2048,MD5") scan_text: Optional source code or config text to scan for algorithm usage

Returns: JSON FIPS 140-3 compliance report with pass/fail per algorithm

ParametersJSON Schema
NameRequiredDescriptionDefault
algorithmsYes
scan_textNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It describes the process (compliance checks, key length verification, mapping to controls) and the output (JSON report). It does not mention side effects or limitations, but is generally transparent for a validation tool.

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?

The description is concise and front-loaded with the primary purpose. It uses a brief explanation followed by clear parameter and return value descriptions. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given the tool's simplicity (2 params, 1 required) and presence of an output schema, the description adequately covers purpose, parameters, and return type. No additional context seems necessary for an agent to use this tool correctly.

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

Parameters5/5

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

The schema has 0% description coverage, but the description's 'Args' block adds full semantics: 'algorithms' is a comma-separated list, 'scan_text' is optional source code. This compensates completely for the missing schema descriptions.

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?

The description clearly states the tool validates cryptographic algorithms against FIPS 140-3, with specific verbs 'Validate' and 'Checks'. It distinguishes from siblings like 'analyze_cnsa_compliance' and 'assess_pqc_readiness' by focusing on FIPS compliance and mapping to NIST controls.

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?

The description implies usage for FIPS compliance validation and mentions specific checks (key lengths, security strength). However, it does not explicitly state when not to use it or list alternatives, though the sibling list provides context.

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

detect_cipher_typeB

Attempt to identify the type of cipher used.

Args: ciphertext: Encrypted text to analyze

Returns: JSON with cipher type analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
ciphertextYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It only mentions 'attempt to identify,' but fails to specify whether the tool is read-only, what happens on failure, or any side effects. The return is described vaguely as 'JSON with cipher type analysis.'

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?

The description is extremely concise with two lines of content plus an arguments list. The first sentence immediately states the purpose, and every sentence is necessary. No redundancy.

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

Completeness3/5

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

Given the tool has an output schema (not shown) and only one parameter, the description is minimally adequate. However, it lacks details on return format, error conditions, or limitations of the analysis. More context would be beneficial.

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?

The input schema has no property descriptions (0% coverage), so the description adds value by explaining 'ciphertext' as 'Encrypted text to analyze.' This is minimal but clarifies the parameter's role. Baseline 3 is appropriate.

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?

The description clearly states the tool's purpose: 'Attempt to identify the type of cipher used.' This is a specific verb ('identify') and resource ('cipher type'), making it distinguishable from sibling tools like caesar_crack or brute_force_xor, which focus on cracking specific ciphers.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With siblings like frequency_analysis and various cipher crackers, the description lacks context for selection, e.g., 'Use this first to determine the cipher type before attempting decryption.'

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

frequency_analysisA

Perform letter frequency analysis on text.

Args: text: Text to analyze

Returns: JSON with letter frequencies and comparison to English

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are given, so the description must cover behavioral traits. It describes return values but does not state whether the tool is read-only or if it has side effects. For a simple analysis tool, this is adequate but not comprehensive.

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?

The description is concise with only five lines, including structured Args and Returns sections. Every sentence adds value with no fluff.

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?

Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema (context indicates true), the description adequately covers the purpose and return format. It does not detail the output schema, but that is not required per guidelines.

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?

The only parameter 'text' has schema type 'string' with no description. The description adds 'Text to analyze', which restates the parameter name without further clarification. Schema coverage is 0%, but the parameter is simple and the description provides minimal extra meaning.

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?

The description clearly states the verb 'perform' and the resource 'letter frequency analysis on text', specifying the action and input. It is distinct from sibling tools like caesar_crack or detect_cipher_type, which focus on different operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Among siblings, detect_cipher_type or brute_force_xor may be related, but no exclusions or contexts are mentioned.

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

generate_compliance_reportA

Generate comprehensive cryptographic compliance report covering FIPS 140-3, CNSA 2.0, post-quantum readiness, and code audit.

Produces a unified report suitable for security assessments, compliance audits, and migration planning.

Args: algorithms: Comma-separated algorithm names to evaluate scan_text: Optional source code or config text to audit system_type: System type - "nss", "federal", or "general" data_sensitivity: Data sensitivity - "low", "medium", "high", or "critical" data_shelf_life_years: How many years data must remain confidential

Returns: JSON comprehensive compliance report across all standards

ParametersJSON Schema
NameRequiredDescriptionDefault
algorithmsYes
scan_textNo
system_typeNogeneral
data_sensitivityNohigh
data_shelf_life_yearsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as side effects, permissions required, or rate limits. It only states the output is a JSON report, leaving the agent unaware of potential write operations or authentication needs for a tool that likely reads cryptographic data.

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

Conciseness4/5

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

The description is reasonably concise, with two main sentences followed by a parameter list. It avoids unnecessary details and uses line breaks for readability. The parameter descriptions are succinct but informative.

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?

Given the tool has five parameters and an output schema exists, the description sufficiently covers the report's scope and all parameters. It explains what the report covers and what each parameter does, though it could mention the output format or any constraints on the algorithms parameter.

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?

Despite 0% schema description coverage, the description adds meaningful details for each parameter: algorithms as comma-separated names, scan_text as optional source code, system_type with listed options (nss, federal, general), data_sensitivity with levels, and data_shelf_life_years as years. This compensates for the bare schema and aids correct invocation.

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?

The description clearly states the tool generates a comprehensive cryptographic compliance report covering FIPS 140-3, CNSA 2.0, post-quantum readiness, and code audit. This specific verb-resource combination distinguishes it from sibling tools like check_fips_compliance or analyze_cnsa_compliance, which focus on individual standards.

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

Usage Guidelines3/5

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

The description mentions the tool is suitable for security assessments, compliance audits, and migration planning, but does not explicitly state when to use this tool versus more specific siblings. The context suggests it is the comprehensive option, but no direct guidance or exclusions are provided.

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

generate_keyA

Generate a cryptographically secure random key.

Args: length: Key length (8-64 characters) charset: Character set - alphanumeric, hex, alpha, or full purpose: Description of key purpose for audit log

Returns: JSON with generated key and security info

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthNo
charsetNoalphanumeric
purposeNogeneral

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

Without annotations, the description carries full burden but adds minimal behavioral info beyond stating it is cryptographically secure. It does not disclose whether the operation has side effects, requires special permissions, or affects system state.

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?

The description is extremely concise with a clear structure: a one-line summary followed by an Args list and Returns line. Every sentence adds value with no redundancy.

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?

Given the presence of an output schema, the description covers all key aspects: generated key, length constraints, charset options, audit trail purpose. It is nearly complete for a key generation tool.

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 0% (no descriptions in input schema), but the description provides meaningful parameter details: length range (8-64), charset options (alphanumeric, hex, alpha, full), and purpose for audit. This compensates well for the lack of schema descriptions.

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?

The description clearly states the tool generates a cryptographically secure random key, which is a specific verb-resource combination. It distinguishes itself from sibling tools like validate_key and manage_key_lifecycle.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like manage_key_lifecycle or validate_key. The description lacks context about prerequisites or scenarios where this tool is preferred.

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

manage_key_lifecycleA

Manage cryptographic key lifecycle per NIST SP 800-57.

Actions: create, transition, check, inventory, rotation, policies, destroy_guidance, report, validate_practice

Args: action: Action to perform - "create", "transition", "check", "inventory", "rotation", "policies", "destroy_guidance", "report", "validate_practice" key_id: Key identifier (required for create, transition, check) name: Human-readable key name (for create) key_type: Key type e.g. "symmetric_encryption", "tls_key", "api_key" (for create) algorithm: Algorithm e.g. "AES-256", "RSA-4096" (for create) key_length_bits: Key length in bits (for create) new_state: Target state for transition - "active", "deactivated", "compromised", "destroyed" reason: Reason for state transition owner: Key owner/custodian location: Key storage location (e.g. "HSM", "AWS KMS") purpose: Key purpose description practice_description: Text description of key management practices (for validate_practice)

Returns: JSON key lifecycle management result

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
key_idNo
nameNo
key_typeNosymmetric_encryption
algorithmNoAES-256
key_length_bitsNo
new_stateNo
reasonNo
ownerNo
locationNo
purposeNo
practice_descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Provides standard reference and action list, but lacks disclosure of side effects, permission requirements, or irreversible actions. With no annotations, description adds some context but remains incomplete.

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

Conciseness4/5

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

Starts with clear purpose statement, then structured list of actions and parameters. No redundant sentences, but the description could be more front-loaded with essential context.

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

Completeness3/5

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

Covers actions and parameters adequately, but lacks examples, error handling, or ordering of operations. Output schema exists but not explained. Adequate for a complex tool but with noticeable gaps.

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 has 0% description coverage. Description compensates by explicitly listing each parameter with its purpose and applicable context, especially for actions. Clear mapping of parameters to actions.

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?

Clearly states 'Manage cryptographic key lifecycle per NIST SP 800-57' and enumerates specific actions. Distinct from sibling tools which focus on specific cryptographic operations or compliance checks.

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

Usage Guidelines3/5

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

Implied usage via action list, but no explicit guidance on when to use this tool versus alternatives like generate_key or validate_key. No when-not or alternative references.

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

rot13A

Apply ROT13 cipher (self-inverse: encoding = decoding).

Args: text: Text to encode/decode

Returns: JSON with ROT13 result

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so the description bears full burden. It notes self-inverse behavior and JSON return, but lacks details on case handling, non-alphabetic characters, or potential edge cases. Barely adequate.

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?

Extremely concise—three lines with clear purpose, argument doc, and return description. No fluff; front-loaded with the core action.

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?

Given low complexity and presence of an output schema, the description adequately covers input, operation, and output. However, it lacks notes on typical usage, character set, or limitations, but is complete enough for a straightforward cipher.

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 0%, but the description defines 'text' as 'Text to encode/decode', adding functional meaning beyond the schema's type-only definition. For a single simple parameter, this is sufficient.

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?

The description clearly states 'Apply ROT13 cipher' with the self-inverse property, distinguishing it from sibling tools like caesar_encrypt/caesar_decrypt. The verb 'Apply' and resource 'ROT13 cipher' are specific.

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

Usage Guidelines2/5

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

No guidance on when to use rot13 versus alternatives like caesar or vigenere ciphers. The self-inverse hint is present but no explicit when/not or sibling differentiation.

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

validate_keyA

Validate a key's strength for the specified algorithm.

Args: key: Key to validate algorithm: Target algorithm (caesar, vigenere, xor)

Returns: JSON with validation results and recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
algorithmNovigenere

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states the return is 'JSON with validation results and recommendations,' providing some transparency, but lacks details on side effects, error conditions, or whether it modifies state.

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?

The description is concise with three lines plus Args and Returns, front-loading the purpose. No unnecessary words or redundant information.

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

Completeness3/5

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

Given 0% schema coverage and no annotations, the description is adequate but relies on the presence of an output schema for detail. It lacks specifics on validation criteria and output structure.

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?

The description adds meaning beyond the schema by listing valid algorithms (caesar, vigenere, xor) in the Args section, compensating for 0% schema description coverage. However, it does not detail key format or strength criteria.

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?

The description clearly states the tool validates a key's strength for a specified algorithm, using specific verbs and resources. It distinguishes from siblings like generate_key (key generation) and others.

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

Usage Guidelines3/5

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

The description implies usage for validating key strength before encryption or similar operations, but does not explicitly state when to use this tool versus alternatives like analyze_cnsa_compliance or detect_cipher_type.

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

vigenere_decryptC

Decrypt ciphertext using Vigenère cipher with known key.

Args: ciphertext: Text to decrypt key: Decryption key

Returns: JSON with decrypted plaintext

ParametersJSON Schema
NameRequiredDescriptionDefault
ciphertextYes
keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided. The description does not disclose behavioral traits such as key validation, case sensitivity, error handling, or that an incorrect key yields garbled output. This is insufficient for a decryption tool.

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

Conciseness4/5

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

The description is short and front-loaded with the main purpose. However, the Args and Returns sections are redundant given the schema and output schema, but not overly verbose.

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

Completeness2/5

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

The tool is simple but lacks details on prerequisites (e.g., key must be alphabetic), edge cases (e.g., non-alphabetic characters), and error conditions. An output schema exists, so return value description is not needed, but other context is missing.

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

Parameters2/5

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

Schema coverage is 0%, meaning the description adds no additional meaning beyond the input schema. The Args section merely restates parameter names and types without explaining constraints or formats.

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 tool decrypts ciphertext using the Vigenère cipher with a known key. It uses a specific verb and resource, but does not distinguish from sibling tools like vigenere_encrypt or caesar_decrypt.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives like caesar_decrypt or brute_force_xor. The description does not mention prerequisites or exclusions.

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

vigenere_encryptA

Encrypt plaintext using Vigenère cipher.

Args: plaintext: Text to encrypt key: Encryption key (letters only) validate: Whether to validate key strength (default: True)

Returns: JSON with encrypted ciphertext

ParametersJSON Schema
NameRequiredDescriptionDefault
plaintextYes
keyYes
validateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states the return format (JSON with ciphertext) and hints at key validation via the 'validate' parameter, but it does not describe behavior on validation failure, handling of non-letter characters, or limitations. The phrase 'validate key strength' is ambiguous.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose. The Args and Returns sections are structured and easy to parse. One minor point: the validation description could be clearer, but overall it is appropriately sized for a simple tool.

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

Completeness3/5

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

The tool is simple with 3 parameters and a straightforward output. The description covers the main functionality but lacks details on edge cases (e.g., non-alphabetic input, key validation errors). Given the output schema exists, the description does not need to detail return values beyond 'JSON with encrypted ciphertext,' which is sufficient.

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 description coverage is 0%, so the description must compensate. It adds meaningful descriptions for all three parameters in the Args section (e.g., 'key: Encryption key (letters only)'), which clarifies constraints not in the schema (e.g., key must be letters). This adds significant value beyond type alone.

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?

The description starts with 'Encrypt plaintext using Vigenère cipher,' which clearly states the tool's action (encrypt), resource (plaintext), and algorithm (Vigenère). This distinctly differentiates it from siblings like vigenere_decrypt, caesar_encrypt, and other crypto tools.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like vigenere_decrypt or validate_key. It implies use for encryption, but lacks guidance on prerequisites (e.g., key must be letters only) or when not to use it. However, the context of sibling tools gives implicit differentiation.

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

xor_cipherA

XOR encrypt/decrypt text with a key.

Args: text: Text or hex string to process key: XOR key input_hex: If True, treat input as hex string

Returns: JSON with XOR result in multiple formats

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
keyYes
input_hexNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 full burden. It mentions encrypt/decrypt functionality and return format, but lacks details on edge cases like key handling, character encoding, or reversibility.

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?

The description is concise: a one-line summary followed by clean args/returns sections. Every sentence adds value, with no redundancy.

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?

Given the tool's simplicity and presence of an output schema, the description covers essential functionality and parameters. It could mention encoding or key length issues, but is largely complete.

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 0%, but the description adds meaning for each parameter: text is 'Text or hex string', key is 'XOR key', input_hex explains its boolean purpose, compensating well for the schema gap.

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?

The description clearly states 'XOR encrypt/decrypt text with a key', providing a specific verb and resource, and distinguishes from sibling tools like caesar_encrypt and vigenere_encrypt.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives, such as when to prefer XOR over other ciphers or any prerequisites.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 18 tool updatesv0.3.0
    • First observedanalyze_cnsa_compliance
    • First observedassess_pqc_readiness
    • First observedaudit_crypto_usage
    • First observedbrute_force_xor
    • First observedcaesar_crack
    • First observedcaesar_decrypt
    • First observedcaesar_encrypt
    • First observedcheck_fips_compliance
    • First observeddetect_cipher_type
    • First observedfrequency_analysis
    • First observedgenerate_compliance_report
    • First observedgenerate_key
    • First observedmanage_key_lifecycle
    • First observedrot13
    • First observedvalidate_key
    • First observedvigenere_decrypt
    • First observedvigenere_encrypt
    • First observedxor_cipher

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes: Caesar encrypt/decrypt/crack are clearly different; Vigenere and XOR similarly. Compliance tools (FIPS, CNSA, PQC, combined report) overlap somewhat but descriptions clarify their scope. A few analytical tools (frequency_analysis, detect_cipher_type) are distinct. Overall, minimal confusion.

Naming Consistency4/5

Names are all lowercase with underscores. Most follow a verb_noun pattern (e.g., generate_key, check_fips_compliance). However, 'frequency_analysis' uses noun_noun and 'rot13' is just a name, deviating from the pattern. Predominantly consistent.

Tool Count4/5

18 tools is slightly above the ideal range (3-15) but still reasonable for the breadth of coverage: classical ciphers, compliance, key management, and analysis. Not excessive; each tool serves a clear function.

Completeness3/5

The set covers classical ciphers and compliance/audit well, but lacks modern cryptographic operations (AES encryption, hashing, digital signatures). Key management is about metadata, not key pair generation. These are notable gaps for a 'crypto tools' server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to perform quantum-resistant cryptographic operations using NIST-standardized algorithms including ML-KEM, ML-DSA, and SPHINCS+. Supports key generation, encryption, digital signatures, and security analysis for post-quantum cryptography research and development.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for sovereign AES-256-GCM backup encryption and decryption. Enables encrypting, decrypting, verifying, and scoring passphrases with zero network calls.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Post-quantum readiness for AI coding agents: scans code for quantum-vulnerable cryptography (RSA/ECDH/ECDSA/DH) and returns NIST ML-KEM/ML-DSA/SLH-DSA (and hybrid) migration guidance, with fix verification and dependency checks. Content-based, advisory tools only; runs local (npx @quantakrypto/mcp) or as a hosted OAuth endpoint.
    16
    10
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marc-shade/crypto-tools-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server