Skip to main content
Glama
lewo-media

safe-mind-tools

Safe Mind Developer Tools

Official CLI and MCP server for Safe Mind - the platform for the legally required psychological risk assessment (Gefährdungsbeurteilung psychischer Belastung, GBU Psyche) in Germany.

Package

npm

Purpose

cli/

safe-mind

Terminal client for the Safe Mind Public API v1

mcp/

safe-mind-mcp

MCP server for AI assistants (Claude, ChatGPT, Gemini, Cursor, ...)

Quick start

npm install -g safe-mind
safe-mind login --email you@example.com --password '...'
safe-mind surveys create --start 2026-10-01 --weeks 4 --employees 220 \
  --department "Produktion" --department "Verwaltung"

MCP (any MCP client):

{
    "mcpServers": {
        "safe-mind": {
            "command": "npx",
            "args": ["-y", "safe-mind-mcp"],
            "env": { "SAFE_MIND_API_KEY": "sm_live_..." }
        }
    }
}

Related MCP server: webmin-mcp-server

Documentation

  • API reference and examples: https://www.safe-mind.de/developers

  • Anonymity: analytics endpoints only return aggregated results; groups below the minimum group size are filtered server-side.

License

MIT

Available Tools

12 tools
safe_mind_create_departmentB

Create a company department/area (Tätigkeitsbereich), e.g. "Produktion (Halle 1, 2)".

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

B3.1/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 reveals nothing about permissions, uniqueness/duplicate-name behavior, whether creation is idempotent or reversible, or what is returned; the only behavioral hint is the example naming format.

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 tight sentence with the action and resource front-loaded and an embedded example that earns its place by disambiguating what a department is.

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?

For a simple one-parameter create tool with no output schema, the description is minimally adequate but leaves the agent guessing about prerequisites, duplicate handling, and what the call returns. Annotations are absent, so these gaps are not covered elsewhere.

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?

With one parameter at 0% schema description coverage, the description must compensate, and it partially does by giving an illustrative name value ("Produktion (Halle 1, 2)") that implies a free-form human-readable label. It still omits constraints such as whether names must be unique or length limits beyond the schema's minLength.

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 (Create) and resource (company department/area), and clarifies the domain with the German term Tätigkeitsbereich plus a concrete example. It does not explicitly differentiate from the sibling safe_mind_create_location, but the resource noun is unambiguous on its own.

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 indication of when to use this tool versus alternatives such as safe_mind_create_location, nor any prerequisites (e.g. registration, org context) or notes about listing existing departments first with safe_mind_list_departments. Only implied usage via the verb is present.

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

safe_mind_create_locationC

Create a company location (Standort).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions only the creation action and does not state whether authentication or permissions are required, what happens on duplicate names, or any side effects or failure modes.

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

Conciseness3/5

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

The description is a single, front-loaded sentence with no extraneous content. While concise, it may be too terse given the lack of other structured information.

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?

For a simple creation tool with no annotations and no output schema, the description is insufficient. It omits parameter explanation, permission requirements, and any behavioral context, leaving the agent under-informed.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention the single 'name' parameter at all. It provides no format, constraints, or meaning beyond what the schema itself declares (a non-empty string), failing 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?

States a specific verb ('Create') and resource ('company location'), and the German gloss '(Standort)' adds clarity. However, it does not differentiate from the sibling 'safe_mind_create_department' beyond the resource noun, so an agent might still need to check the schema to confirm the target entity.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are provided. The description merely restates the action, leaving the agent to infer that it should be used when a new location is needed.

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

safe_mind_create_surveyA

