Skip to main content
Glama

Happy Server MCP

MCP (Model Context Protocol) server for managing Happy AI sessions. This allows AI agents to interact with Happy sessions programmatically.

Features

  • List Sessions: Query all your Happy AI sessions with their titles, working directories, and activity status

  • List Machines: See all registered machines and their online/offline status

  • List Recent Paths: Get recently used working directories for a machine

  • Read Messages: Fetch recent messages from any session to see conversation history

  • Send Messages: Trigger a session to work by sending it a message

  • Start Sessions: Spawn new AI sessions on any connected machine

  • Archive Sessions: Stop and archive sessions when done

  • Wait for Idle: Wait for a session to finish processing

Related MCP server: Jules MCP Server

Installation

npm install -g @zhigang1992/happy-server-mcp

Prerequisites

You must be authenticated with Happy CLI. Run:

happy auth

This creates credentials at ~/.happy/access.key that the MCP server uses.

Usage with Claude

Add to your Claude configuration:

{
  "mcpServers": {
    "happy-manager": {
      "command": "happy-server-mcp"
    }
  }
}

Or with npx:

{
  "mcpServers": {
    "happy-manager": {
      "command": "npx",
      "args": ["@zhigang1992/happy-server-mcp"]
    }
  }
}

Available Tools

happy_list_sessions

List all Happy AI sessions. Returns session IDs, titles, paths, machines, and activity status.

Parameters:

Name

Type

Required

Default

Description

limit

number

No

50

Maximum number of sessions to return

Example:

Use happy_list_sessions to see all my active sessions

happy_list_machines

List all machines registered with Happy. Returns machine IDs, hostnames, platforms, and activity status.

Parameters: None

Example:

Use happy_list_machines to see which machines are online

happy_list_recent_paths

List recently used folder paths for a machine. Useful for starting sessions in familiar locations.

Parameters:

Name

Type

Required

Default

Description

machine_id

string

Yes

-

The machine ID to get recent paths for

limit

number

No

20

Maximum number of paths to return

Example:

Use happy_list_recent_paths with machine_id "abc123" to see recent working directories

happy_read_messages

Read recent messages from a Happy AI session. Use this to see the conversation history.

Parameters:

Name

Type

Required

Default

Description

session_id

string

Yes

-

The session ID to read messages from

limit

number

No

20

Maximum number of messages to return

Example:

Use happy_read_messages with session_id "xyz789" to see what the AI has been working on

happy_send_message

Send a message to a Happy AI session to trigger it to work. The message will be sent with bypass permissions mode.

Parameters:

Name

Type

Required

Default

Description

session_id

string

Yes

-

The session ID to send the message to

message

string

Yes

-

The message text to send

wait

boolean

No

false

If true, wait for AI to finish processing before returning

Example:

Use happy_send_message with session_id "xyz789" and message "Fix the bug in auth.ts" and wait=true

happy_start_session

Start a new Happy AI session on a machine. Use happy_list_machines to find available machines first.

Parameters:

Name

Type

Required

Default

Description

machine_id

string

Yes

-

The machine ID to start the session on

directory

string

Yes

-

The directory path to run the session in

message

string

No

-

Optional initial message to send to start the session working

agent

"claude" | "codex"

No

"claude"

Agent type to use

wait

boolean

No

false

If true, wait for AI to finish processing initial message before returning

Example:

Use happy_start_session with machine_id "abc123", directory "/home/user/project",
message "Review the codebase and suggest improvements", and wait=true

happy_archive_session

Archive (stop) a Happy AI session. The session will be terminated and marked as inactive.

Parameters:

Name

Type

Required

Default

Description

session_id

string

Yes

-

The session ID to archive

Example:

Use happy_archive_session with session_id "xyz789" to stop the session

happy_wait_for_idle

Wait for a Happy AI session to become idle (finish processing). Useful after sending a message to wait for AI to complete its work.

Parameters:

Name

Type

Required

Default

Description

session_id

string

Yes

-

The session ID to wait for

timeout_seconds

number

No

120

Maximum time to wait in seconds

Example:

Use happy_wait_for_idle with session_id "xyz789" to wait for the AI to finish

Common Workflows

