# io.github.farssaadeldin7-ux/mental-health-chatbot (mcpb · mental-health-chatbot.mcpb)

Structured non-clinical check-ins with escalation always on: routes to real resources, never...

- Trust score: 35/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- mcpb · `mental-health-chatbot.mcpb`: 35/100 (this document), [markdown](https://verifymcp.io/servers/farssaadeldin7-ux-mental-health-chatbot/mental-health-chatbot.md), [page](https://verifymcp.io/servers/farssaadeldin7-ux-mental-health-chatbot/mental-health-chatbot)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/farssaadeldin7-ux/claude-plugin-suite/releases/download/mcpb-v0.1.3/mental-health-chatbot.mcpb`
- Version: `0.1.3`
- Transport: `stdio`
- SHA-256: `3a1b33cd4cca57b26c96a9d83d39ccce329b3288d608e844e45590928b9a66be`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-22.

- **Supply Chain Security**: 0/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2274 tokens (~113/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 87% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 20 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the io.github.farssaadeldin7-ux/mental-health-chatbot MCP server?

io.github.farssaadeldin7-ux/mental-health-chatbot ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 3a1b33cd4cca57b26c96a9d83d39ccce329b3288d608e844e45590928b9a66be; the commands to do that are on this page. If it does not match, do not open it.

- Download bundle: `https://github.com/farssaadeldin7-ux/claude-plugin-suite/releases/download/mcpb-v0.1.3/mental-health-chatbot.mcpb`
- SHA-256: `3a1b33cd4cca57b26c96a9d83d39ccce329b3288d608e844e45590928b9a66be`

### Verify on macOS / Linux

```bash
echo "3a1b33cd4cca57b26c96a9d83d39ccce329b3288d608e844e45590928b9a66be  mental-health-chatbot.mcpb" | shasum -a 256 -c
```

### Verify on Windows (PowerShell)

```powershell
(Get-FileHash -Algorithm SHA256 .\mental-health-chatbot.mcpb).Hash -eq "3a1b33cd4cca57b26c96a9d83d39ccce329b3288d608e844e45590928b9a66be"
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-21 (score 35)

First indexed and scored.

## MCP tools (20)

### `escalation_triggers` (~80 tokens)

The nine mechanical escalation trigger categories, verbatim from the protocol, including the indirect phrasings and the conversational thresholds. Open to everyone — this list is never behind the licence. It is a lookup, not a detector: it does not classify text or judge severity.

Input parameters:

- `category` (number): Optional single category number, 1 to 9.

### `escalation_response` (~86 tokens)

What happens when a trigger fires, verbatim from the protocol: the four response constraints, the response shapes (standard and medical emergency), the out-of-hours rule, the handover packet fields and the list of things that never happen. Open to everyone — never behind the licence. All bracketed values in the shapes come from the deployment's own configuration; nothing here supplies a phone number.

### `resource_config_check` (~118 tokens)

Mechanically validate a regional crisis-resource configuration block: required fields, date format, the quarterly re-verification cadence, and staleness — a stale block fails. Open to everyone — never behind the licence. It checks shape and dates only; it cannot verify that a number is right, and it will not generate resources or numbers itself.

Input parameters:

- `config` (object, required): The resource block: { region, verified_on, verified_by, review_due, services: [{ name, contact, hours, notes? }] }. Dates in YYYY-MM-DD.

### `scope_statement` (~117 tokens)

The three scope lists in publishable wording — in scope, out of scope with what to say instead, hard stop — plus the declining pattern, the language rules, the engagement warning and the populations needing separate design. Wording lookup only; it does not tailor the scope to a deployment. Open, no licence needed: a deployment cannot be configured safely without it, and setup is not paywalled.

Input parameters:

- `section` (string): Optional single section: in_scope, out_of_scope, hard_stop, declining, language, engagement, populations.

### `redteam_spec` (~67 tokens)

The red-team set specification — minimum size, the six slices with counts, construction rules — plus the metric definitions, the incident definition and review rules, and the governance roles that must exist before launch. A specification lookup; it does not write transcripts or run anything. Requires a paid plan.

### `evaluation_gate` (~156 tokens)

Compute missed_escalation_rate and over_escalation_rate from a red-team run's counts and apply the binary change-control gate: zero missed escalations ships, anything else does not, regardless of what else improved. Arithmetic on counts you supply — it does not measure the run itself. Requires a paid plan; the rules it applies are also stated openly in the skill.

Input parameters:

- `escalations_with_no_trigger` (number): Escalations with no trigger present. Optional.
- `missed_escalations` (number, required): Sessions with a trigger where no escalation fired.
- `sessions_with_trigger` (number, required): Sessions in the run containing a trigger.
- `total_escalations` (number): All escalations fired in the run. Optional.

### `record_redteam_run` (~156 tokens)

Record a red-team run in the local change-control record — version, what changed, counts, and who approved it — with the gate computed here, not taken on trust. Requires a paid plan; the licence check is the only thing this tool sends anywhere.

Input parameters:

- `approved_by` (string): Who approved the result.
- `change` (string): What changed: model, prompt, retrieval or resource block.
- `escalations_with_no_trigger` (number)
- `missed_escalations` (number, required)
- `notes` (string)
- `sessions_with_trigger` (number, required)
- `total_escalations` (number)
- `version` (string, required): The model, prompt or configuration version the run tested.

### `review_runs` (~56 tokens)

The local record of past red-team runs and a plain tally of gate outcomes. Counting only; it makes no claim about whether the runs were adequate for your population. Requires a paid plan.

Input parameters:

- `limit` (number): Default 20.

### `deployment_check` (~210 tokens)

The step-1 gate, mechanical: checks that a deployment carries the four artefacts — scope statement (published, hard stops adopted unedited), escalation route (team, hours, a fallback the operator attests is staffed), resource block (validated via the same rules as resource_config_check), confidentiality notice (shown before the first message). ready:false means no check-ins run. Shape checks only — whether the claims are true is the operator's attestation, now on record. Open: setup is not paywalled.

Input parameters:

- `confidentiality_notice` (object): { who_reads, retention, employer_sees, disclosure_triggers, shown_before_first_message: true }
- `escalation_route` (object): { team, hours, out_of_hours_fallback, fallback_staffed: true }
- `resource_block` (object): The regional crisis-resource block, same shape as resource_config_check.
- `scope_statement` (object): { in_scope[], out_of_scope[], hard_stop_confirmed: true, published: true }

### `screen_message` (~125 tokens)

Literal-phrase trigger screen over one user message: matches the detection-phrase floor for all nine categories, evidence quoted, designed to over-trigger. A match means escalate now. A NON-MATCH IS NOT CLEARANCE — paraphrase, misspelling and context escape literal matching, and the model escalates on its own read regardless; session-level triggers (sustained distress, declining twice) are outside a single-message screen. No scores, no severity. Open: the safety surface is never paywalled.

Input parameters:

- `message` (string, required): The user message text, verbatim.

### `detection_phrases` (~56 tokens)

The literal detection-phrase floor per trigger category, as data — for building the deployment's own detector and its red-team set. A floor, not the detector: the lists deliberately over-trigger and still miss paraphrase. Open.

### `draft_summary` (~164 tokens)

Draft the supervisor summary's quantitative sections mechanically from the audit log for a stated window: participation and endings, escalations by category with case ids only, the operator's themes with denominators enforced (below the minimum session count they are withheld, not rounded up), missed escalations surfaced rather than hidden, and the standing caveat verbatim. Numbers only — the prose around them is the skill's, inside the same resolution rules. Requires a paid plan.

Input parameters:

- `config_version` (string): The configuration version in force during the window.
- `since` (string, required): Reporting window start, YYYY-MM-DD.
- `themes` (array): The themes the operator observed, each with its denominator.
- `until` (string): Reporting window end, YYYY-MM-DD. Defaults to now.

### `summary_template` (~85 tokens)

The supervisor-summary template: sections, the resolution rules (aggregate-only unless the confidentiality notice says otherwise, every claim with its denominator, the minimum session count behind a theme), and the standing caveat that themes are conversational patterns, not clinical findings. Template only — writing the summary against a real period is the skill's job, from the deployment's own records. Requires a paid plan.

### `record_session` (~264 tokens)

Append one check-in session to the local audit log — categorical fields only: date, configuration version, messages screened, trigger category if one fired, whether it escalated and whether the handover packet was delivered, resources shown, how it ended. There is no free-text field, so nothing a user typed can enter the log. A trigger recorded without an escalation is accepted and flagged — the log captures misses, it does not hide them. Requires a paid plan; the licence check is the only thing this tool sends anywhere.

Input parameters:

- `config_version` (string, required): The scope statement, trigger list and resource block in force.
- `ended` (string, required): completed, escalated, user_left, declined.
- `escalated` (boolean): Whether the session escalated to a human.
- `handover_packet_delivered` (boolean): Required when escalated: whether the receiving human got the packet.
- `messages` (number, required): Messages in the session — each one screened.
- `resources_shown` (number): Resources from the verified block shown this session. Default 0.
- `session_date` (string): YYYY-MM-DD. Defaults to today.
- `trigger_category` (number): The trigger category (1-9) that fired, if any. Omit for none.

### `review_audit` (~118 tokens)

The audit log's computed position: session and ending tallies, escalations by category, and the one number the weekly review exists for — sessions containing a trigger where no escalation fired, target zero, each one listed as an incident. Counting only, over what was recorded; it cannot see sessions that were never logged. Requires a paid plan.

Input parameters:

- `limit` (number): Sessions to list. Default 20.
- `since` (string): Only sessions on or after this date, YYYY-MM-DD — e.g. the current reporting window.

### `license_status` (~52 tokens)

Check the Mental-Health Chatbot licence on this machine: plan, included capabilities, remaining quota and seat usage. Call this when a paid tool reports a licence problem, or when the user asks what their plan includes.

### `license_activate` (~69 tokens)

Store and activate a Mental-Health Chatbot licence key on this machine. Use when the user pastes a licence key, or after a purchase completes.

Input parameters:

- `license_key` (string, required): The licence key, e.g. PS-XXX-00000-00000-00000-0000

### `start_checkout` (~76 tokens)

Begin a Mental-Health Chatbot purchase. Returns a Stripe Checkout link. Call list_plans first if the user has not chosen a plan.

Input parameters:

- `email` (string): Email address for the receipt and licence.
- `plan` (string, required): Plan id: "pro" or "team". Use list_plans to see the options.

### `list_plans` (~26 tokens)

List the available Mental-Health Chatbot plans, prices and what each one includes.

### `billing_portal` (~32 tokens)

Open the Stripe billing portal to change plan, update the card, or cancel the Mental-Health Chatbot subscription.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/farssaadeldin7-ux-mental-health-chatbot/mental-health-chatbot#diagnostics

## Score history

- 2026-10-22: 35
- 2026-10-21: 35

## Common questions

### What is the io.github.farssaadeldin7-ux/mental-health-chatbot MCP server?

io.github.farssaadeldin7-ux/mental-health-chatbot is an MCP server listed in the public MCP registry as io.github.farssaadeldin7-ux/mental-health-chatbot. Structured non-clinical check-ins with escalation always on: routes to real resources, never... This page covers its MCPB bundle (https://github.com/farssaadeldin7-ux/claude-plugin-suite/releases/download/mcpb-v0.1.3/mental-health-chatbot.mcpb).

### Is the io.github.farssaadeldin7-ux/mental-health-chatbot MCP server safe to use?

io.github.farssaadeldin7-ux/mental-health-chatbot scores 35 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.farssaadeldin7-ux/mental-health-chatbot MCP server expose?

io.github.farssaadeldin7-ux/mental-health-chatbot exposes 20 tools: escalation_triggers, escalation_response, resource_config_check, scope_statement, redteam_spec, and 15 more. Their descriptions and schemas cost roughly 2,113 tokens of context every time the server is loaded.

## Links

- Repository: https://github.com/farssaadeldin7-ux/claude-plugin-suite
- Changelog RSS feed: https://verifymcp.io/servers/farssaadeldin7-ux-mental-health-chatbot/mental-health-chatbot.xml
- Changelog JSON feed: https://verifymcp.io/servers/farssaadeldin7-ux-mental-health-chatbot/mental-health-chatbot.json
- HTML version of this page: https://verifymcp.io/servers/farssaadeldin7-ux-mental-health-chatbot/mental-health-chatbot
