Skip to main content
Glama
zer0-kr

security-framework-mcp

by zer0-kr

Search and query 4,700+ security data points through a single MCP interface — NIST (1,196 SP 800-53 controls with 53A assessments and 53B baselines, CSF 2.0, PF 1.0, SP 800-37 RMF, 613 publications, CMVP, NICE, glossary, CSF↔800-53 mappings) and OWASP (Top 10, API/LLM/MCP Top 10, ASVS 5.0, WSTG, MASVS, Proactive Controls, 815+ CWEs, 559 CAPEC attack patterns, 113+ Cheat Sheets, 418+ projects) — with live NVD/CVE + CISA KEV + EPSS, PDF reading, compliance mapping, STRIDE threat modeling, and MCP security assessment.

Quick Start

pip install git+https://github.com/zer0-kr/security-framework-mcp.git

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "security": {
      "command": "security-framework-mcp"
    }
  }
}

Claude CLI (Claude Code):

claude mcp add security -- security-framework-mcp
{ "security": { "command": "security-framework-mcp" } }

First run automatically builds the local database (~15-20 seconds). Auto-refreshes weekly.

Related MCP server: Spotter-SAST

Data Sources (22 local + 3 live)

NIST (10)

Source

Records

Description

SP 800-53 Rev. 5 Controls

1,196

Security/privacy controls + 53A assessment objectives/methods + 53B baselines (LOW/MODERATE/HIGH)

CSF 2.0

225

Cybersecurity Framework (6 functions, 22 categories, 197 subcategories)

PF 1.0

92

Privacy Framework (5 functions)

SP 800-37 RMF

7 steps

Risk Management Framework (7-step process)

Publications

613

Full NIST cybersecurity publications (SP 800, FIPS, IR, CSWP)

CSF ↔ 800-53 Mappings

57

Framework cross-references

Glossary

39

Core cybersecurity terms

Synonyms

53

Security acronym expansions (MFA↔multi-factor authentication, etc.)

CMVP

15

FIPS 140 validated crypto modules

NICE Work Roles

43

Cybersecurity Workforce Framework roles

OWASP (12)

Source

Records

Description

Projects

418

Flagship/Production/Lab/Incubator projects

ASVS 5.0

345

Application Security Verification Standard

WSTG

111

Web Security Testing Guide

Top 10 2021 / API Top 10 2023 / LLM Top 10 2025 / MCP Top 10 2025

10 each

Web/API/LLM/MCP security risks + CWE mappings

Proactive Controls 2024

10

Developer defense controls

MASVS

23

Mobile Application Security Verification Standard

CWE Database

815+

Full MITRE CWE + OWASP cross-references

Cheat Sheets

113+

Security implementation guides (on-demand)

CAPEC Attack Patterns

559

MITRE CAPEC attack patterns + CWE cross-references

Live APIs

Source

Description

NVD CVE API 2.0

Real-time CVE search

CISA KEV

Known Exploited Vulnerabilities catalog

FIRST EPSS

Exploit Prediction Scoring System

Tools (41)

NIST

Tool

Description

search_nist

Search all 10 NIST sources

get_nist_control

SP 800-53 control — statement, guidance, 53A assessment, 53B baseline filter (LOW/MODERATE/HIGH), family filter

get_nist_csf

CSF 2.0 functions/categories/subcategories

get_nist_pf

PF 1.0

get_nist_rmf

SP 800-37 RMF steps, tasks, key documents

get_nist_publication

613 publications (SP 800, FIPS, IR, CSWP)

read_publication

Download + convert NIST PDFs to Markdown

get_nist_mapping

CSF 2.0 ↔ SP 800-53 bidirectional mappings

get_nist_glossary

Cybersecurity terms

get_nist_cmvp

FIPS 140 validated modules

get_nice_roles

NICE workforce roles

OWASP

Tool

Description

list_projects

Browse 418+ projects by level/type

search_projects

Full-text search across projects

get_project

Project details

get_asvs

ASVS 5.0 — filter by chapter, level, query

get_wstg

WSTG test cases — filter by category, query

get_top10

Top 10 2021 + CWE mappings

get_api_top10

API Security Top 10 2023

get_llm_top10

LLM Top 10 2025

get_mcp_top10

MCP Top 10 2025

get_proactive_controls

Proactive Controls 2024

get_masvs

MASVS mobile security

get_cheatsheet

113+ Cheat Sheets

Vulnerability & CWE

Tool

Description

get_cwe

CWE lookup + auto OWASP cross-references

search_cve

Live NVD search

get_cve_detail

Full CVE details

search_kev

CISA KEV — vendor/product/date/ransomware filters

Analysis & Assessment

Tool

Description

lookup_compliance

Reverse lookup: PCI-DSS/ISO 27001 requirement → NIST/ASVS

triage_cve

CVE triage with EPSS + CVSS + KEV composite scoring

map_finding

CWE/CVE → complete remediation chain

get_attack_pattern

CAPEC attack patterns with CWE cross-references

search_owasp

Search all 22 sources (NIST + OWASP unified)

cross_reference

CWE → Top 10 / ASVS / WSTG

compliance_map

ASVS → PCI-DSS 4.0 / ISO 27001:2022 / NIST 800-53

nist_compliance_map

SP 800-53 families → PCI-DSS 4.0 / ISO 27001:2022

assess_stack

Tech stack security assessment

generate_checklist

Security checklist (web/api/mobile/llm/full × basic/standard/comprehensive)

assess_mcp_security

MCP Top 10 assessment

threat_model

STRIDE threat modeling

update_database

Rebuild index

database_status

DB status

Prompts (4)

Prompt

Description

security_review

Guided security review

threat_analysis

Threat analysis workflow

compliance_check

Compliance assessment

secure_code_review

Code security review

Use Cases

Vulnerability Management

> Triage CVE-2021-44228 and CVE-2023-44487 — show EPSS, CVSS, KEV status

> Show all CISA KEV entries for Microsoft added after 2025-01-01

> Show only KEV vulnerabilities with known ransomware campaign use

> What attack patterns target CWE-502 (deserialization)?

> Map CWE-79 to OWASP Top 10, ASVS requirements, WSTG tests, and remediation guidance

Compliance & Audit

> What NIST SP 800-53 controls and ASVS requirements map to PCI-DSS 8.3?

> Map ASVS V4 to PCI-DSS 4.0, ISO 27001, and NIST 800-53

> Map NIST SP 800-53 AC family to PCI-DSS and ISO 27001

> Show SP 800-53 LOW baseline controls for the IA (Identification and Authentication) family

> Show SP 800-53 AC-1 control with 53A assessment objectives

Threat Modeling & Architecture Review

> Generate a STRIDE threat model: payment API, JWT auth, PostgreSQL, Redis cache

> Assess my stack: React, Node.js, PostgreSQL, REST API, AWS Lambda

> Find CAPEC attack patterns related to SQL injection

> Search all NIST and OWASP sources for "zero trust"

Development Security

> Generate a comprehensive security checklist for a web API project

> Show OWASP Cheat Sheet for Authentication

> Cross-reference CWE-352 (CSRF) to Top 10, ASVS, and WSTG test cases

> Show ASVS V3 (Session Management) level 2 requirements

> Search NVD for critical log4j CVEs

Configuration

Variable

Default

Description

SECURITY_MCP_DATA_DIR

~/.security-framework-mcp

