Skip to main content
Glama

HexStrike AI MCP

HexStrike connects AI assistants to the tools, terminal, files and browser on your server through the Model Context Protocol (MCP). Your AI client requests work; HexStrike runs it, records output and evidence, and shows progress in a terminal dashboard.

Owner: 0x4m4 · License: MIT

What it does

  • Runs installed command-line tools and custom scripts without requiring an adapter for each program.

  • Supports persistent shells and REPLs, incremental input/output, terminal resizing, timeouts and cancellation.

  • Provides browser navigation, forms, screenshots, uploads/downloads and saved sessions.

  • Discovers server executables and offers optional typed adapters for structured arguments and results.

  • Retains jobs, paginated evidence and local memory for subsequent review.

  • Shows jobs, sessions, installed tools and connection settings in the server dashboard.

Ten MCP tools provide discovery, execution and result retrieval. Detailed capability schemas load when requested. Available software and the server account's OS permissions determine what can run.

Related MCP server: Shuttle

Install on your server

Run on Linux, Kali or macOS:

curl -fsSL https://raw.githubusercontent.com/Lyrie-ai/hexstrike-ai-beta/main/install.sh | sh

Or install from a checkout:

git clone https://github.com/Lyrie-ai/hexstrike-ai-beta.git
cd hexstrike-ai-beta
./install.sh

The installer handles Python, dependencies and browser setup, then starts the server and opens the dashboard without a setup questionnaire. You do not need to create a virtual environment or change your system Python. Internet access and curl or wget are required; installing a missing Linux browser may request sudo. Windows users can run the server in a Linux VM.

First startup generates and saves an authentication token and listens at http://127.0.0.1:8000/mcp. Existing connection settings are reused. For access from another machine, configure an HTTPS endpoint using the connection guide; the installer does not create a public HTTPS endpoint automatically. The AI-client machine does not need HexStrike installed.

Installation, platform requirements and troubleshooting

To install now and start later, use ./install.sh --no-start. HexStrike uses command-line tools installed on the host; an adapter is not required for each program.

Connect and run

Reopen the dashboard on the server:

~/.local/share/hexstrike/hexstrike

If ~/.local/bin is on your PATH, use hexstrike. Open Connect for the MCP URL, token and copyable Cursor, Claude Code, Codex or VS Code configuration. Closing the dashboard with q leaves the server running. Clear view hides displayed history without deleting evidence; Refresh restores it.

For unattended operation, configure a service manager. The background launcher does not install a boot service automatically.

Server configuration and client connections

Documentation

Guide

Contents

Installation

One-command install, checkout install, platforms, upgrades and uninstall

Configuration

Authentication, HTTPS, state paths, clients, service operation and optional integrations

Usage

Native tools, terminals, browsers, evidence, adapters and dashboard controls

Architecture

Components, execution flow, storage and trust boundaries

Development

Tests, benchmarks, builds and repository hygiene

Execution model

Authenticated native execution has the server account's filesystem and network access. Optional isolated execution uses Docker, Podman or Bubblewrap when installed. Scanner findings and intelligence metadata need review; they are not proof of exploitability. Local memory supports retrieval and provenance, not automatic code rewriting.

The server supports POSIX systems. Client configuration formats, container engines and external tool versions need testing in their actual deployment environment. See the development guide for the automated checks and opt-in integration tests.

Available Tools

10 tools
action_prepareC

Validate a capability-specific argument object against its schema and return an immutable plan and approval grant.

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsNo
operationNorun
capability_idYes
engagement_idNodefault
worker_targetNo
timeout_secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose meaningful behavior — output is an immutable plan plus an approval grant, implying a mutation-adjacent side effect rather than a pure read — but it says nothing about failure modes, whether the grant expires, or whether a plan is persisted. The presence of timeout_seconds on a 'prepare' tool is unexplained and suggests heavier execution than the name implies.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though its density leaves little room for the guidance a six-parameter tool needs.

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?

An output schema exists, so return values needn't be described. But for a six-parameter tool with zero schema coverage and no annotations, one sentence is inadequate: the plan/approval lifecycle and five of the six inputs are undocumented.

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 0% across six parameters, so the description must compensate. It only implicitly covers capability_id and the arguments object; operation, engagement_id, worker_target, and timeout_seconds are never mentioned or explained.

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?

Names a specific verb (validate), a specific input (capability-specific argument object), and concrete artifacts produced (immutable plan, approval grant). This clearly separates it from execution siblings like job_start and from capabilities_describe, even without naming them explicitly.

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 never says when to call this versus job_start, nor does it state prerequisites such as needing a capability_id from capabilities_search. The approval-grant output hints at a prepare-then-execute flow, but the sequencing is left entirely to inference.

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

