MCP server for Trend Micro Vision One security operations, providing tools for alert management, endpoint response, threat intelligence, and containment actions.
Strong foundation with clear naming conventions, comprehensive descriptions, and proper schema definitions. All 12 tools follow verb_noun patterns (add_, get_, modify_, send_, isolate_). Descriptions are detailed and contextual (avg ~150 chars), explaining WHAT, WHEN, and any prerequisites. Input schemas are complete with types and descriptions. However, output schemas are not explicitly documented in the visible code, responses appear to return raw API payloads or dicts without formal Pydantic models for most tools. Error handling is present but recovery guidance is minimal. Security practices are strong (operator ID signing, dry-run patterns, approval gates), but some tools lack explicit enum constraints for free-form string parameters.
Add a technical note to a Workbench alert. The note is signed with the server's operator id (MCP_OPERATOR_ID) before it is sent, so every note names who is responsible for it. Do not add your own signature line.
Add an Indicator of Compromise to the Vision One block list. DESTRUCTIVE. A human is asked to approve before anything happens; the action is refused if approval cannot be obtained. Use dry_run to preview safely.
Return full details for a specific Workbench alert. Returns the raw Vision One payload on purpose: alert triage needs the complete structure (indicators, impact scope, highlighted objects). To slim it down, define a projection model (see tools/README.md).
Return a summarized list of open Workbench alerts created in the last N days.
Return detailed information about an endpoint. Returns the raw Vision One payload on purpose (full endpoint detail). To slim it down, define a projection model (see tools/README.md).
Output schemas not formally documented. Tools return 'raw Vision One payload' or dicts without explicit Pydantic models visible in source. LLMs cannot reliably predict response structure for downstream chaining.
Free-form string parameters lack enum constraints. 'ioc_type' in add_to_block_list and 'risk_level' in get_observed_attack_techniques accept strings but should declare enums to prevent hallucinated values.
Error handling lacks recovery guidance. Tools do not document what the LLM should do on failure (retry, ask user, call alternative tool). Errors appear to be raw exceptions without actionable messages.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | <=2025-11-25 | v2 |
Query VirusTotal for the reputation of an Indicator of Compromise.
Return Observed Attack Techniques (OAT) events for an endpoint and risk level. Returns the raw Vision One payload on purpose (full detection detail). To slim it down, define a projection model (see tools/README.md).
Return the organization's current security risk index from Vision One ASRM.
Report which integrations are configured and which tools are active. Use this to discover the server's current capabilities before planning actions — inactive integrations list the env var(s) needed to enable them.
Isolate an endpoint from the network. DESTRUCTIVE — requires human approval. A human is asked to approve before anything happens; the action is refused if approval cannot be obtained. Use dry_run to preview safely.
Update the status of a Workbench alert.
Send an alert-management summary to the configured Slack channel.
Pagination not visible for list tools. get_alert_list accepts 'limit' but no 'offset' or 'cursor' parameter. Large result sets could exhaust context window.
Tool composition assumes Vision One API knowledge. Tools return raw payloads requiring LLM to parse complex nested structures (indicators, impact scope). Projection models mentioned in docs but not visible in code.