HAI-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HAI_HOME | No | Global state directory (default ~/.hai) | |
| HAI_OWNER_GATE | No | Set to 'ack_legacy' to restore legacy self‑asserted owner acknowledgment | |
| HAI_OWNER_HOME | No | Owner home directory for file‑based delivery of one‑time codes (default) | |
| HAI_OWNER_CHANNEL | No | Owner notification channel; set to 'ntfy' to use phone notifications | |
| HAI_OWNER_NTFY_TOPIC | No | ntfy topic for owner notifications when HAI_OWNER_CHANNEL=ntfy |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hai_healthA | Check HAI-MCP server health and optional project path usability. No model calls. |
| hai_statusB | Return ACTIVE lanes, focus, inbox count, and optional project next-step flags. |
| hai_get_next_stepB | Read the canonical NEXT_STEP.md for a project (or report none). |
| hai_read_artifactsC | Read-only summary of HAI Projek-Managment run-contract artifacts. |
| hai_parkB | Park a thought/meta item in HAI inbox without changing ACTIVE lanes. |
| hai_set_focusB | Set focus and register an ACTIVE lane (max 2). Fails if a third ACTIVE is requested. |
| hai_propose_next_stepA | Write NEXT_STEP.proposed.md (not canonical). Promote via hai_accept_next_step. |
| hai_accept_next_stepA | Promote proposed (or provided) content to canonical NEXT_STEP.md. Requires owner_ack=true + reason. |
| hai_checkpointC | Snapshot ACTIVE_CONTEXT and optional project artifacts under HAI_HOME/history/checkpoints. |
| hai_recoverA | Return the smallest recovery next action from latest or named checkpoint (read-only advice). |
| hai_open_missionC | Open a bounded mission with a versioned canonical contract. One active mission globally. |
| hai_authorize_sessionC | Grant a time-bounded session lease tied to mission ID and exact contract version. |
| hai_get_contractA | Return the exact canonical mission contract for a valid session lease (not a summary). |
| hai_check_activityC | Deterministically classify planned or observed activity against the mission contract. |
| hai_park_itemB | Park a mission-linked idea with full context. Grants no execution right; contract unchanged. |
| hai_recontractB | Apply a visible field-level contract diff. Requires owner_ack=true; revokes all leases. |
| hai_close_missionC | Complete with verified per-criterion evidence, or abandon with owner_ack and reason. |
| hai_intakeA | Capture a raw thought immutably. Returns an intake id only — never actionable, never starts an agent. |
| hai_distillB | Reduce an intake to EXACTLY one decision + one next step; the server parks everything else. |
| hai_mission_startA | Fast start: declare problem + artifact + time limit. Thin wrapper over hai_open_mission (one canonical contract). |
| hai_drift_checkC | Lightweight mismatch check against the mission contract. Thin wrapper over hai_check_activity. |
| hai_proofA | Close a mission only against verified per-criterion evidence. Thin wrapper over hai_close_mission (completed). |
| hai_stopA | Hard day terminal: record the three answers, invalidate active leases; no next-day plan. Missions are not closed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Several tools are explicitly thin wrappers of other tools (hai_mission_start over hai_open_mission, hai_drift_check over hai_check_activity, hai_proof over hai_close_mission), creating direct overlap. hai_park, hai_park_item, and hai_intake also blur the line between parking thoughts and capturing raw input. An agent selecting among these would frequently need to rely on subtle wording.
All tool names share the hai_ prefix and snake_case, which makes them readable. However, the pattern is inconsistent: some are noun-only (hai_health, hai_status, hai_proof), some are verb_noun (get_next_step, accept_next_step), and some are noun_verb (mission_start, drift_check).
23 tools is at the heavy end for a project-management server, especially given the explicit wrapper tools and separate parking/intake tools. It is not extreme enough to be chaotic, but the set feels over-factored.
The surface is heavily write-oriented: items can be parked, intakes captured, checkpoints snapshotted, and missions opened, but there are no read/list operations for intakes, parked items, checkpoints, or historical missions. This creates dead ends for agents trying to triage or inspect accumulated state.