Database directory

SECURITY_MCP_UPDATE_INTERVAL

604800 (7 days)

Refresh interval

NVD_API_KEY

(none)

Optional NVD API key

Architecture

┌─────────────────────────────────┐
│         MCP Client              │
│  (Claude / Cursor / OpenCode)   │
└──────────────┬──────────────────┘
               │ stdio
┌──────────────▼──────────────────┐
│   security-framework-mcp        │
│  41 tools · 4 prompts · 6 rsrc │
├──────────────┬──────────────────┤
│  SQLite FTS5 │  Live APIs       │
│  (~6.2MB)    │  NVD+KEV+EPSS   │
├──────────────┴──────────────────┤
│  NIST Collectors (10)           │
│  OWASP Collectors (12)          │
└──────────────┬──────────────────┘
               │ httpx (retry)
┌──────────────▼──────────────────┐
│  NIST OSCAL/CSRC · OWASP GitHub │
└─────────────────────────────────┘

Development

git clone https://github.com/zer0-kr/security-framework-mcp.git
cd security-framework-mcp
pip install -e ".[dev]"
python -m pytest tests/test_unit_db.py tests/test_unit_collectors.py -v
python tests/test_comprehensive.py

Contributing

  1. Fork → 2. Branch → 3. Test (python -m pytest) → 4. PR

License

MIT


Not affiliated with OWASP Foundation or NIST. Data sourced from public repositories.

Available Tools

41 tools
assess_mcp_securityA
Read-onlyIdempotent

Assess an MCP server deployment against the OWASP MCP Top 10 security risks.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesDescribe your MCP server setup: what tools it exposes, how auth works, what data it accesses, how it's deployed

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and description adds the scope of assessment against a specific standard without contradicting annotations. It doesn't detail internal process but is adequate given 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?

Single sentence, front-loaded with the core purpose, containing no extraneous information. Every word earns its place.

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?

For a single-parameter tool with an output schema, the description provides sufficient context to understand what the tool does and when to use it. No gaps remain.

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?

With 100% schema description coverage, the parameter 'description' is already explained in the schema. The tool description adds no further meaning beyond what the schema property description provides, resulting in a baseline score.

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?

Description clearly states the verb 'assess' with a specific resource ('MCP server deployment') and standard ('OWASP MCP Top 10 security risks'), distinguishing it from sibling tools like 'get_mcp_top10' and 'assess_stack'.

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?

Implicit usage context is clear (security assessment against MCP Top 10), but no explicit when-not-to-use or alternatives are mentioned, even though many sibling tools exist (e.g., 'get_mcp_top10', 'threat_model').

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

assess_stackA
Read-onlyIdempotent

Given a technology stack, recommend relevant OWASP security guidelines, cheat sheets, and test cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
stackYesTechnology stack description, e.g. 'React, Node.js, PostgreSQL, REST API'

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?

Annotations already indicate readOnlyHint and idempotentHint; description adds no extra behavioral details beyond recommendation scope.

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?

Single sentence, no redundancy, efficient and clear.

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?

Simple tool with one parameter, annotations, and likely output schema; description sufficient for core use.

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 covers parameter with description and example; description adds format clarification beyond schema.

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?

Description specifies verb 'recommend' and resource 'OWASP security guidelines, cheat sheets, and test cases' distinct from siblings like get_cheatsheet or assess_mcp_security.

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 get_cheatsheet for specific documents; lacks exclusion criteria.

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

compliance_mapA
Read-onlyIdempotent

Map OWASP ASVS requirements to compliance frameworks (PCI-DSS, ISO 27001, NIST 800-53).

ParametersJSON Schema
NameRequiredDescriptionDefault
frameworkNoCompliance framework to map ASVS requirements toall
asvs_chapterNoFilter by ASVS chapter, e.g. 'V1'

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?

Annotations already declare readOnlyHint and idempotentHint, so the description adds minimal behavioral insight beyond the mapping action. It does not discuss output details or limitations.

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?

Single sentence, no wasted words, clear and direct.

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?

With full schema coverage and an output schema present, the description sufficiently conveys the tool's purpose for an agent. Minor gap: no hint about output structure.

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?

Input schema covers both parameters with descriptions and enums. The tool description does not add extra meaning beyond the schema, so baseline score applies.

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 maps OWASP ASVS requirements to specific compliance frameworks (PCI-DSS, ISO 27001, NIST 800-53). The verb 'map' is specific and distinguishes it from siblings like 'lookup_compliance' that may have broader scope.

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. Sibling tools like 'nist_compliance_map' exist but the description does not differentiate or provide context for choosing.

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

cross_referenceA
Read-onlyIdempotent

Cross-reference CWE IDs with OWASP Top 10, ASVS, and WSTG entries.

ParametersJSON Schema
NameRequiredDescriptionDefault
cweNoCWE ID to cross-reference, e.g. 'CWE-79'
top10_idNoTop 10 ID to find related CWEs/ASVS, e.g. 'A03:2021'

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?

Annotations already declare readOnlyHint=true and idempotentHint=true. The description confirms read-only behavior without adding new behavioral context beyond that.

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 a single concise sentence (10 words), front-loaded with the core purpose, containing no redundant 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 that an output schema exists (not shown), the description is sufficient for the tool's complexity. It could clarify that it returns mappings between standards, but it is adequate.

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 coverage is 100% with clear parameter descriptions. The tool description does not add extra meaning beyond what is already in the schema, so the baseline score of 3 applies.

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 uses a specific verb 'cross-reference' and names the resources (CWE IDs, OWASP Top 10, ASVS, WSTG entries), clearly distinguishing it from sibling tools like get_cwe or get_top10 that retrieve single entries.

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 use when mapping between standards, but lacks explicit guidance on when to use this tool versus alternatives such as get_cwe, get_top10, etc.

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

database_statusA
Read-onlyIdempotent

Show local database availability, freshness, and path.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by specifying exactly what data is shown (availability, freshness, path), confirming it is a safe, read-only operation without side effects.

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 a single, efficient sentence that conveys complete information without unnecessary words. It front-loads the key action and resource.

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 has no parameters and an output schema is present, the description fully covers what the tool does. Annotations cover safety and idempotency, so no further behavioral context is needed.

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 tool has zero parameters; baseline score is 4. No additional parameter description is needed, and the description does not attempt to document nonexistent parameters.

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 uses a specific verb ('Show') and clearly identifies the resource ('local database') and the attributes displayed (availability, freshness, path). It is distinct from sibling tools, which are mostly security assessments or database modification tools.

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, nor any prerequisites or context for its use. Usage must be inferred from the purpose alone.

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

generate_checklistA
Read-onlyIdempotent

Generate a security testing checklist based on project type and depth level.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_typeYesProject type
levelNoDepthstandard

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?

Annotations already provide readOnlyHint and idempotentHint, indicating safe behavior. The description adds no further behavioral context (e.g., whether the checklist is dynamically generated, any external dependencies). Given annotations cover safety, a score of 3 is appropriate for minimal added value.

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 a single, front-loaded sentence with no wasted words. It efficiently communicates the core purpose.

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 simple nature of the tool (2 enum parameters) and availability of output schema, the description is reasonably complete. It could benefit from specifying the output format or scope, but it's adequate for an agent to understand the tool's function.

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 coverage is 100% with descriptions for both parameters. The description rephrases the schema ('project type' and 'depth level') without adding new meaning. Baseline 3 is correct as schema does the heavy lifting.

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 'Generate a security testing checklist based on project type and depth level' clearly states the specific verb 'generate', the resource 'security testing checklist', and the criteria 'project type and depth level'. This distinguishes it from sibling tools that are primarily retrieval or assessment 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. It implies usage for generating checklists, but lacks guidance on when not to use it or what other tools (e.g., get_asvs, get_cheatsheet) might be more appropriate for specific needs.

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

