MCP Server Integration
Human supports the Model Context Protocol (MCP). It can act as an MCP client (connecting to external MCP servers and exposing their tools to the agent) and as an MCP server (exposing its own tools and resources to MCP clients like Claude Desktop).
Human as MCP client
Section titled “Human as MCP client”When configured with mcp_servers, Human spawns each server as a child process, discovers tools via tools/list, and wraps them as agent tools. Tool names are prefixed with mcp_<index>_<name> to avoid collisions.
Configuration
Section titled “Configuration”Add MCP servers in ~/.human/config.json under mcp_servers (object keyed by server name):
{ "mcp_servers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs" ] }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } }}| Field | Required | Description |
|---|---|---|
command | Yes | Executable to run (e.g. npx, node) |
args | Yes | Array of string arguments |
Google Workspace CLI via MCP
Section titled “Google Workspace CLI via MCP”If you have a Google Workspace CLI MCP server (e.g. @anthropic/gws-mcp or a custom wrapper), you can connect it to Human and the agent will gain access to Google Docs, Sheets, Drive, Calendar, and other Workspace APIs:
{ "mcp_servers": { "google-workspace": { "command": "npx", "args": ["-y", "@anthropic/gws-mcp"] } }}The agent will automatically discover all tools from the Google Workspace MCP server (e.g. docs.create, sheets.read, drive.list) and expose them as mcp_google-workspace_* tools.
How it works
Section titled “How it works”- Human spawns each MCP server as a child process (stdio transport)
- Sends
initializewith protocol version2024-11-05 - Sends
notifications/initialized - Calls
tools/listto discover tools - When the agent invokes an MCP tool, Human forwards the request via
tools/call - Results are returned as standard tool results
Transport
Section titled “Transport”The current implementation uses stdio only: JSON-RPC messages over stdin/stdout. Each server runs as a subprocess; Human writes requests and reads responses line-by-line.
Human as MCP server
Section titled “Human as MCP server”Run Human as an MCP server so that MCP clients (e.g. Claude Desktop, Cursor) can use its tools:
human mcpThis reads JSON-RPC from stdin and writes responses to stdout. It exposes:
- Tools: All registered Human tools (from
tools.list,tools/call) - Resources:
human://config(current config),human://memory(memory entries when available)
Protocol version
Section titled “Protocol version”Human uses MCP protocol version 2024-11-05.
Integration with Claude Desktop
Section titled “Integration with Claude Desktop”Configure Claude Desktop to spawn Human as an MCP server. Example claude_desktop_config.json:
{ "mcpServers": { "human": { "command": "human", "args": ["mcp"] } }}Claude will then have access to Human’s tools (shell, file operations, memory, etc.) and resources.