Create a survey draft for the psychological risk assessment. Departments are passed by name and created automatically if missing. Returns edit and preview links; the survey is started by the account owner in the Safe Mind app.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
locationsNo
startDateYesYYYY-MM-DD, first day of the survey
departmentsYes
durationWeeksYes
employeeCountYes
analyticsMinThresholdNoMinimum group size for segmented analytics (default 7)

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does disclose two valuable traits: departments are auto-created as a side effect if missing, and the returned edit/preview links are usable while the survey stays in draft until the owner starts it. It omits auth/permission requirements and what happens on conflicting inputs, which keeps it short of a 5.

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 tightly written sentences with the core purpose front-loaded and each following clause (auto-create, return links, start-elsewhere) adding distinct value. No redundancy or filler.

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?

Despite 7 parameters and no output schema, the description usefully implies the return payload (edit and preview links) and the draft lifecycle. However, it leaves most parameters, permissions, and failure behavior unaddressed, so it is only adequate rather than complete for a mutation tool of this complexity.

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

Parameters2/5

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

Schema coverage is 29%, so the description is expected to compensate, yet it only clarifies one parameter ('departments are passed by name'). startDate, durationWeeks, employeeCount, locations, title, and analyticsMinThreshold are left to sparse schema notes, so the semantic gap remains large.

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?

Specific verb+resource ('Create a survey draft') with domain context ('for the psychological risk assessment') and a lifecycle qualifier ('draft') that distinguishes it from the read-only siblings get_survey and list_surveys. An agent can tell exactly what this tool produces without opening the schema.

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 states what happens but gives no when-to-use guidance or alternative routing. It never says when to reach for this versus list_surveys/get_survey, nor any prerequisite (e.g. account ownership, existing locations). The note that the survey 'is started by the account owner in the Safe Mind app' hints at workflow but is not usage guidance.

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

safe_mind_get_analyticsA

Aggregated survey results (overall and per category), optionally grouped. Groups below the anonymity threshold are never returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupByNo
surveyIdYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden, and it discloses a genuinely non-obvious privacy behavior: groups falling below the anonymity threshold are never returned, which explains missing rows an agent would otherwise misread as an error. It omits permissions/authentication requirements and any guidance on the threshold value or response size.

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, no filler, with the core output description front-loaded and the suppression caveat second. Every clause earns its place.

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?

There is no output schema, so the description reasonably steps in with 'overall and per category' to sketch the return shape, and it flags suppressed groups. It still leaves authentication requirements, pagination/size limits, and the concrete meaning of surveyId and the groupBy enum unaddressed, which matters for a tool with 0% schema coverage.

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, but it only obliquely covers groupBy via 'optionally grouped'. Neither parameter is named or explained: the required surveyId is never mentioned, and the enum values (department, location, ageGroup, gender) are left entirely to the schema.

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 resource (aggregated survey results) with a clear output shape ('overall and per category, optionally grouped'), which is more informative than the bare tool name. It does not, however, distinguish itself from the sibling safe_mind_get_survey, so an agent can't tell from the text alone when to prefer one over the other.

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

Usage Guidelines3/5

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

Usage is only implied: 'aggregated' suggests this is the reporting/rollup view rather than the raw survey fetch, and 'optionally grouped' hints at the groupBy parameter. There is no explicit when-to-use statement, no mention of prerequisites (e.g. auth or survey ownership), and no reference to the competing get_survey sibling.

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

safe_mind_get_api_keyA

Obtain an API key for a verified Safe Mind account (email + password). The key is kept in memory for this session; for permanent use set the SAFE_MIND_API_KEY environment variable.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
passwordYes

TDQS

A4/5.0
Behavior4/5

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

No annotations exist, so the description carries the full burden, and it does disclose useful lifecycle detail: the key lives only in session memory and requires the SAFE_MIND_API_KEY environment variable for permanent use. It omits failure behavior for unverified accounts and whether the key is returned in the response body, but the credential-storage disclosure is genuinely valuable.

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, zero padding, with the core action stated first and the persistence caveat second. Every clause 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 two-parameter credential tool with no output schema and no annotations, the description covers the intent, the precondition, and the key's lifetime. It could say more about error cases (unverified account) or how the key is surfaced, but nothing essential to invoking it 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 0% for two required parameters, so the description must compensate. It names both credentials ('email + password') in the right roles, but adds no format or constraint details beyond what the bare schema already conveys.

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 and resource ('Obtain an API key') plus a precondition ('for a verified Safe Mind account'), which cleanly separates it from siblings like safe_mind_register (creates accounts) and safe_mind_verify_email. An agent can tell what this tool returns without opening the schema.

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 via the 'verified account' qualifier; the description never says when to call this versus safe_mind_register or safe_mind_verify_email, nor whether it must be called before other safe_mind_* tools. The precondition is useful but the agent must infer the ordering itself.

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

