Nefesh — Real-Time Human State Awareness for AI

Fuses biometric signals into a stress score (0-100) for AI adaptation. MCP + A2A native.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
77%
이름 품질
93%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • HIGHTool poisoning patterns detected
  • LOWTool description contains role marker that could confuse chat modelsrequest_api_key에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,027토큰 (도구 정의)
~2.0 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.58%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "human-state": {
      "url": "https://mcp.nefesh.ai/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.nefesh.ai/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (6)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_human_state(session_id)

Get current unified human state for a session. Call this before generating important responses. Returns: - state: calm | relaxed | focused | stressed | acute_stress - stress_score: 0-100 (lower = calmer) - confidence: 0.0-1.0 (based on signal quality and device type) - suggested_action: maintain_engagement | simplify_and_focus | de-escalate_and_shorten | pause_and_ground - action_reason: human-readable explanation of why this action was suggested - adaptation_effectiveness (on 2nd+ call): shows whether your previous suggested_action actually reduced stress — contains previous_action, stress_delta, and effective boolean. Use this to self-improve. Use suggested_action to adapt your response: calm/relaxed = full complexity, focused = shorter and structured, stressed = max 2 sentences, acute_stress = one grounding sentence only. Requires a prior ingest call to have data. Not a medical device.

입력 스키마

{
  "type": "object",
  "properties": {
    "session_id": {
      "title": "Session Id",
      "type": "string"
    }
  },
  "required": [
    "session_id"
  ],
  "title": "get_human_stateArguments"
}
🟡ingest(session_id, timestamp, heart_rate, rmssd, sdnn, ...)

Send biometric signals from any sensor, get unified state back. Required: session_id + timestamp (ISO 8601) + at least one signal. Send whatever you have — the API fuses all signals into one state. Common signals (highest impact): - heart_rate (bpm, 30-220) + rmssd (ms) — cardiovascular - tone: calm | tense | anxious | hostile — vocal - sentiment: -1.0 to 1.0 — textual - expression: relaxed | neutral | tense — visual For trigger memory (cross-session psychological tracking): - Include subject_id (consistent per user, hashed) Returns same fields as get_human_state plus signals_received list and topics_detected (if conversation text was included). source_device is optional but improves confidence scoring. Not a medical device.

입력 스키마

{
  "type": "object",
  "properties": {
    "session_id": {
      "title": "Session Id",
      "type": "string"
    },
    "timestamp": {
      "title": "Timestamp",
      "type": "string"
    },
    "heart_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Heart Rate"
    },
    "rmssd": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Rmssd"
    },
    "sdnn": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sdnn"
    },
    "spo2": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Spo2"
    },
    "pnn50": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pnn50"
    },
    "mean_ibi": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mean Ibi"
    },
    "ibi_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ibi Count"
    },
    "tone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tone"
    },
    "speech_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Speech Rate"
    },
    "pitch_variability": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pitch Variability"
    },
    "expression": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expression"
    },
    "gaze": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Gaze"
    },
    "posture": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Posture"
    },
    "engagement": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Engagement"
    },
    "sentiment": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sentiment"
    },
    "urgency": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Urgency"
    },
    "glucose_mg_dl": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Glucose Mg Dl"
    },
    "glucose_mmol_l": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Glucose Mmol L"
    },
    "glucose_trend": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Glucose Trend"
    },
    "eeg_alpha_power": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eeg Alpha Power"
    },
    "eeg_beta_power": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eeg Beta Power"
    },
    "eeg_theta_power": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eeg Theta Power"
    },
    "cognitive_load": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cognitive Load"
    },
    "eda": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eda"
    },
    "skin_temperature": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Skin Temperature"
    },
    "respiratory_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Respiratory Rate"
    },
    "steps_last_minute": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Steps Last Minute"
    },
    "activity_level": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Activity Level"
    },
    "sleep_stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sleep Stage"
    },
    "stress_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stress Score"
    },
    "source_device": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source Device"
    },
    "confidence": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Confidence"
    },
    "subject_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Subject Id"
    }
  },
  "required": [
    "session_id",
    "timestamp"
  ],
  "title": "ingestArguments"
}
🟢get_trigger_memory(subject_id)

Retrieve psychological trigger profile for a subject. Returns which conversation topics consistently cause stress (active triggers) and which have been resolved over time. - active triggers: topics where stress was elevated across multiple sessions. Tread carefully. - resolved triggers: topics where stress has decreased. Safe to explore deeper. Each trigger includes observation_count, avg_score, peak_score, and last_seen. Requires prior ingest calls with the same subject_id. Not a medical device.

입력 스키마

{
  "type": "object",
  "properties": {
    "subject_id": {
      "title": "Subject Id",
      "type": "string"
    }
  },
  "required": [
    "subject_id"
  ],
  "title": "get_trigger_memoryArguments"
}
🟢get_session_history(session_id, minutes)

Get state history for a session over time. Returns timestamped datapoints with stress_score, state, and heart_rate for each observation. Includes an overall trend: rising | falling | stable. Use minutes parameter to control the lookback window (default: 5, max: 60). Useful for detecting stress patterns during a conversation. Not a medical device.

입력 스키마

{
  "type": "object",
  "properties": {
    "session_id": {
      "title": "Session Id",
      "type": "string"
    },
    "minutes": {
      "default": 5,
      "title": "Minutes",
      "type": "integer"
    }
  },
  "required": [
    "session_id"
  ],
  "title": "get_session_historyArguments"
}
🟢request_api_key(email)

Request a free Nefesh API key. No existing API key needed for this call. IMPORTANT: You MUST ask the user for their real email address before calling this tool. Do NOT invent, guess, or generate an email address. The user will receive a verification link they must click to activate the key. Without clicking that link, no API key will be issued. Disposable or temporary email services are blocked. Example prompt to the user: "What is your email address? You will receive a verification link to activate your free API key." Flow: call this with the user's real email, then poll check_api_key_status every 10 seconds until status is 'ready'. Free tier: 1,000 calls/month, all signal types, 10 req/min. No credit card.

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "title": "Email",
      "type": "string"
    }
  },
  "required": [
    "email"
  ],
  "title": "request_api_keyArguments"
}
🟢check_api_key_status(request_id)

Check the status of a pending API key request. Use the exact same email the user provided to request_api_key. Poll this every 10 seconds. Once the user clicks the verification link in their inbox, status changes from 'pending' to 'ready' and the response includes the API key. Store it immediately — returned once only. Expires after 15 minutes.

입력 스키마

{
  "type": "object",
  "properties": {
    "request_id": {
      "title": "Request Id",
      "type": "string"
    }
  },
  "required": [
    "request_id"
  ],
  "title": "check_api_key_statusArguments"
}

권장 프롬프트

retrieve_data
Get details about [item] from Nefesh — Real-Time Human State Awareness for AI
예상 도구: get_human_state
fetch_info
Fetch [information type] using Nefesh — Real-Time Human State Awareness for AI
예상 도구: get_human_state

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개
검증됨버전이 기록되지 않음도구 6개