Happy Server MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Happy Server MCP list my active sessions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpPrerequisites
You must be authenticated with Happy CLI. Run:
happy authThis 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 |
| number | No | 50 | Maximum number of sessions to return |
Example:
Use happy_list_sessions to see all my active sessionshappy_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 onlinehappy_list_recent_paths
List recently used folder paths for a machine. Useful for starting sessions in familiar locations.
Parameters:
Name | Type | Required | Default | Description |
| string | Yes | - | The machine ID to get recent paths for |
| number | No | 20 | Maximum number of paths to return |
Example:
Use happy_list_recent_paths with machine_id "abc123" to see recent working directorieshappy_read_messages
Read recent messages from a Happy AI session. Use this to see the conversation history.
Parameters:
Name | Type | Required | Default | Description |
| string | Yes | - | The session ID to read messages from |
| 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 onhappy_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 |
| string | Yes | - | The session ID to send the message to |
| string | Yes | - | The message text to send |
| 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=truehappy_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 |
| string | Yes | - | The machine ID to start the session on |
| string | Yes | - | The directory path to run the session in |
| string | No | - | Optional initial message to send to start the session working |
| "claude" | "codex" | No | "claude" | Agent type to use |
| 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=truehappy_archive_session
Archive (stop) a Happy AI session. The session will be terminated and marked as inactive.
Parameters:
Name | Type | Required | Default | Description |
| string | Yes | - | The session ID to archive |
Example:
Use happy_archive_session with session_id "xyz789" to stop the sessionhappy_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 |
| string | Yes | - | The session ID to wait for |
| 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 finishCommon Workflows
Start a session and wait for completion
Use
happy_list_machinesto find an online machineUse
happy_list_recent_pathsto find a good working directoryUse
happy_start_sessionwithwait=trueto start and wait for the initial task
Monitor an existing session
Use
happy_list_sessionsto find active sessionsUse
happy_read_messagesto see what the AI is working onUse
happy_send_messageto give it new instructions
Clean up old sessions
Use
happy_list_sessionsto see all sessionsUse
happy_archive_sessionto 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 toolshappy_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_link_sessionC
Link a Zen (todo) item to a Happy session with a display title.
Inputs: id (required), session_id (required), display_title (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
Scored across 15 tools
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.
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.
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.
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
Related MCP Connectors
Start and manage Reason cloud coding agents, projects and sessions from any MCP client.
Develop, manage, and debug Railway projects, services, and deployments from within agents.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Run Together AI chat, embeddings and images; manage fine-tunes, batches and endpoints.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to programmatically control interactive terminal applications through HT sessions, supporting session management, key sending, snapshots, and command execution.1MIT
- AlicenseAqualityFmaintenanceEnables LLMs to create and manage Google Jules coding sessions programmatically.1035 npm2Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables starting and monitoring shared multiplayer sessions for agentic coding terminals, allowing agents to host wrapped commands and retrieve session status via WebSocket.86 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables 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-