Arsen MCP
Server Details
Arsen is a human risk management platform that enables security teams to assess employee exposure through advanced phishing, voice phishing, and deepfake simulations, and strengthen their resilience with adaptive cybersecurity awareness training. Arsen MCP connects your Arsen platform to your preferred AI assistant, including Claude, ChatGPT, and any MCP-compatible assistant.
With Arsen MCP, you can:
Build and launch campaigns. Let your AI assistant prepare phishing simulation campaigns and cybersecurity awareness programs, then launch them with your approval.
Get actionable insights from your data. Ask questions in plain language and get answers based on your organization's actual data, including campaign results, click, compromise and reporting rates, phishing score trends, coverage, and teams that need attention.
Manage multiple client organizations. Give MSSPs the ability to query and work across every client organization they manage, from a single AI assistant.
Secure by design. Users authenticate with their Arsen account (SSO and MFA supported), and every request is governed by their existing Arsen permissions.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Most tools target clearly distinct resources: list_organizations vs get_organization_overview vs get_campaign_summary are cleanly separated by scope (org list, org dashboard, single campaign). The main friction is the pair search_employees / search_employee_activity, which both select employees from the same pool and differ only in returned payload (summaries/scores vs retained evidence), requiring the agent to read long descriptions to choose correctly. The organization_overview also overlaps with campaign_summary and the employee insights on campaign and training metrics, though aggregate-versus-detail framing helps.
All names follow a consistent snake_case verb_noun pattern (get_*, list_*, search_*) with semantically motivated verbs: get for single-entity detail, list for enumeration, search for filtered selection. No mixing of camelCase, casing, or vague verbs, and prefixes map predictably onto the resource hierarchy (organization, campaign, employee/activity).
Six read-only tools is well-scoped for a reporting server: one entry point per resource level (organizations, campaigns, employees, employee activity) plus two detail readers. The design pushes breadth into parameters (sections, insights, filters) rather than proliferating near-duplicate tools, so each tool earns its place without a bloated surface.
The surface covers the core reporting lifecycle — discover orgs, read org dashboard/program, find and read campaigns, and drill into employee summaries and underlying evidence — with no dead ends for the primary analysis workflows. Gaps remain: there is no tool to enumerate Groups/Dynamic Groups even though both employee search tools accept group filters, and no way to inspect phishing templates, landing pages, or individual learner sessions beyond the TRAINING activity source. These are workable-around but force the agent to already know group identifiers.
Available Tools
6 toolsget_campaign_summaryARead-onlyIdempotentInspect
Read privacy-safe outcomes, rates, timings, score, and schedule for one simulation campaign. PROCESSING means reporting is still being finalized. There is no status-transition timestamp; the scheduled date does not diagnose a processing delay or backlog. Null rates are unavailable, not zero.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | ||
| organization_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | |
| campaign | Yes | |
| request_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent safety profile, and the description goes well beyond them with interpretive semantics the schema cannot carry: PROCESSING means reporting is still being finalized, no status-transition timestamp exists, the scheduled date is not a delay diagnostic, and null rates mean unavailable rather than zero. That directly prevents the most likely agent misreadings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, and the remaining three sentences are dense caveats with no filler. The trailing caveat cluster is slightly compressed and could be split for readability, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no prose, and annotations handle safety; the description covers the non-obvious result semantics thoroughly. What is missing is only the meaning of the two required identifiers, which leaves a small gap for a two-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters are required, so the description carries the full burden. It never mentions organization_id at all and only obliquely implies campaign_id via 'one simulation campaign'; the agent must infer that organization_id is the owning-org scoping key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource with scope: 'Read privacy-safe outcomes, rates, timings, score, and schedule for one simulation campaign.' The phrase 'one simulation campaign' distinguishes it from the sibling search_campaigns, and the enumerated payload fields tell the agent exactly what comes back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'one simulation campaign' suggests a per-campaign detail lookup versus search_campaigns, but the description never states when to call this instead of get_organization_overview or search_campaigns, nor any prerequisite for obtaining campaign_id. There are no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_organization_overviewARead-onlyIdempotentInspect
Read the current Reporting dashboard and Training program for an Organization. Request at least one section; only requested sections are read and returned. Request scoring for the canonical final score, populations, five component summaries, 365-day channel reach, benchmark, exposure, source publication/freshness and current module flags. {} requests current only; history supports 3/6/12 months and defaults to dashboard resolution. Request groups for paged standard/dynamic group scores, coverage and whole-catalog comparison flags; insights for the official ranked facts; recommendations for current ordered actions and evidence. Groups and recommendations require Admin/Owner. Partial results and stale metadata must be considered. Request endpoints for paged browser/OS versions, dated freshness verdicts, visit/distinct-people counts and device split including tablets. These are six months of phishing landing observations, not a live device inventory. People across versions or verdicts overlap. Simulation describes email campaigns scheduled within an inclusive calendar period, defaulting to the last six months through today in the Organization timezone. This section contains campaign counts, audience, funnel and rates over each campaign lifetime. Training describes the current program. Its optional sections array defaults to stats and overview; activity covers the last 30 days, topics includes historical learning-path sessions, and program describes current configuration. Filters belong to each section. Training does not accept the Simulation calendar period. All rates, coverage and insight shares use {value, numerator, denominator, unit: "fraction"}, with values from 0 to 1. Scores use a 0 to 100 scale and UTC evaluation dates. Scores and scoring coefficients retain their canonical meaning. Null means unknown or unavailable; measured zero remains zero. Omitted sections are unrequested. Each section has its own scope and freshness; read_at is not an atomic multi-store snapshot. Use section states, issues and metric definitions when interpreting results. Assess the evidence and recommend concrete actions supported by relevant figures.
| Name | Required | Description | Default |
|---|---|---|---|
| sections | Yes | ||
| organization_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | |
| read_at | Yes | |
| sections | Yes | |
| request_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses substantial behavioral context: per-section scope and freshness, partial results and stale metadata, read_at not being an atomic snapshot, null-vs-zero semantics, rate/score scales, simulation period defaults, and endpoint observations being six months of phishing data rather than a live inventory. These details materially improve safe interpretation of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the body is a dense single block of long sentences that is difficult to scan. Most content is relevant, yet there is some redundancy, such as repeating that unrequested sections are omitted, and the compressed lists would benefit from clearer structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex multi-section read tool with an output schema, the description is remarkably complete on section behavior, defaults, permissions, formatting conventions, freshness caveats, and partial-result handling. Some lower-level parameter mechanics remain unexplained, but the essential context an agent needs to call and interpret the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the semantic burden, and it largely does: it explains what scoring, groups, insights, recommendations, endpoints, simulation, and training sections mean, including defaults and permissions. It still leaves some nested mechanics such as query/cursor/limit behavior and the statuses enum unexpanded beyond their structural names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: read the Reporting dashboard and Training program for an Organization. It is clear what the tool returns at a high level, but it does not explicitly distinguish itself from sibling tools such as get_campaign_summary or search_campaigns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some usage context: at least one section must be requested, only requested sections are read, groups and recommendations require Admin/Owner, and Training does not accept the Simulation period. However, it never states when to choose this overview tool instead of a sibling tool, nor does it provide explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organizationsARead-onlyIdempotentInspect
List the organizations accessible to the authenticated User.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| principal | Yes | |
| request_id | Yes | |
| organizations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds one piece of genuine context beyond that — the result set is scoped to organizations 'accessible to the authenticated User' — which tells the agent results are permission-filtered. It says nothing about result volume, ordering, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the action and the resource. Nothing is wasted and nothing essential is delayed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with full annotation coverage and an output schema, the description is essentially sufficient — return structure need not be explained. The only small gap is the absence of any hint about result ordering or whether the list can be large, which would matter for an agent planning follow-up calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. Schema coverage is 100% and the empty property set is consistent with a simple enumeration call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (List) and resource (organizations), making the operation immediately identifiable. It does not differentiate itself from siblings like get_organization_overview, but the resource name plus the enumeration verb is clear enough that an agent can distinguish a list operation from an overview or search operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the entry-point discovery call to find organizations before calling organization-scoped tools such as get_organization_overview. There is no explicit statement of when to use this versus the sibling tools, nor any prerequisite or exclusion noted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_campaignsARead-onlyIdempotentInspect
Find simulation campaigns by name, lifecycle state, goal, use case, or schedule. Results are newest by created_at, not scheduled_at; follow next_cursor for more. PROCESSING means reporting is being finalized, not proof of failure or an operations backlog.
| Name | Required | Description | Default |
|---|---|---|---|
| goals | No | ||
| limit | No | ||
| query | No | ||
| cursor | No | ||
| statuses | No | ||
| use_cases | No | ||
| scheduled_to | No | ||
| scheduled_from | No | ||
| organization_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | |
| campaigns | Yes | |
| request_id | Yes | |
| next_cursor | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety needs no restating. The description adds genuinely non-obvious context: result ordering is by created_at rather than scheduled_at, page continuation goes through next_cursor, and PROCESSING is a finalization state rather than a failure or backlog signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each with a distinct job: scope, result ordering plus pagination, status interpretation. The most load-bearing constraint (ordering by created_at, not scheduled_at) is stated early with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and the pagination, ordering, and status semantics an agent most often gets wrong are covered. Gaps remain for a 9-parameter tool: no mention of the limit default/cap, the required organization_id, or what the goal and use_case enum values mean.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it does map five facets to parameters plus explains the PROCESSING status value. However, organization_id, limit, cursor (only alluded to via next_cursor), and the enum meanings of goals and use_cases receive no explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Find simulation campaigns" pairs a specific verb with a specific resource, and the facets listed (name, lifecycle state, goal, use case, schedule) match the schema's filter parameters. It does not explicitly distinguish itself from the sibling get_campaign_summary, so it stops short of the top mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The search facets imply this is the discovery tool to use before fetching a summary, but the description never says when to use it instead of get_campaign_summary or list_organizations. No prerequisites, exclusions, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_employee_activityARead-onlyIdempotentInspect
Inspect the retained evidence behind Employee Simulation and Training posture within one Organization. Select Employees by IDs, literal name/email text, current Groups or Dynamic Groups, or active state; omit selection to browse. Choose exactly one activity.source per call. SIMULATION returns complete campaign/channel participations with canonical facts, outcomes and retained source events. TRAINING returns assignments with lifecycle dates and retained MCQ answers. Use searchEmployees for summaries or comparisons. This tool is independently usable and does not rank Employees by score. Each call selects at most limit matching Employees and returns at most limit activity records. Ordering is Employee ID then channel and Campaign ID for Simulation, or session ID for Training. Continue with next_cursor even after an empty activity page; null means the search is exhausted. read_at is retained across pages. Current identity and membership and late-arriving records can change; this is not an atomic cross-store snapshot. Retained history remains readable when a program is disabled. Deleted Training sessions are excluded. If a page is too large, reduce limit or narrow selection and filters. Evidence is never silently truncated.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum matching Employees selected and maximum activity records returned per call, from 1 to 50. Defaults to 25. Preserve this value when continuing a cursor. | |
| cursor | No | Omit or use null for the first page. Continue with next_cursor and unchanged arguments, even after an empty activity page. Stop only when next_cursor is null. | |
| activity | Yes | Exactly one source per call. Filters select activity records, not Employees. | |
| employees | No | Current Employee selection. Omit to browse. Matching Employees are paged using limit and cursor. | |
| organization_id | Yes | ID of one Organization accessible to the authenticated Member. |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | |
| read_at | Yes | Evidence cutoff retained across pages. Current Employee selection, content edits and late-arriving source records can affect later pages; source stores do not share an atomic snapshot. |
| activity | Yes | |
| request_id | Yes | |
| next_cursor | Yes | Continue with this cursor even when items is empty: later Employees may have matching activity. Null means the search is exhausted. |
| missing_employee_ids | Yes | Requested IDs that are unknown, inaccessible, or excluded by current selection filters. Empty without exact IDs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, yet the description adds substantive traits beyond them: results are not an atomic cross-store snapshot, retained history stays readable when a program is disabled, deleted Training sessions are excluded, and evidence is never silently truncated. The pagination contract is unusually well disclosed (continue with next_cursor even after an empty activity page; null means exhausted; read_at is retained across pages), which is exactly the kind of behavior an agent cannot infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the remaining sentences are dense rather than padded, but it is a single long paragraph covering purpose, selection, pagination, consistency, and error recovery with no structural breaks, making it harder to scan. A few clauses restate schema content (cursor continuation, limit reduction) that could have been dropped without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested, two-branch, cursor-paginated search over a deeply nested activity schema, the description covers the selection model, per-source return contents, ordering, pagination termination, snapshot consistency, and retention semantics. Because an output schema exists, it correctly stops short of enumerating return fields, giving an agent everything needed to call it correctly across pages.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 still adds value by clarifying that limit caps both the number of matching Employees selected and the number of activity records returned, and by stating result ordering (Employee ID then channel and Campaign ID for Simulation, or session ID for Training). It also enumerates the Employee selection modes (IDs, literal name/email, Groups/Dynamic Groups, active state) and warns that activity filters do not select Employees. It does not explain the TRAINING period.field choices, which the schema already covers well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Inspect the retained evidence behind Employee Simulation and Training posture within one Organization.' It then names the two concretely distinct modes (SIMULATION returns campaign/channel participations with outcomes and source events; TRAINING returns assignments with lifecycle dates and MCQ answers), so an agent can distinguish this from searchEmployees and search_campaigns without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes the agent: 'Use searchEmployees for summaries or comparisons,' and 'omit selection to browse' when no filter is needed. It also constrains the call shape ('Choose exactly one activity.source per call') and gives a recovery path ('If a page is too large, reduce limit or narrow selection and filters'), which covers both when to use this and when a sibling is the better choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_employeesARead-onlyIdempotentInspect
Find Employees within one Organization and return their Simulation, Training and/or canonical scoring summaries. Use this to inspect an Employee, compare selected Employees, or review a Group or Dynamic Group. Select Employees by IDs or literal name/email text, optionally restricted by group membership and active state; omit selection filters to browse. Request at least one of insights.simulation, insights.training or insights.scoring. An empty object requests that section without additional evidence filters. Simulation summaries include the Simulation score, participation counts, and compromise and report rates. Training summaries include Learner Session completion, success, and overdue counts. Scoring returns the complete canonical score, channel and Training components, badge bonus, inactivity decay, policy and evaluation time. It requires Admin/Owner. Scoring ignores Simulation/Training filters. Opt-in history requires at most five exact IDs, limit at most five, and at most 30 UTC sampled points. Current-only scoring supports the ordinary 50-employee page. Insight filters affect the evidence summarized, not which Employees are selected. Returns one summary per Employee, with pagination, rather than individual Simulation observations or Learner Sessions. Does not discover, filter, or rank Employees by score.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum Employees per page. Preserve this value when continuing a cursor. | |
| cursor | No | Omit or use null for the first page. Otherwise pass next_cursor from the previous response, preserving all other arguments. | |
| insights | Yes | Request simulation, training, scoring, or any combination. At least one section is required; {} alone is invalid. Filters narrow evidence, not Employee selection. | |
| employees | No | Select Employees using current identity, group membership, and active state. Omit to browse all Employees. Evidence filters do not change this selection. | |
| organization_id | Yes | ID of one Organization accessible to the authenticated Member. |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | |
| read_at | Yes | Evidence evaluation cutoff retained across cursor pages. Employee identity, active state, and group membership remain current. |
| employees | Yes | |
| request_id | Yes | |
| next_cursor | Yes | Pass as cursor with unchanged arguments to continue, even if this page has no Employees. Null means the selection is exhausted. |
| missing_employee_ids | Yes | Requested Employee IDs processed on this page that were not returned. They may be unknown, inaccessible, or excluded by selection filters. Empty when searching without ids. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive, yet the description adds materially new behavior: Admin/Owner permission needed for scoring, history mode capped at five exact IDs and limit five with 30 UTC sampled points, current-only scoring supporting the ordinary 50-employee page, and the crucial caveat that insight filters narrow evidence rather than Employee selection. It also clarifies the return shape (one summary per Employee with pagination, not individual observations or Learner Sessions), which goes well beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded: purpose and selection mechanics come before the summary-shape details. It is a single dense paragraph of many sentences, though, and a short bulleted split between selection rules, output contents, and constraints would improve scanability without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deeply nested, five-parameter tool with high complexity, the description covers selection semantics, per-section behavior, permission requirements, pagination/history limits, and what the response contains. Since an output schema exists, it correctly stops short of exhaustively documenting return fields while still flagging the summary-level granularity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline would be 3; the description earns an extra point by adding semantics not present in the schema, notably that an empty object requests a section without evidence filters, that insight filters affect summarized evidence rather than selection, and the history-mode ID/limit/point caps. It still leaves some nested details (e.g. how `match` interacts with `ids` plus `query`) to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb (Find/return) plus resource (Employees within one Organization) plus the exact payload (Simulation, Training, canonical scoring summaries). The description also explicitly carves out scope against alternatives with "Does not discover, filter, or rank Employees by score," so an agent can distinguish it from sibling tools like search_employee_activity without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete when-to-use cases (inspect one Employee, compare selected Employees, review a Group or Dynamic Group) and a how-to-select rule (by IDs or literal name/email, omit filters to browse). The main gap is that it never names a concrete sibling tool as the alternative, stating only the negative constraint that it does not rank or discover by score.
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.
6 tool updates
- First observed
get_campaign_summary - First observed
get_organization_overview - First observed
list_organizations - First observed
search_campaigns - First observed
search_employee_activity - First observed
search_employees
Publisher details
- Operator
- Arsen Security
- Operator website
- https://arsen.co/en/mcp
- Vendor relationship
- Not applicable
- Documentation
- https://arsen.co/en/blog/how-to-use-arsen-mcp
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Carbon Voice MCP serves as a bridge that connects AI assistants like ChatGPT, Claude, and Cursor to a user's Carbon Voice account, turning voice messages and conversations into a private, on-demand knowledge base. It provides 28 specialized tools for comprehensive voice messaging management, including creating and sending messages, accessing conversation history with instant transcription, running AI actions (summarization, TLDR generation, meeting notes), and managing workspace collaboration through folders, contacts, and team communications.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables MCP-compatible AI assistants to scan files and raw content for malware, prompt injection, and other threats, manage accounts and API keys, and access SDK/API documentation.-
- AlicenseNot gradedqualityBmaintenanceLets any MCP client, such as Claude, browse attack suites and probes, run a full assurance assessment with all reports written out, send custom prompts or multi-turn histories and get leak, PII and refusal checks back for adaptive attacks, and read findings from an earlier assessment. This enables agent-driven red-teaming of a chatbot, RAG app or AI agent without leaving the chat client.MIT

Purple AI MCP Serverofficial
AlicenseBqualityBmaintenanceEnables MCP clients to interact with SentinelOne's cybersecurity platform for security analysis, threat investigation, and asset management through natural language queries. Provides read-only access to alerts, vulnerabilities, misconfigurations, and inventory data.33101MIT- AlicenseNot gradedqualityCmaintenanceAI-native security research platform that integrates Claude with MCP to execute real offensive security tools in an isolated Docker container, enabling natural language-driven recon, CVE scanning, Active Directory enumeration, and cryptographic posture assessment.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.