Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hands

Unofficial ChatGPT plugin: local coding tools over MCP. No local LLM. ChatGPT is the brain; this machine is the hands.

Not affiliated with OpenAI or xAI. Tool runtime is Grok Build (Apache-2.0).

ChatGPT Web  →  Secure MCP Tunnel  →  hands  →  your repo

Install

Needs git, python3, rustup. macOS or Linux. First build compiles grok-build (several minutes).

git clone https://github.com/nghyane/hands.git
cd hands
./install.sh

Agents: see AGENTS.md. One-shot if keys are already in the environment:

export CONTROL_PLANE_API_KEY="sk-..."
export CONTROL_PLANE_TUNNEL_ID="tunnel_..."
./install.sh

Zero config

brew install openai/tools/tunnel-client   # once
cd /path/to/your/repo
hands setup                               # TTY checklist, Keychain, no browser

Runtime key goes in the macOS Keychain (file 0600 only for the daemon). Tunnel id is copied to the clipboard. Notification if the tunnel drops.

Config page (optional): hands config --openhttp://127.0.0.1:8787/
Scripts: hands status --json.

ChatGPT Web

  1. Runtime key (Restricted, Tunnels Read + Use):
    https://platform.openai.com/settings/organization/api-keys
  2. Tunnel id:
    https://platform.openai.com/settings/organization/tunnels
  3. chatgpt.com/plugins → Developer mode → Connection Tunnel → paste tunnel id → Scan tools.

Plugin name in ChatGPT: Hands.

ChatGPT, not Hands, shows Confirm. MCP cannot turn that off.

  • Reads auto-run (readOnlyHint).
  • File edits are routine (destructiveHint: false) — auto under Important actions.
  • Shell / kill still confirm unless you opt in.

Unattended coding: first write prompt → Always allow, or Settings → Apps → Hands → Never ask. New chats keep that app setting. Developer Mode “remember for this conversation” dies on a new chat.

Tools

Tool Role
workspace_info current pin + recent
set_workspace pin another folder (works from ChatGPT, including away)
read_file read
grep search contents
list_dir tree
glob find files by name
search_replace edit existing
write create / overwrite
apply_patch multi-hunk patch
todo_write task list
run_terminal_cmd tests / git / shell; long FG auto-backgrounds
get_task_output poll background job
kill_task stop background job

Debug: hands list, hands call read_file '{"target_file":"README.md"}'.

On AC the Mac stays awake for the long-poll; on battery, closing the lid may sleep.

License

Apache-2.0. See NOTICE.

About

Local Grok tools as MCP for ChatGPT Web. No model.

Resources

Stars

41 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages