独立运营 · 不出售排名位置  · 我们怎么评估工具 →
Anclum 提交收录
H

HoldMyBeer-gg/bad-ass-mcp

Cross-platform GUI MCP for interacting with your desktop in macos, Windows, and Linux

装之前:没有可直接复制的命令 · 许可证 MIT · 链接可访问

第一步:这条暂时没有可执行的下一步,可先看原仓库 https://github.com/HoldMyBeer-gg/bad-ass-mcp

无 SECURITY.md
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
安装与配置
取自该仓库的安装命令
pip install bad-ass-mcp

解析自我们于 2026-10-26 抓取的该仓库 README;我们未执行过。

这条是仓库自己写的安装方式,不是 MCP 客户端配置,所以不生成 JSON。
配置项的键名以你的客户端为准:客户端与 CLI
★ 数取值
8 ★ · HoldMyBeer-gg/bad-ass-mcp · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
来源明细
从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
收录与活跃
收录于 2026-10-22 · 最近见到 2026-11-14 · 共见到 27 次 · 被 2 个来源列出
评分构成
综合分 203 · 8 ★ · 2 个来源 · repo
安装
pip install bad-ass-mcp
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是 pip install bad-ass-mcp。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库 HoldMyBeer-gg/bad-ass-mcp;我们收录于 2026-10-22;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。

# bad-ass-mcp

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Every other tool needs a browser or a vision model. This one reads what the OS already knows.
A cross-platform MCP server for desktop GUI automation — driven by accessibility APIs, not screenshots.
Works with Claude, Codex, Gemini, Ollama, or any OpenAI-compatible client that supports MCP.
bad-ass-mcp recording itself interacting with MarkTheCrab
## Why
Most AI desktop automation tools work by taking screenshots and asking a vision model "what do you see?" That's slow, expensive, and fragile.
Every major OS exposes a structured accessibility tree — the same one used by screen readers — that describes every button, text field, combo box, and menu in every running application. bad-ass-mcp speaks that language directly.
macOS: AXUIElement via PyObjC
Linux: AT-SPI2 via gi.repository.Atspi
Windows: UI Automation via comtypes
Actions fire on control objects directly, so the target window doesn't need focus. The user can keep working while automation runs in the background.
## Tools
| Tool | Description |
| listwindows | List all visible application windows |
| gettree | Full accessibility tree for a window as nested JSON |
| findelements | Find elements by role and/or name |
| click | Click / invoke an element (foreground-independent); button="right", clicks=2; falls back to a real click at the element's center |
| clickat | Click at absolute screen coordinates — fallback for webview/canvas UI; takes button and clicks |
| drag | Drag-and-drop with real pointer events, between coordinates or element handles |
| typetext | Type text into a field (SetValue → EditableText → key injection) |
| selectoption | Select an option in a combo box or list (a11y items → SetValue → keystrokes), verified by reading the value back |
| getvalue | Get the current value or text of an element |
| waitforwindow | Wait until a window matching a pattern appears |
| waitforelement | Wait until an element exists and optionally has a given state |
| screenshot | Capture a PNG (write to outputpath or return base64) |
| startrecording | Start recording the screen (or a specific window) |
| stoprecording | Stop recording and export as GIF (short clips) or MP4 (long sessions, no re-encode) |
| learnlayout | Resolve semantic names → live handle IDs (one call per session) |
| runsequence | Execute a list of actions server-side — no per-action round-trips |
## Field notes: when the tree isn't enough
Observed driving large native apps (a game editor, a DAW) on Windows:
Context menus don't exist in the a11y tree until they're open, and nothing in UIA opens them. click(handle, button="right") or clickat(x, y, button="right") does; the menu is then a readable window.
Double-click targets (list rows that open an editor) often expose only a Select action, which highlights the row and stops. Use clicks=2.
Tab strips can behave the same way: a11y Select highlights the tab without switching the page. click now falls back to a real pointer click when no pattern takes, which switches it.
Stock Win32 combo boxes are unreliable through UIA: the item list only exists while dropped down, and SetValue can succeed on one combo and silently no-op on the next one in the same dialog. selectoption ends with a keystroke strategy (focus, type the item, Return) and reads the value back, so ok: false means it really didn't change.
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/zh/s/holdmybeer-gg-bad-ass-mcp/)
来源
github · https://github.com/HoldMyBeer-gg/bad-ass-mcp
按领域浏览
开源项目
Traction
8 ★
收录来源
2 个独立来源
收录于
今天
安全策略
我们没在该仓库根目录找到 SECURITY.md(这不代表不安全)

同类推荐

全部 1,671 →

所属领域与标签

每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。

浏览全部领域 →

← 返回索引