capabilities_describeB

Return operation schemas, supported versions, informational risk labels, and examples. Risk labels do not restrict execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
probe_versionNo
capability_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that risk labels are informational and do not restrict execution, but it does not explicitly state that this is a read-only operation, nor does it describe authorization needs or 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?

Two short sentences with zero waste. The returned artifacts are front-loaded, and the risk-label caveat is placed immediately after.

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?

An output schema exists, so return-value detail is not strictly required, and the risk-label note adds important context. However, the missing parameter explanation and usage guidance leave material gaps for an agent deciding when and how to call it.

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 0%, and the description never names or explains capability_ids or probe_version. The mention of operation schemas and versions offers only a weak hint about what capability_ids represent.

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?

States a specific verb, 'Return', and the artifacts returned: operation schemas, supported versions, risk labels, and examples. It is clear what the tool does, though it does not explicitly distinguish itself from the sibling capabilities_search.

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?

There is no explicit when-to-use guidance, no comparison to capabilities_search or action_prepare, and no prerequisites. Inspection usage is only weakly implied by 'Describe'.

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

engagement_manageC

Inspect, create, update, or revoke an engagement scope, port/protocol rules, rate/timeout budgets, and worker target. Risk labels do not restrict execution; max_risk_level is a legacy compatibility field.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
actionNoinspect
valid_fromNo
valid_untilNo
allowed_portsNo
engagement_idNodefault
worker_targetNo
max_risk_levelNoLegacy compatibility field, retained in stored settings but not enforced. Risk labels never block execution.
allowed_targetsNo
autonomous_modeNo
max_concurrencyNo
excluded_targetsNo
allow_all_targetsNo
allowed_protocolsNo
max_artifact_bytesNo
max_rate_per_minuteNo
max_timeout_secondsNo
block_metadata_endpointsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It notes that risk labels do not restrict execution and that max_risk_level is legacy, but this largely repeats the schema's deprecated-field note and omits key behavior such as destructive effects of revoke, permission requirements, scope enforcement, and side effects on jobs.

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 two compact sentences and front-loads the core operations before the risk-label caveat. It is appropriately sized in principle, though its brevity leaves substantial semantic gaps for such a complex tool.

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?

Given 18 parameters, no annotations, and mutation/revocation capabilities, the description is far too sparse to be complete. It benefits from an existing output schema, but still fails to explain action values, most parameter meanings, and operational side effects an agent needs to invoke it safely.

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 only 6% across 18 parameters, so the description must compensate. It only loosely maps categories like port/protocol rules and rate/timeout budgets; most parameters such as action values, allowed versus excluded targets, autonomous_mode, max_concurrency, and block_metadata_endpoints remain unexplained.

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 uses specific verbs (inspect, create, update, revoke) and names the managed resource (engagement scope, rules, budgets, worker target). It is clear what domain the tool covers, though it does not explicitly differentiate itself from sibling 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?

It lists possible operations but gives no guidance on when to choose inspect versus create, update, or revoke, no prerequisites, and no conditions for using this tool over alternatives. The agent must infer action semantics from the parameter schema alone.

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

evidence_readC

Paginated, redacted access to raw evidence artifacts by evidence_id or job_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoraw
limitNo
job_idNo
methodNo
offsetNo
evidence_idNo
status_codeNo
url_containsNo
engagement_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden, and it does disclose two meaningful traits: results are paginated and content is redacted. It does not state permission/auth requirements, what 'redacted' removes, how an invalid or missing id behaves, or any rate/size limits beyond pagination.

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?

A single front-loaded sentence with no wasted words, and the key scoping qualifiers come first. It is arguably too terse for a nine-parameter tool, which costs it a point, but there is no padding or repetition.

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?

An output schema exists, so return values need not be explained, but for a nine-parameter filter tool with zero annotation coverage the description omits filter-combination logic, valid 'view' values beyond the default 'raw', and pagination behavior. An agent would have to inspect the schema and guess at semantics for most of the parameters.

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 0% across nine parameters, and the description only names evidence_id and job_id without clarifying their semantics (mutually exclusive? ANDed with other filters?). The remaining seven parameters — view, limit, offset, method, status_code, url_contains, engagement_id — get no mention at all, so the description fails to compensate for the coverage gap.

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 names a specific verb ('access') and resource ('raw evidence artifacts') and scopes it to retrieval by evidence_id or job_id, which is enough to distinguish it from siblings like memory_query or job_status. It stops short of explicitly contrasting with those siblings, keeping it just under a 5.

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 phrase 'by evidence_id or job_id' hints at two retrieval paths but never says when to choose one over the other, whether they can be combined, or what to do when neither is known. There are no exclusions and no named alternatives among the nine siblings.

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

