Getting started

Prerequisites:
  • Node.js version 18 or higher
  • Claude Desktop, with an account that can add integrations and MCP servers (other clients coming soon)
  • MacOS (for now) - This guide and the current release are for Mac users. We’re working on support for other platforms.

Fork the Codespace repo

Fork this repo.

Generate a GitHub PAT for the Codespace repo

If you are unfamiliar with how to create a GitHuB Personal Access Token (PAT) then refer to GitHub’s docs here for how to quickly create one. Generate a fine-grained GitHub PAT that only has access to the codespace-executor repo you forked and has the following codespaces permissions below (screenshots to follow):
  • Codespaces: Read and write
  • Codespaces lifecycle admin: Read and write
  • Codespaces metadata: Read-only
Metadata: Read-only (this is preselected and mandatory on all fine-grained GitHub PATs) Img1 Pn Img2 Pn You will need to copy and paste this PAT in the next step.

Set up in Claude Desktop

Download the keyboard-mcp.dxt file found here: dxt github release Navigate to the Claude Desktop app Extensions page via the Claude settings page. Screenshot2025 07 28at10 39 00PM Pn Select Advanced settings and install the keyboard-mcp.dxt file. Screenshot2025 07 28at10 18 22PM Pn Copy the GitHub PAT generated in the previous step into the Claude UI. Img5 Pn

Use the Desktop App

You can download and run the desktop app here. Just unzip it and run.

Create an account and get started.

Connect the Keyboard Approver app to Claude

After you log in to the desktop app, find the “Settings” button. Once there, find your WebSocket key and copy it. Img4 Pn After you copy it, navigate back to Claude and add in the WebSocket Connection Key. Img5 Pn Now after you save make sure Keyboard is enabled. Screenshot 2025-07-28 at 4.30.21 PM.png That’s it! Setup should be done.

Try your first prompt

Navigate back to the Claude chat in your Claude Desktop and try a prompt like this:
Can you run hello world code with Keyboard?
Screenshot 2025-07-28 at 4.31.46 PM.png From here you should see Keyboard use tools to plan, create a codespace, connect to a websocket, and execute code that you will use the desktop app to approve. Screenshot 2025-07-28 at 4.36.05 PM.png

Troubleshooting

  • Verify your .env file contains the correct info
  • Ensure the MCP server is running and accessible
  • If notifications are not showing up, go to notification settings on your Mac
  • If Claude is not loading trying quiting the Claude Desktop app and opening again
  • On Mac if login on the electron app is not redirecting properly, run:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user