Content
<div align="center">
<a href="https://www.keyboard.dev/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/keyboard-dev/keyboard-local/main/images/kbwhite.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/keyboard-dev/keyboard-local/main/images/blacktextkb.png">
<img alt="Keyboard Logo" src="https://raw.githubusercontent.com/keyboard-dev/keyboard-local/main/images/blacktextkb.png" width="400">
</picture>
</a>
### Your AI Client can now actually DO things, not just talk about them
*Connect any tool that has a REST API, CLI or SDK to your Claude, Cursor, VS Code, or any other AI Client that supports MCP (Model Context Protocol)*
[](https://docs.keyboard.dev/) [](LICENSE) [](https://discord.gg/UxsRWtV6M2) [](https://www.keyboard.dev/)
</div>
<img src="https://raw.githubusercontent.com/keyboard-dev/keyboard-local/main/Gif4readme.gif" width="1000">
## Before Keyboard ❌
- **You:** "Send an email to my team about tomorrow's meeting"
- **Claude:** "Here's how you would write that email..."
- *You manually copy, paste, send*
## With Keyboard ✅
- **You:** "Send an email to my team about tomorrow's meeting"
- **Claude:** "I'll send that email for you" → *[You approve]* → **Email sent** ✓
## 🔥 What Can Your AI Client Actually Do Now?
- **📧 Send emails** through Gmail
- **📅 Schedule meetings** in Google Calendar
- **📊 Create surveys** with Typeform
- **🎫 Create tickets** in Linear, Jira, Asana, your task manager
- **📝 Edit documents** in Google Drive, Notion, Confluence, your internal knowledgebase
- **💬 Send messages** in Slack
- **📈 Manage** your CRM
- **🔗 Any API you connect** - Twitter, Stripe, GitHub, anything
All running securely in YOUR GitHub with YOUR API keys.
## See It In Action (30 seconds)
<div align="center">
<a href="https://app.supademo.com/embed/cmd6bnb3t5xwac4kjx91usuv3">
<img src="https://raw.githubusercontent.com/keyboard-dev/keyboard-local/main/images/demo-preview.png" alt="Interactive Demo" width="800">
<br>
<strong>🎬 Click for Interactive Demo</strong>
</a>
</div>
## Get Started (5 minutes)
See [Quickstart](https://docs.keyboard.dev/getting-started/quickstart) to start using Keyboard in Claude Desktop.
## When Should I Use Keyboard?
When you want your AI client (Claude, Cursor, ChatGPT, etc.) to actually execute tasks instead of just suggesting code.
Connect your tools to your secure GitHub environment, ask Claude to do something, and Keyboard handles the execution with your approval. No need to install separate MCP servers for each app, or rely on a third party to maintain their plug ins - any API-enabled service can connect through Keyboard.
## The Secret: You Stay In Control
Every action shows you the exact code BEFORE it runs:
```markdown
// Claude wants to run this:
await gmail.send({
to: "team@company.com",
subject: "Tomorrow's meeting",
body: "Hi team, ..."
})
[Approve] [Reject] [Edit]
```
Your data never leaves your GitHub. Keyboard can't see your API keys. Always secure, always private.
## Example Automations
- "Check my calendar and email everyone in my next meeting"
- "Find all unread customer emails and create support tickets"
- "Post this update to Twitter and LinkedIn"
- "Create a Typeform survey from this list of questions"
- "Find that document about Q3 planning and summarize it"
## Key Features
- **Connect Your Tools:** One MCP, all your tools. Provide Keyboard access to third party tools in your own GitHub environment.
- **Private:** Keyboard doesn't have access to your API keys, it only has access to the GitHub Codespace.
- **Secure Workflows:** Run code safely within your own controlled environment with human oriented approval workflows.
- **Human Control:** You approve what code is executed, you also approve what data is sent is back to MCP clients like Claude.
## How Keyboard Works
Keyboard creates a seamless bridge between AI conversations and actual code execution through a simple approval-based workflow.
### How it works in 3 steps:
1. **Ask your AI** to execute a task using your connected tools
2. **Review & approve** the explanation and generated code in the Keyboard desktop app
3. **Watch it execute** safely in your own GitHub Codespace
### Full Breakdown
```mermaid
flowchart LR
A[👤 User] -->|Chat| B[🤖 Claude Desktop]
B -->|Generated Code| C[📋 Keyboard App<br/>Receives Script]
C -->|Review & Approve| D[✅ User Decision]
D -->|Approved| E[⚡ Executes in<br/>GitHub Codespace]
E -->|Results| F[📊 Back to User]
F -->|Continue| A
D -->|Rejected| G[❌ Process Ends]
G -.->|Try Again| A
style A fill:#FFD700,stroke:#B8860B,stroke-width:3px,color:#000
style B fill:#32CD32,stroke:#228B22,stroke-width:3px,color:#000
style C fill:#4169E1,stroke:#191970,stroke-width:3px,color:#fff
style D fill:#FF69B4,stroke:#C71585,stroke-width:3px,color:#000
style E fill:#1E90FF,stroke:#0000CD,stroke-width:3px,color:#fff
style F fill:#9370DB,stroke:#4B0082,stroke-width:3px,color:#fff
style G fill:#FF4500,stroke:#8B0000,stroke-width:3px,color:#fff
```
The process is straightforward:
1. **User Interaction**: You chat with Claude (or any MCP-compatible AI client) normally
2. **Code Generation**: Claude generates the code needed to accomplish your task in your connected apps
3. **User Approval**: Keyboard presents the generated code for your review and approval
4. **Secure Execution**: Once approved, the code runs safely in an isolated GitHub Codespace
5. **Results**: You get real results, not just code suggestions
This architecture ensures you maintain full control while enabling your AI to actually execute tasks rather than just providing instructions.
## Documentation
Full docs can be found at https://docs.keyboard.dev/ but see below for direct links to a few docs that will help you use Keyboard after you get set up:
* [Learn how to connect your third party apps](https://docs.keyboard.dev/getting-started/thirdpartyapps)
* [Tips for using Keyboard with Claude](https://docs.keyboard.dev/guides/claude)
## Run & Contribute to Keyboard
If you want to run the whole codebase and contribute to both the MCP server and the desktop client see the instructions below.
1️⃣ Clone the monorepo (with submodules)
```bash
git clone --recursive https://github.com/keyboard-dev/keyboard-local.git
cd keyboard-local
```
2️⃣ Start Approver Client (Electron Desktop App)
```bash
cd apps/approver-client
git checkout main
git pull origin main
npm install && npm run dev
```
3️⃣ Start Keyboard MCP Server
In a separate terminal:
```bash
cd apps/keyboard-mcp
git checkout main
git pull origin main
npm install && npm run build
```
## 🔥 Important: How to Contribute
✅ DO THIS:
* Make changes in apps/approver-client/ or apps/keyboard-mcp/
* Create branches and commits like normal
* Submit PRs to the individual repos:
Approver Client changes → https://github.com/keyboard-dev/approver-client
Keyboard MCP changes → https://github.com/keyboard-dev/keyboard-mcp
❌ DON'T DO THIS:
* Don't submit PRs to this monorepo (unless changing this README)
* Don't worry about "updating submodules" - handled automatically
That's It! Work like you normally would. This repo just saves you from cloning multiple repositories.
---
## ⚠️ Disclaimer
Keyboard executes code in your GitHub Codspace environment. While we've designed it with security in mind, you should:
- Review all code before approving execution
- Only connect trusted applications
- Understand that API calls may have real-world effects
- Don't give Keyboard or by extension your GitHub codespace permissions that could in general ruin your life or career
This software is provided "as is" without warranty of any kind, express or implied.
---
**⭐ If Keyboard helps you work more securely with AI, please give us a star!**
Join our [Discord](https://discord.gg/UxsRWtV6M2) if you have any questions. We'd love to hear from you.
*Built with ❤️ by the Keyboard team*
Connection Info
You Might Also Like
Git
Model Context Protocol Servers
firecrawl
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to...
TrendRadar
🎯 Say goodbye to information overload. AI helps you understand news and...
repomix
Repomix packages your codebase into AI-friendly formats for seamless integration.
Mastra
The TypeScript AI agent framework. ⚡ Assistants, RAG, observability....
Blender
BlenderMCP integrates Blender with Claude AI for enhanced 3D modeling.