get_api_top10A
Read-onlyIdempotent

Get OWASP API Security Top 10 2023 items with CWE mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoAPI Security Top 10 item ID, e.g. 'API1:2023'. Omit to list all.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate readOnly and idempotent behavior. The description adds value by specifying that results include CWE mappings, which is a key behavioral trait not captured by 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?

The description is a single, front-loaded sentence with no extraneous information. Every word contributes to understanding the tool's purpose.

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?

For a simple read-only tool with comprehensive annotations, an output schema, and full schema coverage, the description is sufficiently complete. It covers what the tool returns (items with CWE mappings) and no additional context is necessary.

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 documentation coverage is 100% for the single parameter, which already explains its format and default behavior (omit to list all). The description adds no additional parameter insight beyond the schema, justifying the baseline score of 3.

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 it retrieves OWASP API Security Top 10 2023 items with CWE mappings, which is specific and differentiates from siblings like get_top10 (general top 10) or get_llm_top10.

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. The description lacks any explicit or implicit usage context, such as prerequisites or scenarios.

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

get_asvsA
Read-onlyIdempotent

Get OWASP ASVS 5.0 verification requirements. Filter by chapter, level, or search.

ParametersJSON Schema
NameRequiredDescriptionDefault
chapterNoFilter by chapter ID, e.g. 'V1'. Omit for all.
levelNoFilter by ASVS level: '1', '2', or '3'. Omit for all.
queryNoSearch keywords within ASVS requirements
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so description doesn't need to restate safety. Description adds that it returns 'verification requirements' which is consistent and useful.

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?

Single sentence effectively conveys tool purpose and filtering options. No unnecessary words or repetition.

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 output schema exists and parameters are well-documented in schema, description covers filtering and resource identity. Lacks mention of pagination but that is handled by schema (limit, offset).

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 descriptions already exist for all parameters, covering meaning and defaults. Description adds 'Filter by chapter, level, or search' which largely repeats schema info. With 60% schema coverage, description contributes minimal extra value.

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?

Description clearly states 'Get OWASP ASVS 5.0 verification requirements', specifying the exact resource and version. It distinguishes from sibling tools like get_masvs or get_nist_* which target different standards.

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 'Filter by chapter, level, or search' provides clear usage context for retrieving specific requirements. Lacks explicit when-not or alternatives, but siblings are distinct standards making the use case obvious.

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

get_attack_patternA
Read-onlyIdempotent

Look up MITRE CAPEC attack patterns by ID, related CWE, or free-text search.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoCAPEC ID, e.g. 'CAPEC-62' or '62'
cweNoFind attack patterns for a CWE, e.g. 'CWE-79'
queryNoFree-text search across attack patterns
limitNo

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?

Annotations already declare readOnlyHint and idempotentHint as true. The description adds no further behavioral details such as authentication needs, rate limits, or side effects, providing minimal extra value beyond the structured 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?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and search modes without any extraneous 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?

The description covers the essential search modes and, combined with the annotated output schema and well-documented parameters, provides sufficient context. However, it lacks usage guidance or edge-case behavior, which slightly detracts from completeness.

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 75%, and the parameter descriptions in the schema are already informative (e.g., examples for id, cwe, query). The tool description ('by ID, related CWE, or free-text search') merely echoes the schema, adding no new semantic depth.

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 looks up MITRE CAPEC attack patterns, specifying three distinct search modes: by ID, related CWE, or free-text search. This differentiates it from sibling tools like get_cwe or get_cve_detail, which handle other entity types.

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 contexts (e.g., when you need CAPEC details) but does not explicitly state when to avoid this tool or suggest alternatives. No comparisons with sibling tools are provided, leaving the agent to infer usage from tool names alone.

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

get_cheatsheetA
Read-onlyIdempotent

Get an OWASP Cheat Sheet by name, or list all available cheat sheets.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCheat sheet name, e.g. 'SQL Injection Prevention'. Omit to list all available.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the burden on the description is low. The description adds the behavior of listing all when omitted, which is consistent and slightly extends 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?

A single, front-loaded sentence with no unnecessary words. Every part contributes meaning.

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?

For a tool with one optional parameter and an output schema, the description fully covers both operational modes (get by name, list all) without needing further detail.

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% and the parameter description already explains the field. The description adds an example ('SQL Injection Prevention') and clarifies the omit-for-list behavior, adding value beyond the schema.

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 ('Get' or 'list'), the resource ('OWASP Cheat Sheet'), and the optional behavior. It differentiates from other get_* sibling tools by specifying retrieval by name or listing all.

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 explicitly advises to omit the 'name' parameter to list all cheat sheets, providing clear usage guidance. However, it does not discuss when not to use this tool or mention alternatives, though the context is sufficient for a simple retrieval tool.

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

get_cve_detailA
Read-onlyIdempotent

Fetch detailed information for a specific CVE from the live NVD database.

ParametersJSON Schema
NameRequiredDescriptionDefault
cve_idYesCVE ID, e.g. 'CVE-2024-1234'

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?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering key behavioral aspects. The description adds 'from the live NVD database' indicating real-time data, but does not disclose error handling or rate limits. With annotations, the description provides minimal incremental transparency.

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 a single sentence with no unnecessary words, efficiently conveying the tool's purpose.

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 an output schema exists, the description need not detail return values. It covers the essentials: fetching detailed info on a specific CVE from the live database. Minor omission: no mention of error behavior for invalid CVE IDs, but otherwise complete for its complexity.

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 100% coverage, describing cve_id with pattern and example. The description does not add additional meaning beyond the schema, so 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 'Fetch detailed information for a specific CVE from the live NVD database.' It specifies the action (fetch), the resource (detailed info on a CVE), and the source (live NVD), distinguishing it from sibling tools like search_cve or get_cwe.

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 fetching details on a known CVE ID but does not explicitly state when not to use it or name alternatives like search_cve for searching. Usage context is implied but not clarified.

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

get_cweA
Read-onlyIdempotent

Look up a CWE (Common Weakness Enumeration) by ID with description and OWASP cross-references.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCWE ID, e.g. 'CWE-79' or '79'

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, repeatable reads. The description adds context by specifying that the tool returns 'description and OWASP cross-references,' which enhances transparency about the output.

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 a single, well-structured sentence that front-loads the action and resource. Every word is necessary; there is no fluff or repetition.

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 simplicity of the tool, the presence of annotations, and the existence of an output schema (though not detailed here), the description is sufficiently complete. It covers the purpose, parameter acceptance, and output content. Minor omission: no mention of error handling or limits, but not critical for a simple lookup.

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 schema has 100% description coverage for the single parameter 'id', including an example format. The description adds no additional parameter semantics beyond what the schema already provides, so 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 function: 'Look up a CWE (Common Weakness Enumeration) by ID with description and OWASP cross-references.' It specifies a specific verb ('look up'), a clear resource ('CWE by ID'), and the output, distinguishing it from sibling tools like get_cve_detail or search_cve.

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 implicitly tells the agent when to use this tool: when you have a specific CWE ID. It does not explicitly state when not to use it or suggest alternatives, but for a simple lookup, this is adequate. The sibling tools provide context for differentiation.

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