job_cancelA

Cancel a running job (or all active jobs via cancel_all=True) and terminate its OS process group.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNo
cancel_allNo

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?

No annotations exist, so the description carries the full burden; it does disclose the key behavioral trait that the OS process group is terminated, which tells the agent this is a forceful, destructive action. It omits permissions/auth requirements, what happens to an already-finished job, whether termination is graceful, and the override relationship between the two parameters.

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 the primary case first and the variant parenthesized; every clause carries information and nothing is padded.

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 return shape is covered by the output schema, and the core destructive behavior is named. But for a destructive, unannotated mutation, the description should still resolve the job_id-null vs cancel_all precedence and say something about jobs that are not currently running.

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 real meaning for cancel_all ('all active jobs'), which the bare boolean/default does not convey, but job_id gets no explanation at all despite being nullable with a null default, leaving the mutual-exclusion/precedence question unanswered.

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?

States a specific verb ('Cancel') on a specific resource ('a running job'), plus the scope variant for all jobs. The destructive action is unambiguous and clearly distinct from siblings like job_start and job_status.

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 usage condition (a job must be running, use cancel_all=True for all active jobs), but it never states what to do when neither job_id nor cancel_all is supplied, nor does it name the alternative tool to inspect state before cancelling. Usage is inferable rather than spelled out.

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

job_startC

Start an authorized plan (via plan_id) OR directly prepare-and-start a capability (via capability_id + arguments) with optional idempotency key.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitNo
plan_idNo
argumentsNo
operationNorun
capability_idNo
engagement_idNodefault
worker_targetNo
idempotency_keyNo
timeout_secondsNo

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?

No annotations are provided, so the description carries the full behavioral burden. It mentions idempotency and the two start modes, but it does not disclose the effects of wait=true by default, what operation means, timeout behavior, worker_target semantics, or what happens if both plan_id and capability_id are supplied.

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 front-loaded sentence with no filler, and the two main invocation paths are stated early. It is appropriately concise, though its density leaves important parameter distinctions unexplained.

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?

Although an output schema exists and need not be explained, this is a nine-parameter action tool with no annotations and no schema parameter descriptions. The description covers the core plan/capability choice and idempotency but omits enough behavioral and parameter context that an agent could not confidently use it without inspecting the schema.

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 0%, so the description must compensate for nine undocumented parameters. It clarifies plan_id, capability_id, arguments, and idempotency_key, but leaves wait, operation, engagement_id, worker_target, and timeout_seconds without any semantic explanation.

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 states a specific verb ('Start') and two resource paths: an authorized plan via plan_id or a capability via capability_id + arguments. It distinguishes the two invocation modes clearly, though it does not explicitly differentiate job_start from siblings such as action_prepare or capabilities_search.

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?

It explains how to choose between starting via plan_id versus capability_id + arguments, which gives implied usage context. However, it does not state when to use job_start versus action_prepare, job_status, or job_cancel, and it provides no exclusions or prerequisites.

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

job_statusB

Query bounded job status, structured output, findings, and streaming events by job_id and cursor.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNo
cursor_seqNo
engagement_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden but does disclose that the tool returns bounded structured output, findings, and streaming events, which is meaningful behavioral context. However, it does not explain streaming/pagination semantics, authorization needs, what happens when job_id is null, or how cursor_seq controls retrieval.

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 front-loaded sentence with no wasted framing, clearly leading with the core action. It could be slightly clearer by separating the retrieval modes, but it remains appropriately compact.

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?

An output schema exists, so the description need not detail return values, and it does mention the main result categories. Still, for a status tool with three optional parameters and no annotations, it leaves important invocation details unclear, especially engagement_id, null job_id behavior, and cursor semantics.

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 0%, so the description must carry parameter meaning, but it only repeats job_id and cursor without explaining formats, defaults, optionality, or the purpose of cursor_seq. It entirely omits engagement_id, leaving a third of the parameters undocumented in both the schema and the description.

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 states a specific verb-resource pair: querying job status by job_id and cursor, plus structured output, findings, and streaming events. It is clearly distinct from sibling tools like job_start and job_cancel, though it does not explicitly name those alternatives.

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?

Usage is only implied by the phrase 'by job_id and cursor' and by the tool name job_status. There is no explicit guidance on when to poll, when to use job_start or job_cancel instead, or how this differs from system_status.

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

memory_queryC

