list-domainsLABSCO SUMMARY
The defaults command, without remembering the domain names.
Most macOS preference tweaking is a hunt for the right domain and key followed by a command you paste. Listing the domains and reading them back makes that a conversation, and the write goes through the same mechanism the blog posts tell you to run.
What it is
A thin MCP wrapper around the macOS defaults command. list-domains is defaults domains; defaults-read is defaults read <domain> <key>, returning the whole domain when no key is given; defaults-write is defaults write <domain> <key> <value>.
What you get
- Every preference domain on the machine listed
- A domain read by key, or the entire domain at once
- A preference written by domain, key and value
Requirements
macOS, plus uv or uvx to run the package. It executes the system defaults command as the user who launched it, so writes change real settings — point it at a test domain first if you want to see the shape of a write before making one.
Setup effort
One command — uvx mcp-server-macos-defaults
USE CASES
Finding which domain holds the setting
List every preference domain on the machine instead of guessing at a bundle identifier.
Seeing what an app currently has set
Read the whole domain by leaving the key out, then narrow to the key that matters.
Applying a tweak you found in a guide
Write the domain, key and value directly, rather than pasting a shell command you would have to read carefully first.
Recording a machine's configuration before changing it
Read the domains you are about to touch and keep the values, so the change can be undone.
4 tools
Listed in project docs. Your client may show a different list.
finddefaults-readdefaults-writeBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
uvx on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx mcp-server-macos-defaultsMCP Clients
Claude Desktop
{
"mcpServers": {
"mcp-server-macos-defaults": {
"command": "uvx",
"args": [
"mcp-server-macos-defaults"
]
}
}
}