hands mcp

hands is Hawa Code’s remote execution mechanism: it runs tools inside the same sandbox as your code, fully decoupling model inference traffic from tool execution requests. Model traffic never has to enter the sandbox to invoke tools, so the sandbox stays isolated while the full toolset remains available.

Tools are exposed over the MCP protocol. You can either use the MCP that ships with Hawa Code directly, or plug in the standalone MCP tools that Hawa Code provides separately. The rest of this page covers how to use the hands MCP.


Start the hands mcp service

Run the following commands inside the sandbox (or on any remote machine) to start the hands service. On success, it prints a URL that clients can connect to:

npm i @dahawa/hawa-hands

hawa-hands

Client configuration

Add the following to .mcp.json in Hawa Code or any other MCP-compatible client:

{
"mcpServers": {
"hands": {
"type": "http",
"url": "https://<your-codespaces-host>-3000.app.github.dev/mcp"
}
}
}

Use the URL actually printed when hands starts; on Codespaces the URL can change after a restart, so remember to update this entry accordingly.


Provided MCP tools

Tool Description
Bash Run shell commands on the remote machine, with background execution and timeout control
Read Read remote file contents, with offset / limit for chunked reads
Edit Perform exact string replacements in remote files
Write Write or overwrite files on the remote filesystem
Glob Fast file path matching using glob patterns
Grep Ripgrep-based regex search with file-type and context filters
NotebookEdit Edit a single cell of a remote Jupyter notebook
TaskOutput Stream live output of a background task (shell / agent)
TaskStop Terminate a specified background task