Bounded, engagement-scoped retrieval from local temporal memory and promoted lessons.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
entity_typeNo
engagement_idNodefault
include_promoted_lessonsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It does disclose that retrieval is bounded, engagement-scoped, local, and includes promoted lessons, which conveys read-style scope and source, but it does not explicitly state read-only safety, permissions, rate limits, or 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.

Conciseness4/5

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

The single sentence is front-loaded and waste-free, with scope qualifiers placed before the resource. It is concise, though extremely terse for a five-parameter query tool.

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?

An output schema exists, so return values need not be explained, but the tool has five undocumented parameters and no annotations. The description states the broad purpose but leaves key call semantics, filtering behavior, and usage conditions incomplete.

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 0% across five parameters, so the description must compensate. It hints at engagement scope and promoted lessons, but gives no meaning for query, limit, entity_type, or the relationship between engagement_id and the retrieval scope.

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 identifies a retrieval operation over local temporal memory and promoted lessons, with scope qualifiers "bounded" and "engagement-scoped." It is distinct from siblings like evidence_read or capabilities_search, though it does not explicitly name those alternatives.

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?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The phrase "engagement-scoped retrieval" implies a context but does not tell an agent when to choose memory_query over evidence_read or capabilities_search.

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

system_statusC

Fast core health, worker readiness, active engagement scope, and capability summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
engagement_idNodefault

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. 'Fast' hints at low cost and the enumerated items imply a read-only aggregate, but nothing states whether the call is side-effect free, requires authentication, is cached/rate-limited, or how expensive it is.

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?

One short, front-loaded sentence with no filler or repetition. The tradeoff is that packing four nouns into a fragment costs readability, but no sentence is wasted.

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?

An output schema exists, so return values need not be explained. However, with zero annotations, an undocumented parameter, and overlapping siblings, an agent lacks what it needs to decide when this tool is the right first call — the description stops at naming the outputs.

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 0% for the single engagement_id parameter, which defaults to 'default', so the description must compensate. 'Active engagement scope' is the only hint that engagement_id controls which tenant's scope is reported, and it does not explain the default value's meaning or accepted identifier format.

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

Purpose3/5

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

The description enumerates what the tool reports — core health, worker readiness, engagement scope, capability summary — but is a bare noun phrase with no verb, so the agent must infer it is a read-only status report. It also overlaps thematically with sibling tools like job_status, capabilities_search, and capabilities_describe without saying how it differs from them.

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?

There is no statement of when to call this versus job_status for job health, capabilities_search for capability detail, or engagement_manage for scope. The adjective 'Fast' weakly implies a cheap first-line check, but no condition, exclusion, or alternative is named.

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.

  1. 10 tool updatesv0.1.0
    • First observedaction_prepare
    • First observedcapabilities_describe
    • First observedcapabilities_search
    • First observedengagement_manage
    • First observedevidence_read
    • First observedjob_cancel
    • First observedjob_start
    • First observedjob_status
    • First observedmemory_query
    • First observedsystem_status

TDQS

B3.2/5.0

Scored across 10 tools

Disambiguation3/5

The job lifecycle tools are distinct, but action_prepare overlaps heavily with job_start, which can itself prepare-and-start a capability from capability_id + arguments, leaving two paths to the same end state. engagement_manage also multiplexes inspect/create/update/revoke behind one name, so its invocation semantics are less predictable than the single-purpose job_* tools.

Naming Consistency4/5

Most names follow a resource_action pattern (job_start, job_status, job_cancel, evidence_read, memory_query, capabilities_search), with system_status and action_prepare as the only deviations. The convention is readable and predictable, but 'action_prepare' uses a vague resource noun and breaks the otherwise consistent scheme.

Tool Count5/5

Ten tools is well-scoped for a security engagement orchestration server: discovery, planning, execution, monitoring, evidence, and memory each get representation. No obvious filler tools, and no critical concern is absent from the surface for count reasons.

Completeness4/5

The lifecycle is largely closed: discover capabilities, prepare a plan, start, poll, cancel, and read evidence plus memory. Minor gaps remain — there is no job enumeration tool (only cancel_all as a workaround) and no explicit approval/rejection operation for the approval grant produced by action_prepare, which may force agents into awkward paths.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides AI assistants with direct terminal access to execute commands, manage files, and run persistent REPL sessions. It features automated installation scripts that educate AI assistants on its capabilities for seamless integration.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to securely execute SSH commands on remote servers with connection pooling, session isolation, and a web audit panel.
    4
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI tools to perform server operations such as log inspection, system monitoring, code management, Nginx and certificate management, with support for local and remote SSH modes and built-in security controls.
    23
    26 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to securely execute terminal commands with persistent sessions, async jobs, and mission control, while providing a live dashboard for human oversight.
    4
    Apache 2.0