Skip to main content
Glama
BeardedInfoSec

Picus Security MCP Server

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Most tools have distinct purposes, with minor overlap between 'latest' and specific run/framework variants. Descriptions clarify the difference, making confusion unlikely.

    Naming Consistency5/5

    All tools follow a consistent 'picus_verb_noun' pattern in snake_case, with verbs being 'list', 'get', or 'search'. No mixing or irregular naming.

    Tool Count5/5

    23 tools cover a broad domain (simulation, threats, agents, integrations, mitigation) without being excessive. Each tool serves a clear functional area.

    Completeness3/5

    The tool set provides comprehensive read access to all major entities (simulations, runs, threats, actions, etc.) but entirely lacks mutation (create/update/delete) capabilities, which limits its usefulness for active simulation management.

  • Average 3.9/5 across 23 of 23 tools scored. Lowest: 3.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 11 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    No annotations; description mentions raw API payload returned as-is, but doesn't confirm read-only nature or other behaviors.

    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?

    Short and front-loaded, efficiently stating purpose and response format, but lacks parameter details.

    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?

    Explains raw response due to no output schema, but omits parameter context and sibling differentiation.

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

    Parameters2/5

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

    Schema coverage 0%; description adds no meaning to run_id and simulation_id beyond their titles.

    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 gets run results mapped to MITRE ATT&CK and Unified Kill Chain, distinguishing from siblings like picus_get_run_result.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this vs alternatives like picus_get_latest_run_frameworks or picus_get_run_result.

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

  • Behavior2/5

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

    Mentions raw API payload is returned as-is, providing some behavioral insight. No annotations exist, so description carries full burden; missing details on authentication, rate limits, side effects, or error conditions.

    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 purpose, no fluff. Every sentence adds value: purpose first, then sibling comparison and behavioral note.

    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?

    Adequate for a simple tool with one parameter, but lacks output schema description (only says 'raw payload'). No context on prerequisites or error states. References sibling but does not fully explain workflow.

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

    Parameters1/5

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

    Description adds no meaning beyond the schema for the sole parameter 'simulation_id'. With 0% schema description coverage, the description should compensate but does not explain the parameter's role or how to obtain it.

    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 retrieves the latest run's MITRE ATT&CK / Unified Kill Chain framework mapping. Distinguishes from sibling 'picus_get_run_frameworks' by specifying it is for the most recent run.

    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?

    Explicitly compares to sibling tool, indicating that this is the variant for the latest run. Provides context for when to use this tool, but lacks explicit when-not conditions or alternative usage scenarios.

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

  • Behavior2/5

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

    No annotations provided. The description does not disclose any behavioral traits such as side effects, rate limits, or authorization requirements. It implies a safe read operation but doesn't explicitly state it.

    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 concise sentences, no redundant information. Front-loaded with the verb and resource.

    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 parameterless list tool with no output schema. Mentions key return fields. Could be improved by noting pagination or scope, but not critical.

    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?

    No parameters exist, and schema coverage is 100%. The description adds value by specifying the output fields (device_id, device_name), which helps the agent understand what to expect.

    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 it lists vendor-based mitigation devices and returns device_id and device_name. The sibling tools are mostly 'get' or 'list' for different entities, so the resource type is specific and distinguishable.

    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?

    Provides guidance to use the returned device_id with picus_get_mitigation_device_stats or picus_get_device_signatures. However, it does not specify when to use this tool vs other list tools, nor any exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses included fields (IP, NAT IP, update needed, attack modules, created_at) and format (epoch ms), but does not mention read-only nature or potential side effects. Adequate but not rich.

    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 concise, using two sentences. The first sentence front-loads the core purpose, and the second adds useful detail. No unnecessary words.

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

    Completeness4/5

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

    For a simple single-agent retrieval tool with one parameter and no output schema, the description covers the tool's purpose and return fields. It lacks error conditions or permissions, but is largely complete for its complexity.

    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?

    With 0% schema description coverage, the description must add meaning. It says 'by id' which matches the parameter name, but does not elaborate on format, constraints, or that it's required (already in schema). Minimal added 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?

    The description clearly states the tool retrieves detailed configuration for a single agent by ID, using a specific verb ('Get') and resource ('agent'). It distinguishes from sibling tools that list agents or get other 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?

    The description indicates it is used with an agent ID, but does not explicitly state when to use vs. alternatives like picus_list_agents or provide usage exclusions. The guidance is implied but not explicit.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It mentions the output fields ('signature_id, name, vendor_severity, product_platform/version, etc.') and the relationship ('mitigate the given actions'). However, it does not disclose read-only nature, authentication needs, or any side effects, leaving gaps.

    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 brief (two sentences) and front-loaded: first sentence states core purpose, second adds constraints and output fields. Every word adds value, though it could be slightly more structured.

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

    Completeness4/5

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

    Given the tool has 2 parameters, no output schema, and no annotations, the description covers the key purpose, a critical constraint (max 10 action IDs), and the output structure. It is largely complete for a simple lookup tool, though it could include a usage example.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate. It adds meaning to 'action_ids' by specifying it is required and limited to 10 ids, which is not in the schema. However, 'device_id' is not described beyond its schema title, missing an opportunity to explain its role.

    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'), resource ('vendor prevention signature suggestions'), and scope ('for a device and actions'). It distinguishes from sibling tools like picus_get_action_alerts or picus_get_threat by specifying that it returns signatures that mitigate given actions.

    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 states that 'action_ids is REQUIRED (max 10 ids)', providing an explicit constraint. However, it does not explicitly mention when to use this tool versus alternatives, nor does it provide prerequisites or conditions. Usage is implied but not fully guided.

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

  • Behavior4/5

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

    In the absence of annotations, the description discloses the returned fields (blocked_count, not_blocked_count, total_count, score) and the API endpoint (/v2), adding behavioral context beyond the schema.

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

    Conciseness5/5

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

    The description is extremely concise, using only three lines to convey purpose, return structure, and endpoint. Every sentence is valuable and front-loaded.

    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 structure (one required param, no output schema), the description provides adequate context about the output and endpoint, though it lacks usage guidance and parameter explanation.

    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?

    With 0% schema description coverage, the description does not explain the device_id parameter. Although the name hints at an ID, the tool would benefit from specifying what device_id refers to or how to obtain it.

    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' and resource 'effectiveness stats for one mitigation device', distinguishing it from sibling tools like picus_get_device_signatures which return different data.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives such as picus_list_mitigation_devices or picus_get_device_signatures. The description only states what it does, not the context for use.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses behavioral differences between static and dynamic templates regarding return fields (threats vs rules) and content_updated_at format. No side effects mentioned, but appropriate for a read operation.

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

    Conciseness5/5

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

    The description is concise (4 sentences) and front-loaded with the purpose. Every sentence adds value without unnecessary detail.

    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 low complexity (1 param, no output schema/no annotations), the description adequately explains the return value differences. Could mention it's a read operation, but overall complete for the tool's simplicity.

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

    Parameters1/5

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

    Schema description coverage is 0%, but the description adds no information about the single required parameter (template_id) such as its format, usage, or how to obtain it. This is a significant gap.

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

    Purpose5/5

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

    The description clearly states the tool retrieves full details for one threat template, using a specific verb ('get') and resource. It distinguishes from sibling tools like picus_list_templates (list) and picus_get_threat (threat vs template).

    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 when or when-not guidance or alternatives mentioned. The description implies usage when full detail is needed, but lacks context about when to choose this over related tools.

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

  • Behavior3/5

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

    No annotations provided; description lists included return fields (description, severity, etc.) but omits behavioral traits such as idempotency, authentication, 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?

    Two efficient sentences with front-loaded purpose and no extraneous content.

    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?

    Description thoroughly explains return content for a single-parameter retrieval tool, though it omits error handling or potential edge cases.

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

    Parameters2/5

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

    Schema coverage is 0%; description does not clarify the 'threat_id' parameter beyond its type and requirement, failing to add meaningful context.

    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 ('Get') and resource ('full detail for a single threat'), distinguishing it from sibling tools like picus_search_threats and picus_list_threat_actions.

    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 retrieving a specific threat's details but lacks explicit guidance on when to use this tool versus alternatives like search or list endpoints.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden but only states 'List' without disclosing behavioral traits such as pagination, rate limits, or authentication requirements. It is not misleading but lacks depth.

    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, direct, and contains no redundant information. Every word 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?

    For a zero-parameter list-all tool with no output schema, the description is complete: it specifies the resource and the fields returned. No further details are necessary given the simplicity.

    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 and 100% schema coverage, so the baseline is 4. The description adds no parameter information, but none is needed.

    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 specifies the verb 'List' and the resource 'threat actors in the Threat Library', with parenthetical detail on returned fields (id, name, aka aliases), distinguishing it from sibling tools like picus_search_threats or picus_get_threat.

    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 given on when to use this tool versus alternatives like picus_search_threats or picus_list_threat_actions. The description does not mention when not to use it or provide context for selection.

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

  • Behavior3/5

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

    The description reveals the output fields and that timestamps are epoch milliseconds, but with no annotations, it fails to disclose potential behaviors such as pagination, limits, authentication requirements, or mutability, leaving gaps for an agent.

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

    Conciseness5/5

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

    The description is concise (4 sentences), front-loaded with the core purpose, and every sentence adds value by detailing the output structure without redundancy.

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

    Completeness4/5

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

    Given the tool's simplicity (no params, no output schema), the description adequately covers the main return fields and health_status nuance, though it omits potential meta-info like ordering or pagination.

    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?

    With zero parameters and 100% schema coverage, the baseline is 4. The description adds no parameter semantics but none are needed; the output details are sufficient context.

    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 ('List'), resource ('SIEM/EDR integrations'), and scope ('with health status'), effectively distinguishing it from sibling tools like picus_list_agents and picus_list_integration_agents.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. The description does not mention exclusions, prerequisites, or when another tool like picus_search_threats might be preferred.

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

  • Behavior4/5

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

    Discloses pagination via limit/offset, array serialization (comma-separated), and response structure including pages object and framework mappings. No annotations are provided, so description carries full burden. Lacks auth or rate limit info but sufficiently transparent for expected use.

    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?

    Front-loaded with purpose, followed by concise enumeration of filters and pagination details. Efficient use of words, but could be slightly more structured with bullet points.

    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 purpose, all optional filters, pagination behavior, and response content. For a search tool with 14 optional params and no output schema, the description provides sufficient context for correct invocation.

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

    Parameters4/5

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

    Schema has 0% description coverage, but the description enumerates all 14 parameters, their types (e.g., severities: Low/Medium/High), and optionality. Adds meaning beyond schema property names, though not exhaustive for all parameter values.

    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 'Search the Picus Threat Library with rich filters', specifying verb and resource. However, no explicit differentiation from sibling tools like picus_get_threat, but the name and description imply a broader search capability.

    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?

    Lists all filters as optional but does not provide guidance on when to use this tool versus alternatives (e.g., picus_get_threat for a single threat). Usage context is implied but not explicitly stated.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It mentions that the tool returns results and has the same shape as another tool, which gives some behavioral context. However, it does not explicitly state that it is a read-only operation, nor does it discuss potential errors, authentication, or other side effects. The transparency is adequate but not thorough.

    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 consists of two short sentences. The first states the purpose, and the second provides comparison and use case. Every word serves a purpose with no redundancy or unnecessary detail.

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

    Completeness4/5

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

    Given the tool's simplicity (one parameter, no output schema), the description is mostly complete. It explains the tool's purpose, compares it to a sibling, and gives a usage hint. It could have briefly mentioned what the result structure looks like, but the reference to 'same shape as picus_get_run_result' provides some context if the agent is familiar with that tool.

    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?

    The schema has one required parameter 'simulation_id' with no description in the schema itself (0% coverage). The tool description does not add any information about what this parameter means or how to obtain it. While the parameter name and title are somewhat self-explanatory, the description misses an opportunity to provide necessary context.

    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 that the tool retrieves prevention and detection results for the most recent run of a simulation. It also distinguishes itself from the sibling tool 'picus_get_run_result' by noting they have the same shape and by providing a use case for when to choose this one over the other.

    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 states when to use the tool: 'Convenient when you don't have a specific run id.' It also implicitly compares it to 'picus_get_run_result' by saying it has the same shape, giving the agent a clear alternative. It does not explicitly state when not to use it, but the context is clear enough.

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

  • Behavior3/5

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

    With no annotations, description must carry behavioral disclosure. It mentions timestamps format and the relation to other tools, but does not disclose read-only nature, potential side effects, or authentication needs.

    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?

    Description is very concise, front-loaded with the core purpose, and every sentence adds value. 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 no output schema and simple parameter set, the description covers the key response aspects (run list, timestamps) and usage flow. Could list more response fields, but adequate for the tool's simplicity.

    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?

    Only one parameter (simulation_id) with 0% schema coverage. Description adds minimal meaning beyond the name, just implying it's an identifier. No constraints or format details given.

    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 gets full detail for one simulation including run list. The verb 'get' and resource 'simulation detail' are specific. Distinct from sibling tools like picus_get_run_result and picus_list_simulations.

    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?

    Explains how to use the run list with picus_get_run_result and timestamp format. Provides clear context for chaining, but does not explicitly state when to use this tool vs alternatives like picus_get_template.

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

  • Behavior4/5

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

    With no annotations, the description fully discloses the return structure: each action includes signature_names and signature_descriptions (generic recommendations). It also mentions pagination with a pagination object containing total_count. It does not mention any side effects, but as a read-only list, this is sufficient.

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

    Conciseness5/5

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

    The description is concise, using 5 lines to cover purpose, return details, filters, and pagination. It front-loads the most important information and avoids unnecessary elaboration. Every sentence 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?

    Given the complexity (9 parameters, no output schema, no annotations), the description covers the main aspects: return structure, filters, and pagination. However, it lacks explicit details on the exact response fields beyond signature_names and signature_descriptions, and the meaning of each filter could be more thorough. Still, it is largely adequate 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 description coverage is 0%, so the description is the sole source of parameter meaning. It enumerates the filters (threat_or_action_name, threat_ids, threat_severities, attack_modules, assessment_id_list, is_all_assessments, run_id) and mentions limit/offset for pagination. However, it does not explain the values or behavior of filters like attack_modules or assessment_id_list, leaving some ambiguity.

    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 that the tool lists not-blocked actions with generic mitigation suggestions, and specifies the returned fields (signature_names, signature_descriptions). It uses a specific verb and resource, and distinguishes itself from sibling list tools through the 'not-blocked' qualifier.

    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 lists available filters but provides no explicit guidance on when to use this tool versus alternatives like picus_list_threat_actions or picus_get_threat_action. There is no mention of prerequisites or when not to use it; usage context is only implied through the filter descriptions.

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

  • Behavior5/5

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

    No annotations are provided, so the description carries the full burden. It discloses pagination (limit, offset, max 1000), node_id disambiguation, and the condition that alerts only appear with enriched integration having alert analysis enabled. This is comprehensive behavioral context.

    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 5 sentences, front-loads the purpose, and avoids unnecessary words. It is concise but could be more structured (e.g., bullet points for return fields or parameters).

    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 7 parameters, 4 required, no output schema, and no annotations, the description covers basic behavior and a condition but omits explanations for required IDs and return format details beyond field names. It is adequate but not fully 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 coverage is 0%, so the description must explain parameters. It describes limit, offset, and node_id, but the four required parameters (simulation_id, threat_id, action_id, integration_id) are not explained. This leaves significant gaps for an agent to correctly invoke the tool.

    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 lists alerts for a specific action, scoped to the latest run, and specifies return fields (name, source, log_type, time). This distinguishes it from sibling tools that deal with agents, devices, frameworks, etc.

    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 when you need alerts for a specific action from an integration, and notes it is scoped to the latest run. However, it does not explicitly state when not to use this tool or provide alternatives, though the context is clear.

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

  • Behavior5/5

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

    Since no annotations are provided, the description carries full behavioral disclosure. It reveals API quirks (misspelled field names), conditional population of certain blocks (results only on completion/stop, detection_analysis only when flag is true), and timestamp format (epoch ms). This exceeds minimal expectations.

    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 paragraph with front-loaded purpose. Every sentence adds essential information (outputs, quirks, conditions). No wasted words or redundancy.

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

    Completeness4/5

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

    Given simple integer parameters and no output schema, the description covers primary aspects: output items, conditional fields, and API peculiarities. It lacks a structured return format overview but is sufficient for an AI agent to understand what to expect. The score reflects slight room for improvement (e.g., listing all fields retuned).

    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?

    With 0% schema description coverage, the description should add meaning beyond parameter names. It only mentions 'specific simulation run' but does not explain the role of run_id and simulation_id (e.g., that they together identify a run). The schema already provides titles 'Run Id' and 'Simulation Id', so the description adds negligible 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?

    The description clearly states the action ('Get') and specific resource ('prevention + detection results for a specific simulation run'). It mentions key outputs (security scores, threat counts, attacker-objective counts) and distinguishes from siblings like picus_get_latest_run_result and other get tools that focus on different aspects.

    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 requiring simulation_id and run_id for a specific run, but it does not explicitly state when to use this tool versus alternatives (e.g., picus_get_latest_run_result). No guidance on prerequisites or exclusions is provided.

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

  • Behavior4/5

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

    No annotations provided; description carries full burden. It discloses that the tool returns threats with prevention status and detection analysis (log_result/alert_result), and mentions pagination behavior. It does not explicitly state read-only or auth needs, but the read-only nature is reasonable and 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?

    Three sentences, front-loaded with purpose, no redundant information. Each sentence adds value: purpose, result structure, pagination details. Efficient and well-structured.

    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 moderate complexity (hierarchical output, pagination), the description covers purpose, behavior, and parameter details adequately. No output schema, but return structure is described. Enough for an agent to use correctly without needing additional context.

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

    Parameters4/5

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

    Schema has 0% description coverage; description compensates by explaining limit and offset: 'Paginated via limit (default 10, max 50) and offset; response includes a pages object with total_count.' It adds max 50 constraint not in schema. Does not elaborate on simulation_id or run_id, but those are clear from name.

    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 'List a run's results broken down by threat -> objective -> action.' It specifies verb and resource, and the hierarchical breakdown distinguishes it from sibling tools like picus_get_run_result which likely lists runs at a higher level.

    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 provides context (paginated with limit/offset) but lacks explicit when-to-use/not-use guidance or alternatives among the many sibling tools. The usage is implied for getting detailed threat-level results of a run.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It discloses that the response includes affected platforms, attack category/module, framework mappings (MITRE/UKC), process details, keyword queries, and epoch timestamps. This adds significant behavioral context beyond a simple 'get detail' statement, though it does not explicitly state that it is a read-only operation.

    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 two sentences. The first sentence clearly states the purpose. The second sentence lists the key data points included. There is no extraneous information, and every sentence adds value. It is front-loaded and efficient.

    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 that there is no output schema, the description does an excellent job of outlining what the agent can expect: platforms, attack category/module, framework mappings, process details, keyword queries, and timestamps. This covers the essential information for a detail retrieval endpoint. No critical gaps are apparent.

    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?

    There is only one parameter (action_id) with no description in the schema (0% coverage). The tool description does not elaborate on the parameter's meaning beyond what is implied by the name and context. Since it is a simple integer and the purpose is clear, the description provides minimal additional value for parameter understanding. A score of 3 reflects that the parameter is self-evident but not enhanced by the 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 'Get full detail for a single action from the Threat Library.' It specifies the verb (get) and the resource (full detail for a single action). This distinguishes it from sibling tools like picus_list_threat_actions (list) and picus_get_threat (get a threat, not an action).

    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?

    While no explicit when-to-use or exclusion statements are given, the purpose implies it is for retrieving detailed information about a specific action. The agent can infer from the name and description that this is for detail retrieval, and sibling tools like list variants serve different purposes. The lack of explicit alternatives prevents a higher score.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It clearly states it is a list (read-only) operation with no mention of side effects, which is transparent for a simple retrieval tool. No further behavioral detail is needed.

    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 two efficient sentences, front-loading the purpose and then listing key fields. No redundant 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?

    Given no input parameters, no output schema, and the simple nature of the tool, the description adequately covers what the tool does and returns. It is complete for an agent to invoke it correctly.

    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 description does not need to add parameter semantics. The baseline for zero parameters is 4, and the description adds value by clarifying the returned fields.

    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 lists integration agents (collectors connecting Picus to SIEM/EDR) and specifies the exact fields returned (id, name, status, installed, token expired, epoch timestamps), making it distinct from sibling tools like picus_list_agents and picus_list_integrations.

    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 should be used to list integration agents but does not provide explicit guidance on when to use it versus alternatives or any context such as prerequisites or exclusions.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses pagination via limit/offset, and that returned data includes threat_count, agent_types, and content_updated_at. However, does not mention read-only nature or any 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?

    Two sentences, front-loaded with purpose, followed by filter details and output fields. Every sentence is informative and 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 0% schema coverage, no output schema, and no annotations, the description covers the tool's purpose, all parameters, filtering behavior, pagination, and output fields. Highly complete for a listing tool.

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

    Parameters4/5

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

    Schema coverage is 0%, so description compensates by explaining each parameter: category_name with examples, content_type with allowed values, and limit/offset for pagination. Provides meaningful guidance 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?

    Clearly states the verb 'List' and resource 'threat templates', and distinguishes between dynamic and static templates. The description also mentions filters, making the purpose specific and differentiating from sibling tools like 'picus_get_template'.

    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 when to use (when listing templates) but does not explicitly state when not to use or mention alternative tools, such as 'picus_get_template' for a single template. No exclusions or context explained.

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

  • Behavior4/5

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

    With no annotations, the description bears full burden. It discloses the API version (/v2), pagination behavior, maximum limit, filter parameters, and response structure (pages object with total_count). This is comprehensive for a list tool, though it could mention idempotency or read-only nature explicitly.

    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 exceptionally concise: two sentences covering purpose, pagination, filtering, and response. Every sentence adds necessary information, and the first sentence immediately states the tool's core function. No extraneous text.

    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 list tool with no output schema and 4 parameters, the description sufficiently explains input (limit, offset, filters) and output (pages object with total_count). It could be more explicit about the shape of each action object beyond id/name/updated_at, but the first sentence covers that. Overall adequate.

    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?

    Although the schema has no descriptions (0% coverage), the description enriches parameters by specifying limit's default (100) and maximum (100), offset's default (0), and that updated_at parameters expect epoch integers. This adds vital meaning beyond parameter names and titles.

    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 explicitly states the action ('List'), the resource ('Threat Library actions'), and the returned fields ('light metadata: id, name, updated_at'). This clearly distinguishes it from sibling tools like 'picus_get_threat_action' which retrieves a single action's details.

    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 provides clear context on pagination (limit/offset with max 100) and filtering (updated_at_gte/lte in epoch), which helps the agent know how to use the tool. However, it does not explicitly state when NOT to use this tool or suggest alternatives like searching, but the context is strong enough.

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

  • Behavior4/5

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

    No annotations provided, but the description explains response structure (pages object, scores 0-100, updated_at as epoch ms) and filter behaviors (substring/exact match). It could explicitly state that the operation is read-only, but overall it sufficiently discloses the tool's 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?

    The description is concise, well-structured with bullet points for filters, and front-loaded with the main purpose. Every sentence adds value without redundancy.

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

    Completeness4/5

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

    No output schema, but the description covers response details (pages, scores, timestamps) and pagination. For a list tool with 12 parameters, it is fairly complete, though the exact fields of a simulation object are not specified.

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

    Parameters5/5

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

    Despite 0% schema description coverage, the description thoroughly explains all 12 parameters, including pagination (limit, offset) and filters (status, names, IDs, score ranges). This adds significant meaning beyond the schema itself.

    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 'List simulations with overview data and latest prevention/detection scores.' It specifies the resource (simulations) and what data is returned, distinguishing it from sibling tools like picus_get_simulation which retrieves a single simulation.

    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 provides detailed filtering and pagination options, guiding when to use this tool for listing simulations with scores. However, it does not explicitly mention alternative tools for specific cases, though the sibling list allows inference.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses that the tool returns id, name, status, type, version, platform, and created_at. It adequately describes the read-only, list behavior, though it could mention pagination or performance constraints.

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

    Conciseness5/5

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

    Two short paragraphs with front-loaded purpose. Every sentence adds value: the first states purpose and return fields, the second gives usage advice. 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 no parameters and no output schema, the description is complete. It lists all returned fields and provides integration context with other tools. No gaps.

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

    Parameters4/5

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

    No parameters in input schema; description doesn't need to add parameter info. Baseline for 0 parameters is 4.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'List all Picus simulation agents (peers).' It specifies the verb (list) and resource (agents), and distinguishes from sibling tools by focusing on agent listing with return field details.

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

    Usage Guidelines5/5

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

    Explicit guidance is provided: 'Use an agent id with picus_get_agent for full detail, or when creating a simulation.' This directly tells the agent when to use this list tool versus the alternative detail tool.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

picus-security-mcp MCP server

Copy to your README.md:

Score Badge

picus-security-mcp MCP server

Copy to your README.md:

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/BeardedInfoSec/picus-security-mcp'

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