Skip to main content
Glama

Server Details

Fallax is a phishing simulation and security awareness training platform. Read your results.

Ownership verified
Status
Healthy
OAuth
Not checked
Last Tested
Transport
Streamable HTTP
URL

Available Tools

12 tools
exclude_personTake one person out of the programmeA
Idempotent
Inspect

Stop the continuous programme from ever simulating against one person, and drop anything already queued for them. Use it for someone on leave, mid-onboarding, or who must not be tested. Putting somebody back into the programme has to be done in Fallax.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe person's email address, as it appears in Fallax.
reasonNoWhy, recorded against their enrolment.

TDQS

A4.3/5.0
Behavior4/5

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

The description adds meaningful behavior beyond the annotations: it reveals that queued items for the person are dropped, that the exclusion is permanent from the tool's perspective, and that re-adding must happen externally in Fallax. This does not contradict the annotations; the readOnlyHint=false and destructiveHint=false are consistent with a state-changing but non-destructive exclusion.

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 succinct sentences cover the action, the use cases, and the restoration path. No filler or redundant restatement of the title, and the most important behavioral detail is front-loaded.

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

Completeness5/5

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

For a two-parameter mutation tool with no output schema, the description is complete: it states what happens, when to use it, the side effect on queued items, and how to reverse the decision. An agent has enough information to invoke it 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?

The input schema has 100% description coverage for both parameters, so the schema already explains the email and reason fields. The description adds context about the person being excluded but no additional parameter-level detail, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb + resource: it stops the continuous programme from simulating against one person and drops queued items for them. This clearly distinguishes it from sibling tools like pause_programme, which would affect the whole programme rather than a single person.

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 gives explicit use cases: someone on leave, mid-onboarding, or someone who must not be tested. It does not explicitly name an alternative for programme-wide pauses, but the single-person scope makes the intended use clear.

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

explain_sendExplain a sendA
Read-onlyIdempotent
Inspect

Why one person got the simulation they got, when they got it: their security band and score, the rule that chose the lure, and the cadence that chose the moment. Answered from what was recorded at planning time, not recomputed. Use it for 'why did we phish Anna last Tuesday'.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe person's email address, as it appears in Fallax.

TDQS

A4.5/5.0
Behavior5/5

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

The description reveals a key behavioral trait beyond annotations: the answer is 'recorded at planning time, not recomputed', meaning the explanation reflects historical state rather than live data. This is valuable context for an agent interpreting results. The annotations already declare readOnly/idempotent, and there is no contradiction.

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

Conciseness5/5

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

The description is two sentences: the first lists what the tool explains, the second adds the historical-source caveat and a concrete usage example. There are no wasted words, and the most important scoping is front-loaded.

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

Completeness5/5

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