get_llm_top10A
Read-onlyIdempotent

Get OWASP Top 10 for LLM Applications 2025 items with CWE mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoLLM Top 10 item ID, e.g. 'LLM01:2025'. Omit to list all.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so description adds context about returning CWE mappings, which is helpful. No contradictions.

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?

Single sentence, 14 words, front-loaded with key purpose, no superfluous content.

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?

With an output schema present and full annotation coverage, the description is sufficient for an agent to understand what the tool does and how to use it.

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 coverage is 100% and schema already describes the 'id' parameter. The description adds no extra meaning beyond what schema provides.

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 retrieves OWASP Top 10 for LLM Applications 2025 items with CWE mappings, distinguishing it from sibling tools like get_top10 (general web app) and get_mcp_top10.

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?

No explicit guidance on when to use or not use this tool vs siblings; only implied through the specific name and description.

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

get_masvsC
Read-onlyIdempotent

Get OWASP MASVS (Mobile Application Security Verification Standard) controls.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory ID, e.g. 'MASVS-STORAGE'. Omit for all.
queryNoSearch keywords within MASVS controls
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate the tool is read-only and idempotent. The description adds no additional behavioral context (e.g., rate limits, data scope) beyond what annotations provide, failing to add value.

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 a single, efficient sentence with no wasted words. However, it is so concise that it sacrifices informative content, which prevents a higher score.

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 and has an output schema, reducing the need for extensive description. Yet, it lacks context on the use of parameters (category, query, limit) and how it differs from siblings, making it minimally 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?

The input schema covers 67% of parameters with descriptions. The tool description does not elaborate on parameters, so it adds no meaning beyond the schema. Baseline score of 3 is appropriate given schema 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 the tool retrieves OWASP MASVS controls, which is specific and distinguishes it from siblings like get_asvs or get_wstg. However, it is essentially a tautology of the tool name, lacking additional detail about the scope of 'controls'.

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 (e.g., get_asvs, get_wstg). The description omits context, such as when to filter by category or search query, leaving the agent without decision support.

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

get_mcp_top10A
Read-onlyIdempotent

Get OWASP Top 10 for MCP Servers 2025 — security risks specific to MCP deployments.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoMCP Top 10 item ID, e.g. 'MCP01:2025'. Omit to list all.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior2/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds no additional behavioral context such as authentication requirements or rate limits.

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?

Single sentence, no wasted words. Front-loaded with action and resource.

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 output schema exists, the description adequately covers purpose and parameter guidance. Annotations provide safety profile.

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 baseline is 3. The description adds a concrete example ('e.g. 'MCP01:2025'') which clarifies the parameter format beyond the schema.

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 the tool retrieves the 'OWASP Top 10 for MCP Servers 2025', a specific resource, with a specific verb 'Get'. It distinguishes from sibling tools like get_api_top10 and get_llm_top10.

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?

Implies usage when MCP-specific security risks are needed, but does not explicitly state when to use, when not, or provide alternative tool names.

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

get_nice_rolesA
Read-onlyIdempotent

Browse NICE Cybersecurity Workforce Framework work roles (SP 800-181).

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category, e.g. 'Protect and Defend'
queryNoSearch keywords
limitNo

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?

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to re-state safety. It adds only the context of browsing the NICE framework. No additional behavioral traits like pagination or return format are mentioned.

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?

A single sentence that is front-loaded and to the point. No extraneous information; every word serves the purpose.

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 and thorough annotations, the minimal description is mostly sufficient. However, it could mention that results are returned or that no authentication is needed, but overall it's reasonably complete for a browse tool.

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 67%, and the schema already describes parameters (category, query, limit) with examples and constraints. The description adds no further parameter meaning, so 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 identifies the tool as browsing NICE Cybersecurity Workforce Framework work roles (SP 800-181). It uses a specific verb ('browse') and resource, distinguishing it from siblings that cover other NIST topics.

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?

No explicit guidance on when to use this tool versus alternatives like 'get_nist_glossary' or 'get_nist_publication'. The description implies usage for browsing work roles but lacks when-not-to-use or exclusion criteria.

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

get_nist_cmvpA
Read-onlyIdempotent

Search NIST CMVP (Cryptographic Module Validation Program) validated modules.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch vendor, module, or algorithm
fips_levelNoFilter by FIPS level: 1, 2, or 3
limitNo

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?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds no further behavioral traits. It does not contradict annotations, but offers no additional context beyond the search action.

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?

Single sentence, 16 words, front-loaded with key action and resource. No extraneous 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?

Adequate for a simple search tool with 3 parameters and an output schema. Could mention search fields (vendor, module, algorithm) but not essential given schema descriptions.

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 67%, and the description does not add meaning to parameters beyond the schema. For 'limit', the schema provides constraints but no description; the tool description omits it entirely. 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 searches NIST CMVP validated modules, using a specific verb and resource. It distinguishes from sibling tools by focusing on cryptographic module validation.

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 search_nist or get_nist_publication. Usage context is only implied by the description.

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

get_nist_controlA
Read-onlyIdempotent

Get NIST SP 800-53 Rev. 5 controls. Filter by ID, baseline (LOW/MODERATE/HIGH), or family.

ParametersJSON Schema
NameRequiredDescriptionDefault
control_idNoControl ID, e.g. 'ac-1'. Omit with baseline to list controls.
baselineNoFilter by SP 800-53B baseline level
familyNoFilter by family ID, e.g. 'ac', 'si'
include_assessmentNoInclude SP 800-53A assessment objectives and methods
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds no additional behavioral traits (e.g., pagination, default limit, or range limitations). Minimal value beyond annotations.

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?

Single sentence that is clear and front-loaded. Could optionally include version mention, but remains efficient and understandable.

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?

With output schema present, description covers main purpose and filters. Lacks mention of non-filter parameters (include_assessment, limit), but overall sufficient for a read-only retrieval tool.

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 has 5 parameters with 80% description coverage. Description summarizes three filters (ID, baseline, family) but omits include_assessment and limit. Adds some meaning but not comprehensive.

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 'Get NIST SP 800-53 Rev. 5 controls' which specifies the exact standard and resource. Mentions filtering options (ID, baseline, family) distinct from sibling tools covering other NIST documents.

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?

Describes when to use (retrieving controls with filters) but does not explicitly state when not to use or point to alternative siblings. Implicit context is clear but lacks explicit guidance.

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

get_nist_csfA
Read-onlyIdempotent

Get NIST Cybersecurity Framework (CSF) 2.0 functions, categories, and subcategories.

ParametersJSON Schema
NameRequiredDescriptionDefault
function_idNoCSF Function: GV, ID, PR, DE, RS, RC. Omit for all.
levelNoFilter by hierarchy levelall
queryNoSearch keywords
limitNo

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?

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is clear. The description adds no extra behavioral context beyond what annotations cover.

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?

Single sentence, front-loaded with verb and resource, 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?