safe_mind_get_surveyC

Show one survey: status, timeframe, participation link.

ParametersJSON Schema
NameRequiredDescriptionDefault
surveyIdYes

TDQS

C2.7/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 discloses the returned fields (status, timeframe, participation link), which is useful, but says nothing about permissions required, behavior when surveyId is invalid or missing, or whether the call has side effects. For an unannotated tool this is thin.

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 compact sentence with the resource front-loaded and zero filler. It is efficient, though the terseness that earns the score is the same quality that leaves semantic gaps.

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?

With no annotations and no output schema, the description is the only behavioral source, and it only lists three returned fields. It omits how to acquire a surveyId, error behavior, and any permission context, so it is insufficient for a tool an agent must call with a required identifier.

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

Parameters2/5

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

The single surveyId parameter has 0% schema description coverage, and the description does not compensate — it never states whether surveyId is an opaque ID, a slug, or a name, nor how the agent should obtain one. Low coverage plus no compensating text leaves the parameter's semantics undefined.

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?

"Show one survey" names a specific verb and resource, and the enumeration of status/timeframe/participation link clarifies what 'one survey' means. It implicitly contrasts with the list operation, but never names safe_mind_list_surveys as the alternative, so it stops short of explicit sibling differentiation.

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 when-to-use guidance, no statement of prerequisites, and no pointer to safe_mind_list_surveys for discovering survey IDs. The agent must infer that this is the single-record lookup tool purely from the name.

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

safe_mind_list_departmentsA

