Skip to main content
Glama
carolinefebraga

Mental Health MCP

mental_health_mcp

This repository is intended for sending the necessary materials to configure the mental health MCP.

How to use the project with Claude (Windows)

1. Install Claude Desktop

  1. Access the official Anthropic website: https://claude.ai/download

  2. Download the version for Windows

  3. Install normally and open the application


2. Configure the MCP (Model Context Protocol)

Claude Desktop allows you to integrate external tools via MCP.

Configuration file location:

On Windows, the file is located at:

C:\Users\SEU_USUARIO\AppData\Roaming\Claude\claude_desktop_config.json

If it does not exist, you can create the file manually.


3. Add the MCP server

Open the claude_desktop_config.json file and add:

{
  "mcpServers": {
    "Mental Health MCP": {
      "command": "node",
      "args": ["C:\\caminho\\para\\seu\\projeto\\server.js"]
    }
  }
}

Replace:

C:\\caminho\\para\\seu\\projeto\\server.js

with the actual path where the server.js file is located.


4. Start the services

Before using it in Claude, you need to start:

🔹 Backend (FastAPI)

In the terminal:

cd mental_health_mcp
source venv/bin/activate  # ou venv\Scripts\activate no Windows
uvicorn main:app --reload

🔹 Expose API with ngrok

ngrok http 8000

Copy the generated URL (example: https://xxxx.ngrok-free.dev)


🔹 Update server.js

In the server.js file, update the API URL:

const API_URL = "https://xxxx.ngrok-free.dev/chat";

Start MCP Server

node server.js

5. Use in Claude

  1. Open Claude Desktop

  2. Go to Settings

  3. Access the Developer / MCP section

  4. Verify that the server appears as active

  5. When starting a conversation, use the "+" button to access the tool


Important notice

This system was designed with intentional limitations to avoid ethical risks, not performing clinical diagnoses or recommendations.

It acts only as an emotional support assistant and does not replace professional care.


Observations

  • The system uses a knowledge base in Python

  • Responses are based on keywords and defined rules

  • Claude acts as a conversational interface using MCP


Ready!

After these steps, Claude will be integrated with your MCP server and will be able to use your emotional support API.

Architecture developed:

Related MCP server: Emotion Dataset Analysis MCP Server

System Architecture

The project consists of three main layers:

1. Python API (FastAPI)

The API was developed using the FastAPI framework and is responsible for:

  • Receiving the user's message

  • Processing the text (normalization and analysis)

  • Querying the knowledge base (knowledge_base.py)

  • Identifying possible emotional patterns

  • Returning a structured response with:

    • support message

    • self-care suggestions

    • risk level

    • ethical warning

📍 Main endpoint:

POST /chat

Request example:

{
  "message": "NĂŁo me sinto bem hoje"
}

Response example:

{
  "response": "Entendo. VocĂŞ pode me contar um pouco mais sobre o que vem sentindo?\n\n[...]",
  "risk_level": "low"
}

The API logic is based on rules and keywords, ensuring predictability and control of responses.


2. Knowledge Base (knowledge_base.py)

The knowledge base contains:

  • Emotional categories (e.g., anxiety, sadness, stress)

  • Associated keywords

  • Pre-defined responses

  • Self-care suggestions

  • Critical words (for high-risk detection)

This structure allows the system to function without relying on external models, using deterministic logic.


3. MCP Server (Node.js)

The MCP server acts as an intermediary between Claude and the Python API.

Responsibilities:

  • Receive calls from Claude (via MCP)

  • Forward requests to the FastAPI API

  • Return the API response to Claude

Flow:

  1. User sends a message in Claude

  2. Claude triggers the tool via MCP

  3. MCP (Node.js) sends an HTTP request to the Python API

  4. API processes and returns a response

  5. MCP returns the result to Claude

  6. Claude displays the response to the user


4. API Exposure (ngrok)

Since Claude does not access localhost, ngrok was used to expose the API:

ngrok http 8000

This generates a public URL that is used by the MCP server.


Complete System Flow

Usuário → Claude → MCP (Node.js) → API (FastAPI) → Base de Conhecimento
                                             ↓
                                      Resposta estruturada
                                             ↓
Usuário recebe resposta no Claude

Technical Considerations

  • The system does not use generative artificial intelligence for clinical decisions

  • All logic is based on controlled rules

  • Claude acts only as a conversational interface

  • MCP allows secure integration between the model and external systems


Architecture Objective

Ensure:

  • control of responses

  • ethical safety

  • ease of maintenance

  • integration with modern tools (MCP + LLMs)

Available Tools

1 tool
mental_health_helperD

Assistente de apoio emocional

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes

TDQS

D1.5/5.0
Behavior1/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 of behavioral disclosure. The description 'Assistente de apoio emocional' gives no insight into the tool's behavior: it doesn't indicate whether this is a read-only or mutating operation, what kind of response to expect, whether it requires authentication, any rate limits, or potential side effects. For a tool with zero annotation coverage, this is a complete lack of transparency.

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 extremely concise—a single Portuguese phrase—but this brevity comes at the cost of being under-specified rather than efficient. While it's front-loaded (the entire description is one phrase), it fails to convey necessary information. Conciseness should not sacrifice clarity; here, the description is too sparse to be helpful.

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

Completeness1/5

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

Given the complexity (a mental health tool with no annotations, no output schema, and 1 undocumented parameter), the description is completely inadequate. It doesn't explain what the tool does, how to use it, what behavior to expect, or what the parameter means. For a tool that could involve sensitive emotional interactions, this lack of context is particularly problematic and fails to meet minimum viability.

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?

The input schema has 1 parameter with 0% description coverage, meaning the schema provides no documentation for the 'message' parameter. The description adds no information about parameters—it doesn't explain what the 'message' should contain (e.g., 'a user's emotional query', 'a description of feelings'), its format, or examples. With low schema coverage and no compensation from the description, parameters remain entirely undocumented.

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

Purpose2/5

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

The description 'Assistente de apoio emocional' (Emotional support assistant) is a tautology that essentially restates the tool name 'mental_health_helper' in Portuguese. It doesn't specify what action the tool performs (e.g., 'provides emotional support responses', 'analyzes emotional state', 'offers coping strategies') or what resource it operates on. While it hints at the domain (emotional support), the purpose remains vague and lacks a clear verb+resource combination.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool. It doesn't specify the context (e.g., 'when a user expresses emotional distress', 'for general mental health queries'), mention any prerequisites, or differentiate it from alternatives (though there are no sibling tools, it still fails to define its scope). Without any usage context, the agent has no basis for deciding when to invoke this tool.

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

Tool Schema Changelog

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

  1. 1 tool updatev1.0.0
    • First observedmental_health_helper

TDQS

C2.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'mental_health_helper' has a distinct and clear purpose as an emotional support assistant.

Naming Consistency5/5

The single tool name 'mental_health_helper' follows a clear and consistent pattern with snake_case and a descriptive noun_verb structure. With only one tool, naming consistency is inherently perfect.

Tool Count2/5

A single tool is too few for a server named 'Mental Health MCP', which suggests a broad domain. While the tool description indicates emotional support, the scope feels thin, lacking coverage for other potential mental health aspects like resources, assessments, or tracking.

Completeness2/5

The tool set is severely incomplete for a mental health domain. It only provides emotional support assistance, with obvious gaps such as accessing mental health resources, self-assessment tools, crisis management, or progress tracking, which are common in this context.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/carolinefebraga/mental_health_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server