Output schema exists, so return values are covered. The description is sufficient given annotations and schema, though not exhaustive.

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 75%, and the description does not add meaning beyond what is in the schema. 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 retrieves NIST CSF 2.0 functions, categories, and subcategories, using a specific verb and resource. It distinguishes from sibling tools like get_nist_control or get_nist_mapping.

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 when to use (retrieve CSF hierarchy) but does not provide explicit guidance on when not to use or alternatives among the many NIST-related siblings.

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

get_nist_glossaryA
Read-onlyIdempotent

Look up NIST cybersecurity terms and definitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
termNoTerm to look up. Omit to list all.

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?

Annotations already declare readOnlyHint and idempotentHint, which the description does not contradict. However, the description adds no additional behavioral context beyond what annotations provide.

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 a single sentence with no wasted words. It is appropriately concise for a simple lookup tool.

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 (one optional parameter) and the presence of an output schema, the description provides sufficient context for an agent to understand its purpose and usage.

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%, and the parameter description ('Term to look up. Omit to list all.') is explicit. The tool description adds no extra value beyond the schema.

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 action ('look up') and the resource ('NIST cybersecurity terms and definitions'). It is specific and distinct from sibling tools like get_nist_csf or get_nist_control, which focus on other NIST resources.

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?

No explicit guidance on when to use this tool vs alternative tools like search_nist or get_nist_publication. The usage is implied but not clearly differentiated.

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

get_nist_mappingA
Read-onlyIdempotent

Look up CSF 2.0 ↔ SP 800-53 framework mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idNoSource ID, e.g. 'PR.AA' (CSF category)
target_idNoTarget ID, e.g. 'AC-1' (SP 800-53 control)

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?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool is known to be safe and idempotent. The description adds no behavioral details beyond these annotations, which is adequate but does not go further.

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 a single, efficient sentence that immediately conveys the tool's purpose with no superfluous words. It is front-loaded and compact.

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 low complexity (two optional parameters, no enums, output schema present), the minimal description is largely sufficient. However, it does not elaborate on the mapping format or any edge cases, leaving slight room for interpretation.

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 provides full descriptions for both parameters (source_id and target_id), achieving 100% coverage. The description does not add extra meaning; the parameters are self-explanatory from their names and schema. Baseline score of 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 looks up CSF 2.0 to SP 800-53 framework mappings, which is a specific verb+resource pair. It distinguishes this tool from siblings like get_nist_csf and get_nist_control that deal with individual frameworks rather than cross-mappings.

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 provide any guidance on when to use this tool versus alternatives such as get_nist_csf or lookup_compliance. The purpose is clear, but lacking context on appropriate usage scenarios or exclusions.

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

get_nist_pfB
Read-onlyIdempotent

Get NIST Privacy Framework (PF) 1.0 functions, categories, and subcategories.

ParametersJSON Schema
NameRequiredDescriptionDefault
function_idNoPF Function: ID-P, GV-P, CT-P, CM-P, PR-P. Omit for all.
levelNoFilter by levelall
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. Description adds that it retrieves PF elements but no further behavioral details like pagination or default behavior.

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?

Single sentence that is direct and front-loaded with the key action and resource. No unnecessary words.

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 presence of an output schema and annotations, the description is adequate for a simple retrieval tool. However, lacks context on parameter interplay (e.g., effect of omitting function_id) and usage scenarios.

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?

Description does not add meaning beyond the schema. With 67% schema coverage, it is below the high threshold, so description should compensate but does not. Parameters like function_id and limit are not elaborated.

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 the verb 'Get' and the specific resource 'NIST Privacy Framework (PF) 1.0 functions, categories, and subcategories'. Differentiates from siblings like get_nist_csf by name and description.

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 get_nist_csf or get_nist_rmf. Lacks context for choosing this over siblings.

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

get_nist_publicationA
Read-onlyIdempotent

Search or browse NIST cybersecurity publications (SP 800, FIPS, IR, CSWP series).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoPublication ID, e.g. 'SP 800-53'. Omit to list all.
seriesNoFilter by series: SP, FIPS, IR, CSWP
queryNoSearch keywords
limitNo

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?

Annotations already declare readOnlyHint and idempotentHint. Description adds the scope of series (SP 800, FIPS, IR, CSWP) but does not disclose additional behavioral traits like pagination or rate limits. The description does not contradict 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?

Single, efficient sentence that is front-loaded and contains no unnecessary words. Every part of the description adds value.

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?

Covers the essential purpose and scope. With an output schema present, the description does not need to detail return values. However, it could briefly mention that omitting 'id' lists all publications, but this is implied by 'search or browse'. Lacks usage guidance against many siblings, but the core functionality is well described.

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 has 75% description coverage with detailed parameter explanations. The description adds context about series (SP 800, FIPS, IR, CSWP), which is already in the schema description for 'series'. No new meaning beyond what schema provides.

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 searches or browses NIST cybersecurity publications with specific series (SP 800, FIPS, IR, CSWP). Distinguishes from siblings like 'read_publication' and 'search_nist' by specifying the exact resource and action.

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?

Implies usage for searching/browsing these series but does not explicitly state when to use alternatives like 'read_publication' for single documents or 'search_nist' for broader NIST content. No exclusion criteria are given.

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

get_nist_rmfA
Read-onlyIdempotent

Get NIST SP 800-37 Risk Management Framework (RMF) steps, tasks, and key documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepNoRMF step: PREPARE, CATEGORIZE, SELECT, IMPLEMENT, ASSESS, AUTHORIZE, MONITOR. Omit for all.

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?

Annotations provide readOnlyHint and idempotentHint, covering safety. The description adds that the tool returns steps, tasks, and documents, but doesn't disclose additional behavioral aspects (e.g., error handling, rate limits). Given the annotations' coverage, the description adds moderate 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?

The description is a single, front-loaded sentence with no wasted words. Every word serves a purpose: verb, specific resource, and scope of output.

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 tool with one optional parameter, good annotations, and an output schema (which explains return values), the description adequately covers what the tool does and returns. Minor improvement could be noting the hierarchical structure of steps, but it is nearly 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 coverage is 100%, with the parameter description listing valid steps and default behavior. The tool description adds no further meaning beyond the schema, earning the baseline score of 3.

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 'Get', the resource 'NIST SP 800-37 Risk Management Framework', and the specific content (steps, tasks, key documents). This distinguishes it from sibling tools like get_nist_csf or get_nist_control, which cover different frameworks.

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 the tool's purpose (retrieve RMF details) but provides no explicit guidance on when to use it versus alternatives like get_nist_csf. It neither states exclusions nor recommends sibling tools, leaving the agent to infer context from the name alone.

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

get_proactive_controlsA
Read-onlyIdempotent

Get OWASP Proactive Controls 2024 — defensive measures developers should implement.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoControl ID, e.g. 'C1'. Omit to list all.

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?

Annotations already declare readOnlyHint and idempotentHint. The description adds 'Get' which aligns but doesn't disclose behavioral traits beyond what annotations provide. No contradiction found.

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?

A single, front-loaded sentence that efficiently conveys the tool's purpose with no extraneous 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?

Given a simple parameter set (one optional filter) and presence of an output schema, the description is mostly complete. However, it could mention the return format or how results are structured for better context.

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% for the single parameter 'id', which includes an example and behavior (omit to list all). The description adds no additional meaning beyond the schema, so 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 gets OWASP Proactive Controls 2024, specifying the resource and its purpose (defensive measures). It distinguishes itself from sibling tools like get_api_top10 or get_cheatsheet by naming a specific OWASP resource.

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. It does not mention exclusions, prerequisites, or scenarios where other tools (e.g., get_cheatsheet) would be more appropriate.

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

