Windows驱动程序输入MCP(独立)
通过IbInputSimulator公开驱动程序级键盘/鼠标工具的独立MCP服务器。
- 没有UIA树,没有视觉,没有外壳——只有输入
- 后端:DLL优先(
ibsim-dll,无需AHK);可选AHK(ibsim-ahk,需要AutoHotkey v2 64位) - 支持Unicode文本、WASD、组合、保持和滚动
存储库:https://github.com/win10ogod/windows-driver-input-mcp 许可证:麻省理工学院
跑
- 标准 :
uv run main.py --transport stdio - 上海证券交易所
uv run main.py --transport sse --host localhost --port 8001
通过env配置(显示默认值):
WINDOWS_MCP_INPUT_BACKEND=ibsim-dll(或ibsim-ahk)WINDOWS_MCP_INPUT_DRIVER=AnyDriverWINDOWS_MCP_RATE_MOVE_HZ=120,WINDOWS_MCP_RATE_MAX_DELTA=60,WINDOWS_MCP_RATE_SMOOTH=0.0WINDOWS_MCP_RATE_CPS=8.0,WINDOWS_MCP_RATE_KPS=12.0WINDOWS_INPUT_LOG_LEVEL=INFOIBSIM_DIR可选择指向IbInputSimulator目录(如果不是托管)
工具
Input-InfoMove-ToolClick-ToolDrag-ToolScroll-ToolType-Tool(text, method=unicode|clipboard|vk, press_enter=false)Shortcut-ToolKey-Tool(mode=tap|down|up|hold, key, times, interval_ms, hold_ms)Combo-Tool(keys=[...], hold_ms=...)Desktop-Info(虚拟屏幕原点/大小、监视器计数)Window-Info(活动窗口标题/类和矩形)Windows-List(枚举窗口;通过parent_hownd枚举顶级窗口或子窗口;过滤器:查询、仅可见、包含最小化、包含隐藏、限制)Windows-Select(按以下方式选择index或第一场比赛query;支持parent_hownd和可见性标志;返回hwnd和详细信息)Windows-Activate(放在前面;可选show=restore|minimize|maximize|show,topmost=true|false)Windows-SetPos(移动/调整大小;loc=[x,y],size=[w,h],z=topmost|notopmost|top|bottom)Windows-Close(发送WM_CLOSE)Input-RateLimiter-Config
IbInputSimulator
地方 IbInputSimulator/Binding.AHK2/IbInputSimulator.dll 和 IbInputSimulator.ahk 或者:
- 在此文件夹内(
input_driver_server/IbInputSimulator/Binding.AHK2/...),或 - 集
IBSIM_DIR到目录保存Binding.AHK2(或其父母)。
服务器会自动发现公共位置,并检查父仓库布局,但对于真正独立的软件包,则需要进行销售 IbInputSimulator 建议使用此文件夹。
安装
- 需求
- Windows 7–11 - Python 3.13+(python --version) - UV包管理器: pip install uv (或参见https://github.com/astral-sh/uv) - IbInputSimulator已在 input_driver_server/IbInputSimulator. - 可选(仅在使用时 ibsim-ahk):自动热键v2 64位
- 安装程序(克隆一次)
- git clone https://github.com/win10ogod/windows-driver-input-mcp.git - cd windows-driver-input-mcp - (可选) uv sync 如果你更喜欢有固定存款的本地venv
客户端配置代码段(JSON)
在接受模型上下文协议服务器配置的客户端中使用这些JSON块。
克劳德桌面(高级>添加本地MCP)
将此JSON粘贴到“从JSON安装”对话框中:
{
"command": "uv",
"args": [
"--directory",
"/windows-driver-input-mcp",
"run",
"main.py"
],
"env": {
"WINDOWS_MCP_INPUT_BACKEND": "ibsim-dll",
"WINDOWS_MCP_INPUT_DRIVER": "AnyDriver",
"WINDOWS_MCP_RATE_MOVE_HZ": "120",
"WINDOWS_MCP_RATE_MAX_DELTA": "60",
"WINDOWS_MCP_RATE_SMOOTH": "0.0",
"WINDOWS_MCP_RATE_CPS": "8.0",
"WINDOWS_MCP_RATE_KPS": "12.0",
"WINDOWS_INPUT_LOG_LEVEL": "INFO"
}
}或者作为扩展包安装:
cd windows-driver-input-mcp
npx @anthropic-ai/mcpb pack
- 在克劳德桌面:设置→ 扩展→ 高级设置→ 安装扩展→ 选择生成的
.mcpb.
食品法典委员会CLI(TOML)
编辑 %USERPROFILE%/.codex/config.toml 并添加:
[mcp_servers.windows-driver-input]
command = "uv"
args = [
"--directory",
"/windows-driver-input-mcp",
"run",
"main.py"
]
env = {
WINDOWS_MCP_INPUT_BACKEND = "ibsim-dll",
WINDOWS_MCP_INPUT_DRIVER = "AnyDriver",
WINDOWS_MCP_RATE_MOVE_HZ = "120",
WINDOWS_MCP_RATE_MAX_DELTA = "60",
WINDOWS_MCP_RATE_SMOOTH = "0.0",
WINDOWS_MCP_RATE_CPS = "8.0",
WINDOWS_MCP_RATE_KPS = "12.0",
WINDOWS_INPUT_LOG_LEVEL = "INFO"
}保存并重新启动Codex CLI以加载新服务器。
Gemini CLI(JSON)
编辑 %USERPROFILE%/.gemini/settings.json 并将以下内容合并到 mcpServers:
{
"mcpServers": {
"windows-driver-input": {
"command": "uv",
"args": [
"--directory",
"/windows-driver-input-mcp",
"run",
"main.py"
],
"env": {
"WINDOWS_MCP_INPUT_BACKEND": "ibsim-dll",
"WINDOWS_MCP_INPUT_DRIVER": "AnyDriver",
"WINDOWS_MCP_RATE_MOVE_HZ": "120",
"WINDOWS_MCP_RATE_MAX_DELTA": "60",
"WINDOWS_MCP_RATE_SMOOTH": "0.0",
"WINDOWS_MCP_RATE_CPS": "8.0",
"WINDOWS_MCP_RATE_KPS": "12.0",
"WINDOWS_INPUT_LOG_LEVEL": "INFO"
}
}
}
}重新启动Gemini CLI以应用配置。
致谢
- 部分功能改编自Windows MCP:
https://github.com/CursorTouch/Windows-MCP
- 特别感谢IbInputSimulator提供驾驶员级输入:
https://github.com/Chaoses-Ib/IbInputSimulator
