Mental Health MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mental Health MCPI'm feeling really anxious about my upcoming presentation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Access the official Anthropic website: https://claude.ai/download
Download the version for Windows
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.jsonIf 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.jswith 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 8000Copy 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.js5. Use in Claude
Open Claude Desktop
Go to Settings
Access the Developer / MCP section
Verify that the server appears as active
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 /chatRequest 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:
User sends a message in Claude
Claude triggers the tool via MCP
MCP (Node.js) sends an HTTP request to the Python API
API processes and returns a response
MCP returns the result to Claude
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 8000This 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 ClaudeTechnical 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 toolmental_health_helperD
Assistente de apoio emocional
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes |
TDQS
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.
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.
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.
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.
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.
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 tool update
v1.0.0- First observed
mental_health_helper
TDQS
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.
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.
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.
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
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
MCP server for AI dialogue using various LLM models via AceDataCloud
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- AlicenseAqualityDmaintenanceThis MCP server provides persistent memory integration for chat applications by utilizing a local knowledge graph to remember user information across interactions.9152,0876-
- AlicenseAqualityDmaintenanceThis MCP server enables users to interact with and analyze the dair-ai/emotion dataset from Hugging Face containing labeled Twitter messages. It provides tools to sample data, search text, and perform statistical analysis on emotion distributions.4GPL 3.0
- AlicenseAqualityCmaintenanceStressZero MCP server for stress management and mental wellness tools, providing AI-powered support to help users reduce and manage stress effectively.484MIT
- AlicenseAqualityBmaintenanceSentiment Analysis AI - MCP server providing AI-powered tools and automation by MEOK AI Labs413MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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