get_projectA
Read-onlyIdempotent

Get detailed info for a specific OWASP project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name (from projects list or search)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's 'Get detailed info' is consistent. The description adds no behavioral context beyond what annotations provide.

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 a single sentence that conveys the purpose efficiently. No wasted words.

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 (one parameter, output schema present), the description is sufficient. The return values are covered by the output schema.

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 coverage is 100% for the single parameter 'name'. The description does not add additional meaning beyond the schema's description.

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 action ('Get'), the resource ('detailed info for a specific OWASP project'), and the domain ('OWASP'). It effectively distinguishes from sibling tools like 'list_projects' which lists projects, and 'search_projects' which searches.

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 indicates the tool is for a specific project and that the name comes from 'projects list or search', implying prerequisites. However, it does not explicitly state when not to use or compare to alternatives.

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

get_top10A
Read-onlyIdempotent

Get OWASP Top 10 2021 items with CWE mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoTop 10 item ID, e.g. 'A01:2021'. Omit to list all.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true, ensuring safe, idempotent operation. The description adds that it returns items with CWE mappings, providing useful behavioral detail beyond the structured annotations. No contradictions.

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?

A single, front-loaded sentence that contains no extraneous words. Every word is necessary and immediately conveys the tool's purpose.

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 low complexity (one optional parameter) and the presence of an output schema (not shown but noted), the description covers the essential information. It could mention that it retrieves from an embedded dataset, but overall it is sufficient for an agent to understand the tool's function.

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 coverage is 100% for the single parameter 'id', which is already described in the schema (e.g., 'e.g. A01:2021. Omit to list all.'). The description does not add any additional semantics for the parameter beyond what the schema provides, so baseline score of 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 verb 'Get', the resource 'OWASP Top 10 2021 items', and specifies the inclusion of 'CWE mappings'. This distinguishes it from sibling tools like 'get_api_top10' and 'get_llm_top10' by specifying the year and added context.

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 other similar tools (e.g., get_api_top10, get_llm_top10). No mention of prerequisites or when not to use it. The agent is left to infer context from the name alone.

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

get_wstgB
Read-onlyIdempotent

Get OWASP Web Security Testing Guide (WSTG) test cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category ID, e.g. 'WSTG-INFO'. Omit for all.
queryNoSearch keywords within WSTG tests
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds no further behavioral context (e.g., pagination, rate limits). Given annotation coverage, a score of 3 is appropriate.

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 a single concise sentence with no wasted words. However, it could be more structured with additional 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?

While the tool is simple and has output schema and annotations, the description omits usage guidance and parameter details, making it only moderately complete.

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 description coverage is 50% (category and query have descriptions; limit and offset do not). The description adds no parameter information beyond the schema, failing to compensate for undocumented parameters.

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 retrieves OWASP Web Security Testing Guide test cases, using a specific verb and resource. It easily distinguishes from sibling tools like get_api_top10 or get_asvs.

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 such as search_owasp or other get_* tools. The description does not mention context or exclusions.

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

list_projectsA
Read-onlyIdempotent

List OWASP projects. Includes Flagship, Production, Lab, and Incubator levels.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoFilter by project level: flagship, production, lab, incubator, retired, or allall
typeNoFilter by type: documentation, code, tool, or allall
limitNoMax results
offsetNoPagination offset

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so description adds minimal behavioral disclosure beyond mentioning included levels. No contradiction.

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?

Single sentence that is clear and front-loaded. No unnecessary words, though could be slightly expanded for depth.

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?

Sufficient for a simple listing tool with well-documented parameters and output schema. No major gaps given the tool's complexity.

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%, with clear defaults and enums. Description adds no additional semantics beyond what schema provides.

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?

Clearly states tool lists OWASP projects and mentions included levels. However, it does not explicitly differentiate from sibling tools like 'get_project' or 'search_projects'.

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: use to list or filter projects. No explicit guidance on when to use this tool over alternatives or when not to use it.

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

lookup_complianceA
Read-onlyIdempotent

Reverse compliance lookup — find NIST SP 800-53 families, ASVS chapters, and related controls from a PCI-DSS or ISO 27001 requirement.

ParametersJSON Schema
NameRequiredDescriptionDefault
requirementYesCompliance requirement ID, e.g. 'PCI-DSS 8.3', 'ISO27001 A.5.15', '7.1'
frameworkNoSource framework. Auto-detected if requirement starts with 'A.' (ISO) or is numeric (PCI)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true and idempotentHint=true, indicating safe, side-effect-free operation. The description adds value by disclosing that the tool returns families, chapters, and related controls, clarifying the output scope without contradicting 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?

The description is a single sentence that is front-loaded with the key action ('Reverse compliance lookup') and efficiently communicates the tool's purpose without extraneous 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?

The description is fairly complete for a lookup tool: it specifies input types (PCI-DSS/ISO27001), output types (NIST/ASVS), and the mapping direction. It does not describe output format, but the existence of an output schema compensates for that. Some limitations or examples could improve completeness, but overall adequate.

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?

No description parameter documentation needed as schema coverage is 100%. The description adds overall context ('reverse compliance lookup') but does not enhance parameter semantics beyond what the schema already provides, such as auto-detection of framework.

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 performs a 'reverse compliance lookup' to find NIST SP 800-53 families, ASVS chapters, and related controls from PCI-DSS or ISO 27001 requirements. It distinguishes from sibling tools by specifying the exact mapping direction and source frameworks.

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 when you have a PCI-DSS or ISO 27001 requirement and need corresponding NIST/ASVS controls, but it does not explicitly state when to use this tool versus alternatives like compliance_map or nist_compliance_map. No exclusion criteria or example scenarios are provided.

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

map_findingA
Read-onlyIdempotent

Map a security finding (CWE, CVE, or description) to a complete remediation package: CWE details, OWASP Top 10 / API Top 10 / LLM Top 10 mappings, ASVS requirements, WSTG test cases, cheat sheets, and compliance impact (PCI-DSS 4.0, ISO 27001:2022, NIST 800-53).

ParametersJSON Schema
NameRequiredDescriptionDefault
cweNoCWE ID, e.g. 'CWE-79' or '79'
cveNoCVE ID, e.g. 'CVE-2024-1234'. CWE will be auto-extracted from NVD data
descriptionNoFree-text finding description for keyword-based matching

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint true, so the description adds no further behavioral insights. It does not contradict annotations but also does not elaborate on any additional traits.

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 a single, information-dense sentence that front-loads the key action and enumerates outputs efficiently, with no redundant words.

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 existence of an output schema, the description sufficiently covers the scope of the remediation package returned, omitting nothing critical for 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 coverage is 100% with descriptions for all three parameters. The description reiterates the input types (CWE, CVE, description) but adds no extra semantics beyond what the schema already provides.

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 action ('Map') and target ('security finding to remediation package'), listing exactly what is included (CWE details, OWASP mappings, etc.). It distinguishes this aggregate tool from sibling tools that retrieve individual components.

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 does not provide guidance on when to use this tool vs. alternatives like get_cwe or search_cve. There is no mention of prerequisites or when not to use it, leaving the agent without decision support.

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

