Humsana Mcp

io.github.sriramnatrajhenPublished by GitHub account sriramnatrajhenv1.1.3Updated Oct 24, 2026

Detect developer stress, focus, fatigue from typing. Block dangerous commands when tired.

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

A local MCP server that reads developer stress, focus and fatigue signals and gates shell commands and AI file rewrites behind safety interlocks.

What you can do
Read the developer's current stress, focus and fatigue levels from a local daemon's behavioral data and check whether a given shell command would be blocked before running it. Execute shell commands through a safety interlock that warns or blocks dangerous commands when fatigue is high. Write files with protection against large AI rewrites, warning or blocking deletions above configured line thresholds and saving blocked writes for review. Log safety overrides to a local audit file and optionally notify a webhook.
When to use it
Useful for developers who want a guardrail against running destructive commands or accepting large AI-generated rewrites while tired, especially in AI-assisted coding sessions on a desktop machine.
Requirements
Runs as a local stdio process started by the desktop client (Node.js for the npm package). Requires the separate Humsana daemon (installed via pip) to be running in a terminal. Configuration lives in a local config file; no API keys or environment variables are declared.
Before you install
Starts in dry-run mode, where commands are simulated; switching to live mode makes it actually execute shell commands and write files. Blocked commands can be bypassed with an override phrase, which is logged and may be sent to a configured webhook. Behavioral data stays local except for the optional webhook.

Installation

In SourceWeft

  1. Open Humsana Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@humsana/mcp-server

Cognitive Security for AI-assisted development.

🛡️ "The breathalyzer for your terminal."

Humsana prevents you from running dangerous commands or accepting large AI code rewrites when you're fatigued. Think of it as an industrial safety interlock, but for your brain.

What It Does

Command Protection (safe_execute_command)

SituationResult
You're fresh, running ls✅ Runs normally
You're fresh, running rm -rf⚠️ Warning, allowed
You're tired, running rm -rf⛔ BLOCKED — requires override

AI Rewrite Protection (safe_write_file)

SituationResult
AI writes new file✅ Allowed
AI rewrites 10 lines✅ Allowed
You're tired + AI deletes 30+ lines⚠️ Warning
You're tired + AI deletes 50+ lines⛔ BLOCKED — saved for review

Quick Start

1. Install the Daemon

bash
pip install humsana-daemonhumsana start

Keep this running in a terminal tab.

2. Install the MCP Server

bash
npm install -g @humsana/mcp-server

3. Configure Claude Desktop

Create/edit ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "humsana": {      "command": "node",      "args": ["/path/to/humsana-mcp/dist/index.js"]    }  }}

4. Restart Claude Desktop

Quit (Cmd+Q) and reopen.

5. Test It

Ask Claude: "What's my current state?"


Execution Modes

Humsana starts in dry-run mode for safety. Commands are simulated, not executed.

Dry-Run Mode (Default)

✅ [DRY RUN] Safety check passed.Command: `kubectl delete pods`This command WOULD have been executed.(Execution skipped: dry_run mode active)

Switching to Live Mode

When you trust the system, enable real execution:

Step 1: Create/edit ~/.humsana/config.yaml:

yaml
# Change this from 'dry_run' to 'live'execution_mode: live
# Optional: adjust thresholdsfatigue_threshold: 70write_warn_threshold: 30write_block_threshold: 50

Step 2: Restart Claude Desktop (Cmd+Q, reopen)

Step 3: Test with a safe command first:

Run `echo "live mode working"`

You should see actual output instead of "WOULD have been executed."


Configuration Reference

Create ~/.humsana/config.yaml:

yaml
# === EXECUTION MODE ===# 'dry_run' (default) - Simulates commands, nothing executed# 'live' - Actually executes commands and writes filesexecution_mode: dry_run
# === FATIGUE THRESHOLDS ===# Fatigue level (0-100) above which dangerous commands are blockedfatigue_threshold: 70
# Lines removed to trigger warning (when fatigued)write_warn_threshold: 30
# Lines removed to trigger hard block (when fatigued)write_block_threshold: 50
# === CUSTOM PATTERNS ===# Additional dangerous commands to blockdeny_patterns:  - "aws ec2 terminate"  - "docker rm -f"
# === NOTIFICATIONS ===# Webhook for Slack/PagerDuty (fires on safety overrides)webhook_url: https://hooks.slack.com/services/XXX/YYY/ZZZ

Override Protocol

When blocked, say:

OVERRIDE SAFETY PROTOCOL: [reason]

Example:

OVERRIDE SAFETY PROTOCOL: P0 production outage, need to restart pods

This is logged to ~/.humsana/audit.json and sent to your webhook.


Tools Available

ToolPurpose
get_user_stateGet current stress, focus, fatigue levels
check_dangerous_commandCheck if a command would be blocked
safe_execute_commandExecute shell commands with interlock
safe_write_fileWrite files with AI rewrite protection

Files & Folders

PathPurpose
~/.humsana/signals.dbBehavioral data from daemon
~/.humsana/config.yamlYour configuration
~/.humsana/activity.jsonActivity heartbeats (for fatigue)
~/.humsana/audit.jsonSafety event log
~/.humsana/pending_reviews/Blocked AI writes saved here

Privacy

🔒 100% Local.

  • All data stays on your machine
  • No network calls (except optional webhook)
  • No telemetry, no tracking
  • Fully auditable open-source code

Troubleshooting

"Daemon not running" error

Start the daemon in a terminal:

bash
humsana start

Commands not executing

Check your mode:

bash
cat ~/.humsana/config.yaml | grep execution_mode

If it says dry_run, change to live and restart Claude.

MCP not connecting

Verify your Claude Desktop config path:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Ensure the path to dist/index.js is correct

License

MIT

Source: README.md at commit 58003d1

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.3LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.