The description covers the input context (a specific person's email via the example), the output content (band, score, rule, cadence), and the temporal caveat (recorded at planning time). With only one parameter and safe read-only annotations, nothing critical is missing for an agent to use it 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?

The schema fully documents the single parameter (email, minLength, description), so the baseline 3 applies. The description does not add additional parameter-level meaning beyond the schema's note that it is the email as it appears in Fallax.

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 states a specific verb ('explain') and a resource ('a send') and enumerates the exact dimensions of the answer: security band and score, the rule that chose the lure, and the cadence that chose the moment. It clearly distinguishes the tool's purpose from siblings like get_campaign or get_breakdowns by focusing on the 'why' and 'when' for a single person.

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 a concrete use case: 'Use it for "why did we phish Anna last Tuesday".' This gives clear context for when to invoke it. It does not explicitly name alternative tools or exclusions, so it stops short of the highest bar for usage guidance.

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

get_breakdownsBreakdownsA
Read-onlyIdempotent
Inspect

The same period cut four ways: by department, by template, by send language, and by campaign. This is what answers 'which team is most at risk', 'which lure worked', and 'do our Dutch speakers click more'. Ask for one cut with by, or omit it for all four.

ParametersJSON Schema
NameRequiredDescriptionDefault
byNoReturn a single cut instead of all four.
rangeNoReporting window, by campaign launch date: 30d, 90d, 12m or all. Defaults to 90d.90d

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context that all four cuts share the same period and that omitting `by` returns all four, but it does not describe pagination, output formatting, or other behavioral caveats. There is no contradiction with the annotations.

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

Conciseness5/5

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

The description is three sentences with no wasted words. The first defines the resource, the second grounds it in realistic use cases, and the third states the key parameter behavior. It is compact, readable, and every sentence earns its place.

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 read-only tool with two optional enum parameters, this is nearly complete: it states the grouping dimensions, the default behavior, and the intended use cases. It does not explicitly describe the exact return shape or mention the `range` parameter, and there is no output schema to fill that gap, so some inference is still required.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by mapping `by` values to concrete analytic questions, such as department to 'which team is most at risk' and language to Dutch-speaker click behavior. It also clarifies the default of returning all four cuts; the `range` parameter is left to the schema, which documents it well.

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 the tool's resource and scope: it produces breakdowns of the same period by department, template, language, and campaign. It also uses concrete example questions to communicate intent. It does not explicitly differentiate from sibling tools, so it stops short of 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 Guidelines4/5

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

The description gives explicit usage guidance for the `by` parameter: ask for one cut with `by`, or omit it for all four. It also signals what kinds of questions this tool answers, which helps an agent decide when to use it. It does not mention alternatives or when not to use it, so it is not a 5.

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

get_campaignGet a campaignA
Read-onlyIdempotent
Inspect

One campaign in full: which template and landing page it used, which audience and sending domain, its schedule, and its funnel with rates. Accepts either the campaign id or its name.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaignYesCampaign id, or the campaign name as shown in Fallax.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful context about what fields are returned and that either id or name can be used, but it does not describe error behavior, missing-campaign handling, or response format. This is acceptable given the annotations but not deeply transparent.

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 with no fluff. The first sentence front-loads what 'full' means, and the second covers the input flexibility. Every clause 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?

For a simple, single-parameter, read-only tool with rich annotations, the description is largely complete. It lists the return contents and input options. It does not mention pagination or error cases, but given the tool's simplicity and the annotation coverage, nothing critical is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and the parameter description already states 'Campaign id, or the campaign name as shown in Fallax.' The tool description repeats this input flexibility without adding new semantic meaning, so the schema carries the full weight. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a clear verb+resource ('get campaign') and specifies exactly what full campaign information is returned: template, landing page, audience, sending domain, schedule, and funnel rates. This distinguishes it from list_campaigns and other 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 Guidelines4/5

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

The phrase 'One campaign in full' clearly implies it is for fetching a single campaign rather than listing multiple campaigns, which is an implicit usage cue. It does not explicitly name alternative tools or exclusion conditions, but the context is clear enough for an agent to route correctly.

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

get_evidence_bundleEvidence bundleA
Read-onlyIdempotent
Inspect

The ISO 27001 A.6.3 audit trail: one row per person per campaign, with their email address, department, the language they were sent, and the timestamps of every interaction. This is the export an auditor asks for. It names individuals, so the workspace must have turned person-level access on.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNoReporting window, by campaign launch date: 30d, 90d, 12m or all. Defaults to 90d.90d

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: it exposes person-level PII, names individuals, and requires person-level access to be turned on. This is useful for an agent assessing privacy and permission implications, though it does not detail failure 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?

Three sentences, each earning its place: one defines the content and row structure, one gives the audit use case, one warns about the person-level access prerequisite. The most distinctive element (audit trail) is front-loaded, and there is no filler or repetition of schema details.

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 no output schema, the description appropriately describes the output shape: one row per person per campaign with key fields. It also covers the main precondition. Minor gaps remain around ordering, pagination, or behavior when person-level access is off, but for a single-optional-parameter tool the description is largely complete.

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

Parameters3/5

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

Schema description coverage is 100% for the single `range` parameter, including its enum values, default, and meaning relative to campaign launch date. The tool description adds no additional parameter-level semantics, so the schema carries the burden; the baseline 3 applies.

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

Purpose5/5

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

The description states a specific resource ('evidence bundle' / ISO 27001 A.6.3 audit trail) and a concrete shape: one row per person per campaign with email, department, language, and interaction timestamps. This clearly differentiates it from sibling tools like get_breakdowns or get_campaign by positioning it as the auditor-facing export.

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 gives clear context: this is the export an auditor asks for, and it names individuals, so person-level access must be enabled. It does not explicitly name alternatives or say when not to use it, but the audit-evidence framing and prerequisite provide strong situational guidance.

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

get_programme_statusProgramme statusA
Read-onlyIdempotent
Inspect

Whether the continuous simulation programme is running, how many people are enrolled, how the workspace's security score is distributed, and what it has queued to send next. This is the 'is our security training actually running' question, and it is the one nobody logs in to check.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the informational scope (state, enrollment, score distribution, queue) but not operational details like response format or freshness; compared with the calibration example for get_calls, this warrants a 3.

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?

Two sentences, with the first densely packing the returned data categories and the second adding a plain-language purpose. Efficient, though the second sentence's final clause ('nobody logs in to check') is stylistic rather than functional, keeping it from a 5.

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 read-only, zero-parameter tool with no output schema, the description names all main data categories an agent needs to anticipate the response. It could be improved by mentioning whether the data is real-time or cached and any return packaging, but it is not inadequate.

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?

There are no parameters, and schema coverage is trivially 100%, so there is no parameter documentation burden. Baseline for zero-parameter tools is 4, and the description wisely says nothing about inputs.

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 begins with specific verbs and objects: whether the programme is running, number enrolled, security score distribution, and queued next. This clearly distinguishes get_programme_status from sibling tools like get_program_summary, get_setup_status, and get_campaign by focusing on live operational state.

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 frames the decision this tool answers ('is our security training actually running'), which tells an agent when to select it. It does not mention alternatives or exclusion criteria, so it falls short of a 5.

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

get_program_summaryProgramme summaryA
Read-onlyIdempotent
Inspect

Headline results of the phishing-simulation programme for a period: how many people were tested, and the open, click, credential-submit and report rates, each compared with the previous period of the same length. Start here for questions like 'how are we doing' or 'has our click rate improved'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNoReporting window, by campaign launch date: 30d, 90d, 12m or all. Defaults to 90d.90d

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses that results are compared with the previous period of the same length, which is a meaningful behavioral trait. It does not elaborate on output format or limitations, but the annotations already establish safety and the description adds useful context.

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

Conciseness5/5

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

Two focused sentences with no filler. The key result content is front-loaded, and the practical use-case examples are placed efficiently at the end.

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

Completeness5/5

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

For a single-parameter, read-only, idempotent summary tool, the description plus schema and annotations provide complete call context. The metric list and comparison behavior are clearly stated, and no output schema exists to require further elaboration.

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

Parameters3/5

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

The input schema has 100% description coverage for the sole parameter, including enum values and default. The description's phrase 'for a period' conceptually aligns with the range parameter but adds no new semantic detail, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb and resource: it returns headline results of the phishing-simulation programme, enumerating exact metrics (tested count, open/click/credential-submit/report rates) and period-over-period comparison. It also clearly positions itself as the starting point for high-level questions, distinguishing it from siblings like get_breakdowns and get_programme_status.

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 gives usage context: 'Start here for questions like "how are we doing" or "has our click rate improved"'. This tells the agent when to use it, but it does not name alternatives or state when not to use it, so it stops short of the top score.

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

get_resilience_trendResilience trendA
Read-onlyIdempotent
Inspect

The same rates over time, bucketed by week (30d and 90d windows) or by month (12m and all time), so an assistant can describe or chart the direction of travel rather than a single snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNoReporting window, by campaign launch date: 30d, 90d, 12m or all. Defaults to 90d.90d

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds detail about bucketing and time windows, but discloses no additional behavioral traits such as pagination, rate limits, or response ordering. No contradiction with annotations exists.

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

Conciseness5/5

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

A single sentence that front-loads the core concept ('rates over time') and packs the bucketing detail into a parenthetical. Every phrase earns its place with no redundancy or filler.

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 read-only tool with one optional parameter and robust annotations, the description adequately explains what the tool returns and why it is useful. It does not specify the response shape, and there is no output schema, but the purpose and bucketing behavior are clear enough for an agent to call 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?

Schema coverage is 100% with an enum and default, so the schema already documents the range parameter. The description adds value by explaining how the range maps to bucketing granularity (week vs. month), enriching the parameter's meaning beyond the schema 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 clearly states that the tool provides 'the same rates over time' bucketed by week or month, and explicitly contrasts this with 'a single snapshot'. This makes the tool's purpose specific and distinguishes it from snapshot-style siblings like get_breakdowns, though it does not name any sibling directly or use a leading verb.

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 use case: when an assistant needs to describe or chart the direction of travel rather than a snapshot. However, it does not explicitly name alternative tools or provide when-not-to-use guidance, leaving some inference to the agent.

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

get_setup_statusSetup statusA
Read-onlyIdempotent
Inspect

What this workspace has and has not set up: people in the directory, audiences, templates, landing pages, verified domains, connected mailbox tenants, whether any simulation has actually been delivered, and whether the continuous programme is running. Use it to answer 'are we ready to run a simulation' or to explain why a report is empty.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is well covered. The description adds useful contextual scope about what the status includes, but it does not disclose any behavioral caveats such as data freshness, permission requirements, or return format. With the annotations present, this is adequate but not exceptional.

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 one informative sentence followed by a practical-use sentence, with no wasted words. The long enumerative list makes it a bit dense, but each item adds value and the primary purpose is 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?

For a no-parameter, read-only status tool, the description is complete enough: it names the covered setup areas, gives concrete use cases, and aligns with the annotations. It does not describe the response shape, but since there is no output schema and this is a simple status getter, that is a minor gap rather than a blocking omission.

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 zero required parameters, with 100% schema description coverage. There is no parameter burden for the description to bear, so the baseline of 4 applies; there is nothing meaningful to add about parameter meaning.

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

Purpose4/5

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

The description clearly states the resource — workspace setup status — and enumerates the specific components it covers: people, audiences, templates, landing pages, verified domains, mailbox tenants, simulation delivery, and programme running. It is not a tautology and gives the agent a concrete sense of what the tool reports, though it does not explicitly name or differentiate 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 Guidelines4/5

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

The description gives explicit use cases: 'Use it to answer "are we ready to run a simulation" or to explain why a report is empty.' This tells the agent when the tool is appropriate, but it does not mention when to prefer a sibling such as get_programme_status or get_program_summary, so it lacks explicit exclusions.

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

list_campaignsList campaignsA
Read-onlyIdempotent
Inspect

Every simulation campaign in the workspace, newest first, with its status and its funnel (delivered, opened, clicked, submitted, reported). Unlike the reporting tools this includes drafts and scheduled campaigns that have never been launched.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many campaigns to return. Defaults to 25.
statusNoFilter by campaign status. Defaults to all.all

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark the tool readOnly, idempotent, and non-destructive, so the bar for added context is lower. The description adds behavioral detail beyond the schema: results come 'newest first' and cover all statuses including unlaunched drafts and scheduled campaigns. This gives an agent useful expectations about ordering and coverage without contradicting annotations.

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

Conciseness5/5

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

Two sentences with no filler. The core behavior is front-loaded in the first sentence, and the second sentence provides the differentiating edge case. Every clause earns its place.

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

Completeness5/5

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

The tool is simple with two optional parameters and no output schema. The description covers the result contents, ordering, and inclusion semantics, which is sufficient for an agent to know what to expect. No critical gaps like pagination or error behavior are needed given the read-only nature and schema docs.

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

Parameters3/5

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

Schema coverage is 100%, with both 'limit' and 'status' fully described in the input schema including defaults and ranges. The description does not add any additional parameter-level guidance, so the baseline of 3 applies.

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

Purpose5/5

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

The description uses a specific verb and resource: 'List' 'campaigns'. It states scope ('Every simulation campaign in the workspace'), ordering ('newest first'), and the included fields ('status' and 'funnel'). The contrast with reporting tools distinguishes it from siblings.

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 positions the tool against 'reporting tools' and gives the deciding criterion: this tool includes drafts and scheduled campaigns that have never been launched. That is a clear when-to-use signal. However, it does not name specific sibling tools or mention cases where a more targeted tool like get_campaign would be preferred.

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

list_discovered_appsApps this workspace usesA
Read-onlyIdempotent
Inspect

The SaaS applications the customer's own Google or Microsoft tenant says its people actually use, with how many distinct users were seen and whether Fallax ships a lure that impersonates that app. The single best predictor of whether a simulation is plausible, and the right input when suggesting what to simulate next. Returns nothing unless the workspace turned app discovery on.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses that data comes from the customer's Google or Microsoft tenant, the specific output dimensions, and that it returns nothing unless app discovery is enabled. This is meaningful behavioral context the annotations do not provide.

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

Conciseness5/5

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

Three sentences cover the tool's output, its strategic purpose, and an important empty-result caveat, with no filler. The most relevant identification is front-loaded and every sentence earns its place.

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

Completeness5/5

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

For a no-parameter, read-only listing tool, the description covers what the data is, where it comes from, what fields are included, and when it returns nothing. Even without an output schema, an agent has enough to call and interpret this tool 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 and an empty input schema, so there are no parameter semantics to clarify. With no parameters, the baseline 4 applies and the description does not need to compensate for schema gaps.

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 defines precisely what the tool returns—tenant-discovered SaaS apps, distinct user counts, and lure availability—and frames it as input for deciding what to simulate next. It clearly distinguishes this from sibling tools like get_program_summary or list_campaigns by naming its role in simulation selection.

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?

It explicitly positions itself as 'the single best predictor' and 'the right input when suggesting what to simulate next,' giving strong context for when to call it. It does not name excluded cases or alternative tools, so it stops short of full when/when-not guidance.

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

pause_programmePause the programmeA
Idempotent
Inspect

Stop the continuous simulation programme and drop everything it had queued. Nothing further will be sent until an owner or admin restarts it in Fallax. Use this when somebody wants simulations to stop: an incident, an outage, a sensitive week. Restarting cannot be done from here.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy it is being paused, recorded on the programme and shown to admins.

TDQS

A3.8/5.0
Behavior1/5

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

The description says the tool will 'drop everything it had queued', which is a destructive side effect, yet the annotations declare destructiveHint=false. This is an annotation contradiction. While the description does disclose useful stateful behavior, the direct conflict with the safety annotation makes it misleading.

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 three sentences, front-loads the primary action, and every sentence adds value: the effect, the restart limitation, and the usage trigger. There is no filler or redundant restating of the title.

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 single-parameter, no-output-schema control tool, the description is largely complete: it covers what happens, when to use it, and the restart constraint. It does not explicitly state who is allowed to pause, only that restart requires an owner or admin, so a small authorization gap remains.

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

Parameters3/5

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

Schema description coverage is 100%, so the 'reason' parameter is already documented in the schema. The description adds no additional parameter context, but with full schema coverage the baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Stop') and resource ('the continuous simulation programme'), and further clarifies the scope by saying it drops everything queued. This clearly differentiates it from the sibling getter/inspection tools and from exclude_person/explain_send.

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?

It explicitly states when to use the tool ('when somebody wants simulations to stop: an incident, an outage, a sensitive week') and also gives a clear exclusion by noting restarting cannot be done from here. The agent knows both the trigger and the limitation of the tool.

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

Tool Schema Changelog

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

  1. 12 tool updates
    • First observedexclude_person
    • First observedexplain_send
    • First observedget_breakdowns
    • First observedget_campaign
    • First observedget_evidence_bundle
    • First observedget_program_summary
    • First observedget_programme_status
    • First observedget_resilience_trend
    • First observedget_setup_status
    • First observedlist_campaigns
    • First observedlist_discovered_apps
    • First observedpause_programme

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An advanced email security analysis MCP server for real-time phishing detection, comprehensive header analysis, and threat intelligence integration. It enables users to extract indicators of compromise and validate email authentication protocols like DKIM, SPF, and DMARC.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Passive website security and trust auditor that checks for security, SEO, AI surface, email, and other exposures, producing a score and remediation plan.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation3/5

Most tools have distinct purposes, but get_programme_status and get_setup_status both report whether the continuous programme is running, and get_program_summary, get_breakdowns, and get_resilience_trend all expose similar rate metrics. Descriptions help clarify the differences, but an agent could still pick the wrong reporting tool for a given question.

Naming Consistency4/5

All names use a predictable lowercase snake_case verb_noun style with get_, list_, exclude_, pause_, and explain_. The main inconsistency is the program/programme spelling difference between get_program_summary and get_programme_status, and explain_send is a slightly less conventional noun.

Tool Count5/5

12 tools is a well-scoped size for a phishing-simulation insight and safety-control server. Each tool covers a distinct reporting angle or operational action without feeling padded.

Completeness3/5

The read and analytics surface is thorough, covering summaries, breakdowns, trends, evidence, setup, and individual explanations. However, the operational side is one-directional: exclude_person and pause_programme have no include or resume counterpart, and there is no campaign or person management tooling, leaving explicit dead ends.

Resources