nist_compliance_mapA
Read-onlyIdempotent

Map NIST SP 800-53 Rev. 5 control families to PCI-DSS 4.0 and ISO 27001:2022.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyNoSP 800-53 control family ID, e.g. 'AC', 'SI'. Omit to list all families.
target_frameworkNoTarget compliance framework to map NIST controls toall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description's safety profile is covered. The description adds no further behavioral context beyond the mapping function, which is adequate 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?

A single, front-loaded sentence of 16 words that precisely communicates the action and scope without any extraneous information.

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?

With 0 required parameters, 100% schema coverage, annotations covering safety, and an output schema present, the description provides all necessary context for an agent to use the tool correctly.

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 coverage is 100% with clear descriptions for both parameters. The description does not add extra meaning beyond the schema, so 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 verb 'Map' and specifies the source (NIST SP 800-53 Rev. 5 control families) and targets (PCI-DSS 4.0 and ISO 27001:2022), making the tool's purpose distinct from siblings like 'compliance_map' or 'cross_reference'.

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 (e.g., 'compliance_map', 'cross_reference', 'lookup_compliance'), nor does it mention when not to use it or any prerequisites.

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

read_publicationA
Read-onlyIdempotent

Download and read a NIST publication PDF. Returns table of contents or specific pages as Markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
publication_idYesPublication ID, e.g. 'SP 800-53'
pagesNoPage range, e.g. '1-5'. Omit for table of contents.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds that it downloads a PDF and returns markdown, either table of contents or specific pages. This provides context beyond annotations, such as the output format and page range capability.

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 sentences, front-loaded with the key action, and no extraneous words. 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?

Given the tool's simplicity (2 params, read-only, output schema exists), the description covers all essential aspects: what it does (download PDF), what it returns (markdown of TOC or pages), and constraints (page range optional). No gaps for typical usage.

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% with both parameters documented. Description adds no further meaning beyond what is in the schema, so baseline of 3 applies.

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?

Description clearly states the tool downloads and reads a NIST publication PDF, returning markdown. The verb 'download and read' and specific resource 'NIST publication PDF' distinguish it from siblings like get_nist_publication which likely return metadata.

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?

No explicit guidance on when to use this tool versus alternatives like get_nist_publication or search_nist. The description implies usage for retrieving content but does not exclude other scenarios.

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

search_cveA
Read-onlyIdempotent

Search the live NVD database for CVE vulnerabilities. Requires internet access.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNoSearch keyword, e.g. 'log4j'
cwe_idNoFilter by CWE ID, e.g. 'CWE-79'
severityNoFilter by CVSS v3 severity
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds that the tool accesses a 'live' database and 'requires internet access', which are behavioral traits not covered by annotations, without contradiction.

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 a single concise sentence that front-loads the purpose. Every word is necessary; no waste.

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?

The tool has an output schema (not shown), so return values are documented. The description conveys the key constraint (internet access) and purpose. It does not mention pagination or result limiting, but the limit parameter is in the schema.

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 75% (3 of 4 parameters have descriptions). The description adds an example ('e.g. 'log4j'') for the keyword parameter, but does not elaborate on other parameters beyond what the schema provides. Baseline of 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 searches the live NVD database for CVE vulnerabilities, using a specific verb ('Search') and resource ('NVD database'), and distinguishes it from sibling tools like 'get_cve_detail' which retrieve specific CVEs.

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 mentions 'Requires internet access' as a usage constraint. It implicitly suggests use for searching CVEs, but does not explicitly state when not to use it or provide alternatives.

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

search_kevA
Read-onlyIdempotent

Search CISA Known Exploited Vulnerabilities (KEV) catalog with vendor, product, date, and ransomware filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
cve_idNoCheck if a specific CVE is in CISA KEV
vendorNoFilter by vendor, e.g. 'Microsoft', 'Apache'
productNoFilter by product, e.g. 'Exchange', 'Log4j'
date_added_afterNoFilter KEVs added after date (YYYY-MM-DD)
date_added_beforeNoFilter KEVs added before date (YYYY-MM-DD)
ransomware_onlyNoOnly show KEVs with known ransomware campaign use
count_onlyNoJust return total KEV count
limitNoMax results to return

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the description's behavioral disclosure is minimal. It does not add context about rate limits, data freshness, or any side effects beyond what annotations provide. The description does not contradict annotations.

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?

Single sentence, front-loaded with key filters. It is concise but could be slightly more structured (e.g., bullet points). However, it is efficient without waste.

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 complexity (8 optional params, 0 required) and the presence of an output schema, the description covers the main purpose and filters. It does not need to explain return values. Missing a note on default limit, but overall complete for a search tool.

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 coverage is 100%, with descriptions for each parameter. The description only lists filter categories (vendor, product, date, ransomware), which adds little beyond the schema. Baseline 3 is appropriate as the schema already carries the load.

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 it searches the CISA KEV catalog with specific filters (vendor, product, date, ransomware). The tool name aligns with the purpose, and it distinguishes itself from siblings like search_cve which searches a broader CVE database. This is a high-purpose clarity score.

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 filters, but it does not explicitly state when to use this tool versus alternatives (e.g., search_cve). No guidance on when not to use or prerequisites. Usage context is implied but not explicitly defined.

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

search_nistA
Read-onlyIdempotent

Search NIST data: SP 800-53 controls, CSF 2.0, PF 1.0, RMF, publications, glossary, CMVP, and NICE roles.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords
sourceNoFilter: controls, csf, pf, rmf, glossary, publications, cmvp, nice, or allall
limitNo

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?

Annotations already declare readOnlyHint and idempotentHint, so the description only adds the list of sources, not additional behavioral context. Meets baseline but doesn't exceed.

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?

Single sentence, front-loaded with action and resources, 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?

Given the complexity of searching multiple NIST sources and the existence of an output schema, the description covers the key aspects without being overly detailed.

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 67%. Description restates source options (already in schema enum) and doesn't add meaning for 'query' or 'limit'. 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?

Description clearly states the tool searches NIST data and lists specific resources (SP 800-53 controls, CSF 2.0, etc.), distinguishing it from sibling tools that fetch individual items by ID.

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?

Description implies when to use (search across multiple NIST sources) but lacks explicit guidance on when to use siblings like get_nist_control for fetching specific items by ID.

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

search_owaspA
Read-onlyIdempotent

Search across ALL OWASP data sources: projects, ASVS, WSTG, Top 10, and Cheat Sheets.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords
limitNoMax results per source

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so description need not repeat. Description adds value by specifying that the tool searches multiple sources, which is a key behavioral trait beyond 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?

The description is a single sentence that is clear and front-loaded, stating the action and scope immediately. Every word earns its place.

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 simple nature of the tool (search with query and limit), the presence of annotations and output schema, the description is complete enough for an agent to understand when and how to use it.

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 coverage is 100% with descriptions for both parameters. The description does not add additional meaning to the parameters beyond what the schema already provides, so baseline score of 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 searches across ALL OWASP data sources and lists specific sources (projects, ASVS, WSTG, Top 10, Cheat Sheets), distinguishing it from siblings that search individual sources.

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 broad cross-source search by saying 'Search across ALL OWASP data sources'. It does not explicitly state when not to use or alternatives, but the context of sibling tools makes the intention clear.

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

search_projectsA
Read-onlyIdempotent

