keyboard-dev/keyboard-local
If you are the rightful owner of keyboard-local and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Keyboard is a universal Model Context Protocol (MCP) server designed to securely connect your applications to AI clients, enabling task automation and code execution.
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)
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)
Get Started (5 minutes)
See 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:
// 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:
- Ask your AI to execute a task using your connected tools
- Review & approve the explanation and generated code in the Keyboard desktop app
- Watch it execute safely in your own GitHub Codespace
Full Breakdown
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:
- User Interaction: You chat with Claude (or any MCP-compatible AI client) normally
- Code Generation: Claude generates the code needed to accomplish your task in your connected apps
- User Approval: Keyboard presents the generated code for your review and approval
- Secure Execution: Once approved, the code runs safely in an isolated GitHub Codespace
- 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:
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)
git clone --recursive https://github.com/keyboard-dev/keyboard-local.git
cd keyboard-local
2️⃣ Start Approver Client (Electron Desktop App)
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:
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 if you have any questions. We'd love to hear from you.
Built with ❤️ by the Keyboard team