Start a session and wait for completion

  1. Use happy_list_machines to find an online machine

  2. Use happy_list_recent_paths to find a good working directory

  3. Use happy_start_session with wait=true to start and wait for the initial task

Monitor an existing session

  1. Use happy_list_sessions to find active sessions

  2. Use happy_read_messages to see what the AI is working on

  3. Use happy_send_message to give it new instructions

Clean up old sessions

  1. Use happy_list_sessions to see all sessions

  2. Use happy_archive_session to stop sessions you no longer need

Environment Variables

  • HAPPY_SERVER_URL: Override the Happy server URL (default: https://happy.engineering)

License

MIT

Available Tools

15 tools
happy_archive_sessionA

Archive (stop) a Happy AI session. The session will be terminated and marked as inactive.

Inputs: session_id (required).

happy_list_environment_setsA

List available environment variable presets. These can be used when starting new sessions with happy_start_session.

Inputs: no named parameters.

happy_list_machinesA

List all machines registered with Happy. Returns machine IDs, hostnames, platforms, and activity status.

Inputs: no named parameters.

happy_list_recent_pathsB

List recently used folder paths for a machine. Useful for starting sessions in familiar locations.

Inputs: machine_id (required), limit.

happy_list_sessionsB

List all Happy AI sessions. Returns session IDs, titles, paths, machines, and activity status.

Inputs: limit.

happy_read_messagesB

Read recent messages from a Happy AI session. Use this to see the conversation history.

Inputs: session_id (required), limit.

happy_send_messageB

Send a message to a Happy AI session to trigger it to work. The message will be sent with bypass permissions mode.

Inputs: session_id (required), message (required), wait.

happy_start_sessionA

Start a new Happy AI session on a machine. Use happy_list_machines to find available machines first. Use happy_list_environment_sets to see available environment presets. Optionally create a Git worktree for isolated development.

Inputs: machine_id (required), directory (required), message, agent, +4 more.

happy_wait_for_idleA

Wait for a Happy AI session to become idle (finish processing). Useful after sending a message to wait for AI to complete its work.

Inputs: session_id (required), timeout_seconds.

happy_zen_create_todoC

Create a new Zen (todo) item with a title and optional description.

Inputs: title (required), text.

happy_zen_delete_todoC

Delete a Zen (todo) item.

Inputs: id (required).

happy_zen_list_todosB

List Zen (todo) items with titles, descriptions, and completion status.

Inputs: no named parameters.

happy_zen_set_todo_doneC

Set or toggle a Zen (todo) item completion status.

Inputs: id (required), done.

happy_zen_update_todoC

Update a Zen (todo) item title and/or description.

Inputs: id (required), title, text.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 15 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity. Tools are grouped into session management (e.g., start, archive, list sessions), session interaction (e.g., send message, read messages, wait for idle), and Zen todo management (e.g., create, delete, update, list todos), with no overlap in functionality. The descriptions reinforce these distinct roles, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent 'happy_verb_noun' pattern with snake_case throughout. The naming is predictable and readable, with verbs like list, start, send, read, wait, create, delete, link, set, and update applied consistently to their respective nouns (e.g., sessions, messages, todos). There are no deviations in style or convention.

    Tool Count5/5

    With 15 tools, the count is well-scoped for the server's purpose of managing Happy AI sessions and Zen todos. Each tool earns its place by covering essential operations such as session lifecycle, interaction, and todo CRUD, without being excessive or sparse. This number supports comprehensive functionality while remaining manageable.

    Completeness5/5

    The tool surface provides complete coverage for the domain of Happy AI session and Zen todo management. For sessions, it includes start, archive, list, send messages, read messages, and wait for idle, plus supporting tools for machines and environment sets. For Zen todos, it offers full CRUD operations (create, read, update, delete) and linking to sessions, with no obvious gaps or dead ends in the workflow.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to programmatically control interactive terminal applications through HT sessions, supporting session management, key sending, snapshots, and command execution.
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables MCP hosts like Claude Code and Codex to spawn, manage, and interact with persistent, reusable Pi coding-agent sessions, supporting task dispatch, status checks, and session lifecycle control.
      7 npm
      -