List the company departments/areas (Tätigkeitsbereiche) used for survey segmentation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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, and it discloses only that these departments are the segmentation vocabulary. It does not state that this is a safe read, whether authentication is required, whether results are paginated, or what the returned records contain. For a zero-parameter read-only lookup the risk is low, so this is a modest but real gap.

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 verb and resource with no filler. Every clause earns its place, including the parenthetical synonym.

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 list tool with no output schema and no annotations, the description covers what the tool returns at a conceptual level (the company's departments used for segmentation). Return shape, ordering, and empty-state behavior are unaddressed, but the complexity bar is very low.

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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter tool is 4. The German synonym in the description is a small semantic bonus for matching domain vocabulary.

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 ('List') and resource ('company departments/areas'), plus a parenthetical German synonym (Tätigkeitsbereiche) that disambiguates the domain term. It is clearly distinct from the write-side sibling safe_mind_create_department, though it does not explicitly name siblings like safe_mind_list_locations to draw the line.

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 implied rather than stated: 'used for survey segmentation' tells the agent what the data feeds into, which hints at when it is relevant. There is no explicit when-to-use/when-not guidance and no mention of alternatives (e.g. safe_mind_list_locations, which is the parallel lookup for a different dimension).

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

safe_mind_list_locationsB

List the company locations (Standorte).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 burden, yet it discloses nothing about permissions, return format, ordering, or whether results are paginated. "List" implies a safe read, but that is inference rather than disclosure.

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 short sentence with the verb front-loaded and no filler. It is efficiently sized for a trivial list operation, though the parenthetical synonym is the only extra content.

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?

For a zero-parameter list tool with no output schema, the description is minimally adequate: an agent knows what it retrieves but not the shape, volume, or ordering of the result. Given the low complexity, the gap is tolerable but real.

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 takes zero parameters, so the schema cannot be missing anything and the baseline of 4 applies. There are no parameter semantics for the description to add or omit.

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 gives a clear verb+resource ("List the company locations") and adds the German synonym "Standorte" for disambiguation. It contrasts implicitly with the sibling safe_mind_create_location, but does not explicitly differentiate itself from other list tools like safe_mind_list_departments or safe_mind_list_surveys.

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 use this tool versus alternatives, no prerequisites, and no indication of scope (all locations vs. filtered). The agent must infer usage entirely from the name.

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

safe_mind_list_surveysA

List the surveys of the company with status and dates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose that results include status and dates, which is useful return-content context, but says nothing about scope limits, pagination, or authorization requirements for a read operation.

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

Conciseness5/5

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

A single front-loaded sentence with a verb, resource, scope, and the returned fields. Nothing is wasted and nothing needs reordering.

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 zero-parameter read tool with no output schema, the description covers enough: what it lists, whose surveys, and which fields come back. It stops short of noting result ordering or volume, but the agent has what it needs to call it.

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 takes zero parameters, so the baseline is 4; the description correctly implies no inputs are needed to enumerate the company's surveys.

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 gives a specific verb (List) and resource (surveys), scoped to 'the company', which distinguishes it from the singular safe_mind_get_survey. It does not explicitly name the sibling alternative, so it falls 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 Guidelines3/5

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

Listing surveys is self-evidently the enumeration counterpart to safe_mind_get_survey, so usage is implied, but the description never states when to use this versus fetching a single survey or create_survey. No exclusions or prerequisites are given.

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

safe_mind_meA

Show the authenticated Safe Mind account and company.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden; it does convey that results are scoped to the authenticated caller (an implicit auth requirement and read-only nature). It says nothing about what is returned beyond the two entity names, and no other behavioral traits (permissions, errors) are covered.

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 short sentence with the verb and the scoped resource front-loaded; there is no filler or redundancy.

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

Completeness4/5

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

With no output schema and no annotations, the description is the only source of return-value information, and it does name the returned entities (account and company). It stops short of describing the fields or shape of that account/company payload, but for a zero-parameter identity tool this is close to sufficient.

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 schema declares zero parameters, so there is nothing to document and the baseline of 4 applies. The description does not need to compensate for any parameter 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 states a specific verb ("Show") and a clear resource (the authenticated Safe Mind account and company), letting an agent recognize this as whoami-style identity retrieval rather than a sibling operation like safe_mind_register or safe_mind_get_api_key. It does not explicitly contrast itself with any sibling, but the resource is distinct enough that differentiation is easy.

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 call this versus alternatives, nor on prerequisites beyond the word "authenticated." With zero parameters and an obvious identity-retrieval role, usage is largely implied, but the description itself supplies no explicit context or exclusions.

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

safe_mind_registerA

Create a Safe Mind account with a company. Safe Mind runs the legally required psychological risk assessment (Gefährdungsbeurteilung psychischer Belastung, GBU Psyche) for German companies. A verification code is sent by email; verify with safe_mind_verify_email.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
lastNameYes
passwordYes
firstNameYes
companyNameYes
employeeCountYes

TDQS

A3.7/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 a real side effect — a verification code is sent by email, and the account is not usable until verified — but says nothing about duplicate-email handling, error conditions, rate limits, or what the call creates on success (API key, tenant, etc.).

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

Conciseness4/5

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

Front-loaded with the action, followed by a short justification of what Safe Mind is and the verification hand-off. Three tight sentences with no filler; the domain explanation is arguably tangential to invocation but brief enough to be low-cost.

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?

For a six-parameter registration mutation with no annotations and no output schema, the description covers the unique email-verification workflow but omits parameter meaning and failure/side-effect behavior. It is minimally sufficient to invoke the tool but leaves meaningful gaps.

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 required parameters, so the schema names fields but explains none of them. The description only loosely alludes to 'company' and the email code, giving no guidance on password rules, employeeCount semantics, or name fields, so it 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.

Purpose5/5

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

States a specific verb and resource ('Create a Safe Mind account with a company') and adds a one-line explanation of what Safe Mind does. It also distinguishes itself from the verify_email sibling by noting the follow-up verification step, so an agent can place it in the onboarding flow without opening any schema.

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 establishes the context of use (new company registration) and explicitly routes the agent to safe_mind_verify_email once the emailed code arrives. It stops short of stating exclusions or prerequisites (e.g., what to do if the email already exists), so it is clear but not exhaustive.

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

safe_mind_verify_emailB

Verify a Safe Mind account with the code received by email.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
emailYes

TDQS

B3.1/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, and it omits the essentials for a state-changing call: what happens on success (account activated? API key issued?), whether the code is single-use or expiring, what errors look like for bad/expired codes, and any rate limits.

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

Conciseness4/5

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

One compact sentence with the action front-loaded and no filler. Nothing is wasted, though the brevity is partly under-specification rather than disciplined conciseness.

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?

For a low-complexity tool the description is still thin: no output schema exists, no annotations exist, and the flow context (register -> verify -> get_api_key, visible in the sibling list) is never connected. An agent cannot predict the result or the failure modes from what is given.

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 partially does by mapping 'code' to the value delivered by email and implicitly tying 'email' to the account being verified. It adds no format, case-sensitivity, or length guidance for the code beyond what the schema's type/format already implies.

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 (verify) plus the resource (a Safe Mind account) and the mechanism (an emailed code). It is clearly distinguishable from siblings like safe_mind_register or safe_mind_get_api_key, but it never names an alternative or positions itself within the account lifecycle.

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 phrase 'with the code received by email' implies the precondition that the user has already registered and received a code, so usage is inferable rather than stated. There is no explicit when-to-use, when-not-to-use, or pointer to safe_mind_register as the preceding step.

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. 12 tool updatesv0.1.1
    • First observedsafe_mind_create_department
    • First observedsafe_mind_create_location
    • First observedsafe_mind_create_survey
    • First observedsafe_mind_get_analytics
    • First observedsafe_mind_get_api_key
    • First observedsafe_mind_get_survey
    • First observedsafe_mind_list_departments
    • First observedsafe_mind_list_locations
    • First observedsafe_mind_list_surveys
    • First observedsafe_mind_me
    • First observedsafe_mind_register
    • First observedsafe_mind_verify_email

TDQS

B3.4/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct resource+action pair. Departments and locations are clearly separated (list/create variants), surveys vs. analytics are distinct, and the account-lifecycle tools (register, verify_email, get_api_key, me) each have a unique role. No two tools could reasonably be confused.

Naming Consistency5/5

All tools use a consistent snake_case safe_mind_ prefix followed by a predictable verb_noun pattern (list_, create_, get_, verify_). The convention is applied uniformly across the entire set.

Tool Count5/5

At 12 tools the set is well-scoped for the domain, covering account setup, reference data, surveys, and analytics without redundancy. Every tool appears to earn its place.

Completeness3/5

Core workflows (register, get key, create departments/locations, create survey, view results) are covered, but there are notable gaps: departments and locations support create+list only with no update or delete, and survey drafts cannot be edited or removed via the API. Agents may hit dead ends when cleanup or correction is needed.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server for Webmin system administration. 61 tools across 12 modules covering system monitoring, services, users, cron, packages, files, storage (SMART + LVM), security (Fail2ban), MySQL databases, Webmin ACL, and disk quotas. Four-tier safety framework with safe mode on by default. Python, MIT license, Docker and local deployment supported.
    61
    7
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for Dashform (getaiform.com) - create and manage AI-powered forms, quizzes, and surveys. Supports form creation, response collection, analytics, and AI-driven form building with 15 tools across form management, response handling, and AI operations.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Public MCP server for agent-created, human-friendly, short-lived surveys. Enables agents to ask structured questions and retrieve answers.
    2
    MIT