h

humsana-mcp

@sriramnatrajhen/humsana-mcp
Hosted
0 Stars 4 次浏览 sriramnatrajhen 更新于 2026-08-23

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

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "@humsana/mcp-server": {
      "args": [
        "@humsana/mcp-server@1.1.3"
      ],
      "command": "npx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

@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)

| Situation | Result |
|- -- -- -- -- --|- -- -- -- -|
| 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)

| Situation | Result |
|- -- -- -- -- --|- -- -- -- -|
| 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

pip install humsana-daemon
humsana start

Keep this running in a terminal tab.

# # 2. Install the MCP Server

npm install -g @humsana/mcp-server

# # 3. Configure Claude Desktop

Create/edit ~/Library/Application Support/Claude/claude_desktop_config.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:

#  Change this from 'dry_run' to 'live'
execution_mode: live

#  Optional: adjust thresholds
fatigue_threshold: 70
write_warn_threshold: 30
write_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:

#  === EXECUTION MODE ===
#  'dry_run' (default) - Simulates commands, nothing executed
#  'live' - Actually executes commands and writes files
execution_mode: dry_run

#  === FATIGUE THRESHOLDS ===
#  Fatigue level (0-100) above which dangerous commands are blocked
fatigue_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 block
deny_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

| Tool | Purpose |
|- -- -- -|- -- -- -- --|
| get_user_state | Get current stress, focus, fatigue levels |
| check_dangerous_command | Check if a command would be blocked |
| safe_execute_command | Execute shell commands with interlock |
| safe_write_file | Write files with AI rewrite protection |


# Files & Folders

| Path | Purpose |
|- -- -- -|- -- -- -- --|
| ~/.humsana/signals.db | Behavioral data from daemon |
| ~/.humsana/config.yaml | Your configuration |
| ~/.humsana/activity.json | Activity heartbeats (for fatigue) |
| ~/.humsana/audit.json | Safety 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:

humsana start

# # Commands not executing

Check your mode:

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

相关 MCP 服务