Turn Mac apps into MCP servers using the accessibility API. No screenshots or LLM in the loop after the first run.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add ventriloquist -- uvx ventriloquist-mcp~/.codex/config.toml
[mcp_servers.ventriloquist]
command = "uvx"
args = ["ventriloquist-mcp"]
# codex mcp add ventriloquist -- uvx ventriloquist-mcp~/.cursor/mcp.json
{
"mcpServers": {
"ventriloquist": {
"command": "uvx",
"args": [
"ventriloquist-mcp"
]
}
}
}.vscode/mcp.json
{
"servers": {
"ventriloquist": {
"type": "stdio",
"command": "uvx",
"args": [
"ventriloquist-mcp"
]
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"ventriloquist": {
"command": "uvx",
"args": [
"ventriloquist-mcp"
]
}
}
}claude_desktop_config.json
{
"mcpServers": {
"ventriloquist": {
"command": "uvx",
"args": [
"ventriloquist-mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"ventriloquist": {
"command": "uvx",
"args": [
"ventriloquist-mcp"
]
}
}
}