A collection of small, focused MCP servers — each one does one thing, with no framework and minimal dependencies, built to give AI coding agents (Claude Code and similar) capabilities they don't have out of the box.
| Server | What it does |
|---|---|
windows-keyboard |
Inject keyboard events on Windows (type text, press keys, hold modifiers) |
windows-mouse |
Inject mouse events on Windows (move, click, drag, scroll) |
windows-screenshot |
Capture screenshots on Windows (with optional crop/downscale) |
windows-chain |
Run a whole sequence of clicks/keystrokes/waits against Windows in one call, instead of one round-trip per step |
email |
Read, search, manage, and send email over IMAP/SMTP for any account |
time |
Report the current date/time in any IANA timezone — models have no built-in clock |
The Windows-automation servers (windows-keyboard, windows-mouse, windows-screenshot,
windows-chain) each wrap a small native C#/.NET helper that talks to the Win32 API directly
(SendInput, user32.dll, System.Drawing) — no PowerShell, no third-party native dependencies.
They're useful when driving a real, un-instrumented application window (as opposed to browser
automation via CDP/Playwright, which some sites can fingerprint and block). windows-chain is the
one to reach for once round-tripping through the model for every single click/keystroke gets too
slow or too expensive — see its design doc for why.
Each subdirectory is a standalone Node/TypeScript project. Build it, then point an MCP client at
its dist/index.js:
cd windows-screenshot
npm install
npm run buildclaude mcp add windows-screenshot -- node "/path/to/windows-screenshot/dist/index.js"See each server's own README for its tools and parameters.
MIT — see LICENSE.