Full-text search across all OWASP projects (name, title, pitch).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keywords
limitNoMax results
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true and idempotentHint=true, covering safety and idempotency. The description adds that it is full-text search across specific fields (name, title, pitch), which is useful context beyond annotations. No contradictions.

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?

Single sentence, front-loaded, concise, and no unnecessary words.

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?

With output schema present and strong annotations, the description is sufficient. It clearly describes the search scope and is complete for the tool's purpose.

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 high (67%), covering query and limit. The description does not add any parameter meaning beyond what the schema provides, so baseline score of 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?

Description states 'Full-text search across all OWASP projects (name, title, pitch)', providing a specific verb (search), resource (OWASP projects), and scope. It clearly distinguishes from sibling tools like search_cve and search_nist.

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 searching projects but does not explicitly state when to use this tool versus alternatives or provide when-not guidance. Usage is implied through the resource specification.

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

threat_modelA
Read-onlyIdempotent

Generate a STRIDE-based threat model for a system using OWASP data for mitigations.

ParametersJSON Schema
NameRequiredDescriptionDefault
systemYesSystem description: components, data flows, trust boundaries, and technologies
methodologyNoSTRIDE for detailed per-category analysis, summary for quick overviewstride

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?

Annotations (readOnlyHint, idempotentHint) already convey safety and idempotency. Description adds no further behavioral context (e.g., state changes, dependencies, or limitations).

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?

Single sentence, front-loaded with key information, no redundancy. Every word adds value.

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?

Covers core purpose, methodology, and source. With output schema present, return values are covered. Minor gap: no mention of prerequisites or assumed knowledge about system description.

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 has 100% description coverage for both parameters. Tool description adds no additional parameter meaning beyond what the schema already provides.

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?

Description clearly states the action (generate), resource (threat model), methodology (STRIDE-based), and data source (OWASP). It distinguishes from sibling tools like 'assess_stack' or 'get_attack_pattern' by specifying a generative task.

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?

Description implies usage for threat modeling but lacks explicit when-to-use or when-not-to-use guidance. No mention of alternatives or context for selecting this tool over siblings.

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

triage_cveA
Read-onlyIdempotent

Triage CVEs with EPSS scores, CVSS severity, and KEV status. Note: makes individual NVD API calls per CVE; expect ~6s/CVE without API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
cve_idsYesComma-separated CVE IDs, e.g. 'CVE-2024-1234,CVE-2024-5678'

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

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

Discloses that each CVE triggers an individual NVD API call with timing estimate. Annotations confirm read-only, idempotent, open-world. No contradictions.

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 sentences: first states purpose, second provides critical behavioral detail. No redundant information. Front-loaded.

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 output schema exists, description is sufficient: covers purpose, data sources, and performance implication. No missing context for a triage tool.

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?

Single parameter 'cve_ids' is fully described in schema with example and max length. Description adds no additional semantics beyond schema 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?

Description clearly states the tool triages CVEs using EPSS, CVSS, and KEV. It differentiates from siblings like search_cve and get_cve_detail by specifying the combined data sources.

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?

Provides explicit performance note about NVD API calls and timing, implying optimal use cases. Lacks direct comparison to alternatives but gives strong context for deciding when to use.

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

update_databaseB

Rebuild the local OWASP database from upstream sources.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior1/5

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

The annotations set destructiveHint=false, but 'Rebuild' implies a destructive operation (overwriting existing data). The description fails to clarify the actual behavior, such as whether the database is deleted and recreated, if network access is required, or what happens to custom modifications. This contradiction between annotation and description is confusing.

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 a single sentence with no filler words. It is concise and to the point. However, it may be too brief, sacrificing critical behavioral details for brevity.

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?

Despite having an output schema, the description lacks essential context: what 'rebuild' entails, side effects (data loss? downtime?), prerequisites (e.g., network connectivity), and success/failure indicators. For a potentially destructive operation, this is incomplete.

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 tool has zero parameters, so the input schema is fully covered. The description does not need to add parameter details. The baseline for zero parameters is 4, and the description meets that by simply stating the action.

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 'Rebuild' and the resource 'local OWASP database from upstream sources', providing a specific and unambiguous purpose. It differentiates from sibling tools like 'database_status' or 'search_owasp' by describing a write operation on the entire database.

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 does not provide any guidance on when to use this tool versus alternatives. There is no mention of prerequisites, frequency, or scenarios where a different tool (e.g., 'get_cwe' for specific data) would be more appropriate. This leaves the AI agent without context for selection.

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. 41 tool updatesv0.2.0
    • First observedassess_mcp_security
    • First observedassess_stack
    • First observedcompliance_map
    • First observedcross_reference
    • First observeddatabase_status
    • First observedgenerate_checklist
    • First observedget_api_top10
    • First observedget_asvs
    • First observedget_attack_pattern
    • First observedget_cheatsheet
    • First observedget_cve_detail
    • First observedget_cwe
    • First observedget_llm_top10
    • First observedget_masvs
    • First observedget_mcp_top10
    • First observedget_nice_roles
    • First observedget_nist_cmvp
    • First observedget_nist_control
    • First observedget_nist_csf
    • First observedget_nist_glossary
    • First observedget_nist_mapping
    • First observedget_nist_pf
    • First observedget_nist_publication
    • First observedget_nist_rmf
    • First observedget_proactive_controls
    • First observedget_project
    • First observedget_top10
    • First observedget_wstg
    • First observedlist_projects
    • First observedlookup_compliance
    • First observedmap_finding
    • First observednist_compliance_map
    • First observedread_publication
    • First observedsearch_cve
    • First observedsearch_kev
    • First observedsearch_nist
    • First observedsearch_owasp
    • First observedsearch_projects
    • First observedthreat_model
    • First observedtriage_cve
    • First observedupdate_database

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, targeting specific data sources (e.g., OWASP, NIST, CVE) or actions (e.g., assess, search, map). Even with many similar 'get_' tools, the target differs explicitly (e.g., get_top10 vs get_api_top10 vs get_llm_top10). No two tools appear to do the same thing.

Naming Consistency4/5

The majority of tools follow a verb_noun pattern (e.g., get_asvs, search_cve, assess_mcp_security). However, a few tools like 'database_status' (noun_noun) break the pattern. The inconsistency is minor but present.

Tool Count3/5

With 41 tools, the server is well beyond the typical 3-15 range. While the comprehensive coverage of multiple security frameworks justifies the count, the number is high and could be streamlined. Some tools are very similar (e.g., multiple 'get_top10' variants), making the set feel oversized.

Completeness5/5

The tool set covers an exhaustive range of security frameworks and data sources: OWASP (Top 10, API, LLM, MCP, ASVS, MASVS, WSTG, CheatSheets, Proactive Controls, Projects), NIST (CSF, SP 800-53, RMF, PF, Glossary, Publications, CMVP, NICE), CVE/KEV, compliance mappings, threat modeling, and triage. No obvious gaps for its stated purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

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
    A
    quality
    F
    maintenance
    A comprehensive security testing MCP server providing 51 tools for penetration testing, network forensics, memory analysis, and vulnerability assessment. It enables automated security audits and technical investigations across web applications, cloud environments, and network captures.
    51
    71
    23
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    A comprehensive MCP server for structured threat modeling using STRIDE methodology, with automatic code validation and report generation.
    100
    100
    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/zer0-kr/security-framework-mcp'

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