safe-mind-tools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SAFE_MIND_API_KEY | Yes | API key for the Safe Mind platform (e.g., sm_live_...). Required for authentication. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| safe_mind_registerA | Create a new Safe Mind account together with its company. Safe Mind runs the legally required psychological risk assessment (Gefährdungsbeurteilung psychischer Belastung, GBU Psyche) for German companies. Use this only when the user has no account yet; for an existing account go straight to safe_mind_get_api_key. No API key needed. Sends a 6-digit verification code to the email address and returns a confirmation message; the account is usable after safe_mind_verify_email. For privacy the answer is the same whether or not the address is already registered. Disposable (throwaway) email addresses are rejected with an error. |
| safe_mind_verify_emailA | Confirm a newly registered account with the 6-digit code from the verification email sent by safe_mind_register. No API key needed. Returns a confirmation message; afterwards call safe_mind_get_api_key. A wrong or expired code returns an error without revealing whether the account exists. |
| safe_mind_get_api_keyA | Log in with email and password of a verified Safe Mind account and create an API key. Call this before any company, survey or analytics tool unless SAFE_MIND_API_KEY is already set. The key is kept in memory for this session only and also returned, so the user can store it as SAFE_MIND_API_KEY for later sessions. Fails if the email is not verified yet (use safe_mind_verify_email) or the credentials are wrong. |
| safe_mind_meA | Show who is connected: name and email of the account and the company (id, name, employee count) that all other tools act on. Use it to check the API key works or to confirm the company before creating anything. Read-only. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_list_departmentsA | List the departments/areas (Tätigkeitsbereiche) of the company as id and name. Surveys segment results by these areas. Read-only. Call it before safe_mind_create_department or safe_mind_create_survey to reuse existing names exactly. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_create_departmentA | Create one department/area (Tätigkeitsbereich) of the company and return its id and name. Idempotent: if an area with exactly this name exists, that one is returned and nothing is duplicated. Not needed before safe_mind_create_survey, which creates missing areas by name itself. Areas cannot be renamed or deleted through the API. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_list_locationsA | List the locations (Standorte) of the company as id and name. Locations are an optional second segmentation next to departments, useful for companies with several sites. Read-only. Call it before safe_mind_create_location to reuse existing names exactly. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_create_locationA | Create one location (Standort) of the company and return its id and name. Use it for companies with several sites whose results should be compared; single-site companies do not need locations. Idempotent: if a location with exactly this name exists, that one is returned and nothing is duplicated. Not needed before safe_mind_create_survey, which creates missing locations by name itself. Locations cannot be renamed or deleted through the API. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_create_surveyA | Create a survey draft for the psychological risk assessment and return its id, status "draft", dates, participation link and an edit link. Departments and locations are passed by name; missing ones are created, existing ones reused. The draft is not visible to employees yet: the account owner reviews it and starts it in the Safe Mind app via the edit link (payment happens there). Drafts cannot be edited or deleted through the API, so confirm the inputs with the user first. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_list_surveysA | List all surveys of the company, newest first, each with id, title, status (draft, active, closed, archived), start and end date, participant limit, anonymity threshold, participation link and edit link. Read-only. Use it to find the surveyId needed by safe_mind_get_survey and safe_mind_get_analytics. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_get_surveyA | Show one survey of the company: title, status (draft, active, closed, archived), start and end date, participant limit, anonymity threshold, the participation link for employees and the edit link for the account owner. Read-only. Use it to check a single survey or fetch its links; for an overview of all surveys use safe_mind_list_surveys, for results use safe_mind_get_analytics. Returns a not-found error for ids that do not exist or belong to another company. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
| safe_mind_get_analyticsA | Aggregated results of one survey: respondent count, anonymity threshold and the average score per category (scale -1 to +1, higher is better; the Safe Mind app shows the same values times 10). With groupBy the averages are split by department, location, age group or gender. Groups below the anonymity threshold are never returned, only counted in suppressedGroupCount, and individual answers are never exposed. resultsAvailable is false until the survey is paid. Read-only. Requires an API key: set SAFE_MIND_API_KEY or call safe_mind_get_api_key first. Acts on the company of the account behind the key. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource+action: auth lifecycle (register, verify_email, get_api_key, me), read-only listings (surveys, departments, locations), creation (department, location, survey), and result retrieval (get_survey, get_analytics). Descriptions even cross-reference the right sibling tools (e.g. list_surveys points to get_survey and get_analytics). No two tools can be reasonably confused.
Nearly all tools follow a predictable safe_mind_<verb>_<noun> pattern (list_surveys, create_department, get_analytics), and the shared prefix is applied uniformly. The only deviation is safe_mind_me, which lacks a verb and breaks the pattern slightly, plus register/verify_email omit an explicit noun.
12 tools is well within the ideal 3-15 range and each tool earns its place, covering auth, segmentation setup, survey lifecycle, and analytics without redundancy. Nothing feels padded or missing for the stated scope.
The surface covers the full intended workflow: onboarding/auth, department and location setup, survey creation and retrieval, and aggregated analytics, with idempotent creates. There is no update or delete for surveys, departments, or locations, but the descriptions explicitly note these are intentionally unavailable via the API, so the gaps are documented rather than dead ends.