Turn Mac apps into MCP tools via the accessibility API: no screenshots, no model per step.
Connect Runs on your machine
claude mcp add ventriloquist -e VENT_LIVE=<VENT_LIVE> -e VENT_ALLOW_HIGH=<VENT_ALLOW_HIGH> -e VENT_HEAL=<VENT_HEAL> -e VENT_HOME=<VENT_HOME> -e VENT_READ_ONLY=<VENT_READ_ONLY> -e VENT_NO_VALUES=<VENT_NO_VALUES> -- uvx ventriloquist-mcp==0.5.0
{
"mcpServers": {
"ventriloquist": {
"command": "uvx",
"args": [
"ventriloquist-mcp==0.5.0"
],
"env": {
"VENT_LIVE": "<VENT_LIVE>",
"VENT_ALLOW_HIGH": "<VENT_ALLOW_HIGH>",
"VENT_HEAL": "<VENT_HEAL>",
"VENT_HOME": "<VENT_HOME>",
"VENT_READ_ONLY": "<VENT_READ_ONLY>",
"VENT_NO_VALUES": "<VENT_NO_VALUES>"
}
}
}
}
{
"mcpServers": {
"ventriloquist": {
"command": "uvx",
"args": [
"ventriloquist-mcp==0.5.0"
],
"env": {
"VENT_LIVE": "<VENT_LIVE>",
"VENT_ALLOW_HIGH": "<VENT_ALLOW_HIGH>",
"VENT_HEAL": "<VENT_HEAL>",
"VENT_HOME": "<VENT_HOME>",
"VENT_READ_ONLY": "<VENT_READ_ONLY>",
"VENT_NO_VALUES": "<VENT_NO_VALUES>"
}
}
}
}
{
"servers": {
"ventriloquist": {
"type": "stdio",
"command": "uvx",
"args": [
"ventriloquist-mcp==0.5.0"
],
"env": {
"VENT_LIVE": "<VENT_LIVE>",
"VENT_ALLOW_HIGH": "<VENT_ALLOW_HIGH>",
"VENT_HEAL": "<VENT_HEAL>",
"VENT_HOME": "<VENT_HOME>",
"VENT_READ_ONLY": "<VENT_READ_ONLY>",
"VENT_NO_VALUES": "<VENT_NO_VALUES>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
VENT_LIVEOptional | Set to 1 for live mode: the agent can look at and use any running app through its accessibility tree, and save steps that worked as a tool once you approve them. Sends, deletes and the like ask you first. |
VENT_ALLOW_HIGHOptional | Set to 1 to run tools a pack marks as high risk without asking. Without it, they're offered only to clients that can ask you to confirm each call (MCP elicitation). |
VENT_HEALOptional | Set to 1 to let the server call a model to re-ground broken anchors. Off keeps serving model-free. |
VENT_HOMEOptional | Directory for your own packs and traces. Defaults to ~/.ventriloquist. |
VENT_READ_ONLYOptional | Set to 1 to serve read-only tools only. Every other call is refused, even with VENT_ALLOW_HIGH. |
VENT_NO_VALUESOptional | Set to 1, together with VENT_HEAL=1, to keep field values out of what the healer sends to the model. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 4 Nov 2026 |
| Last updated | 4 Nov 2026 |
| Registry name | io.github.ShaanGS/ventriloquist |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
