This MCP server and its integration with Claude have been primarily tested on the following environment:
Here are some example prompts you can use with Claude (or another MCP client) when interacting with this Homebrew MCP server:
[MCP] Discovered raw tools result from server (MCP format): meta=None nextCursor=None tools=[Tool(name='install', description='Install a Homebrew package by name.', inputSchema={'properties': {'package': {'title': 'Package', 'type': 'string'}}, 'required': ['package'], 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='uninstall', description='Uninstall a Homebrew package by name.', inputSchema={'properties': {'package': {'title': 'Package', 'type': 'string'}}, 'required': ['package'], 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='info', description='Fetch Homebrew package info using Homebrew.', inputSchema={'properties': {'package': {'title': 'Package', 'type': 'string'}}, 'required': ['package'], 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='upgrade', description='Upgrade a Homebrew package by name.', inputSchema={'properties': {'package': {'title': 'Package', 'type': 'string'}}, 'required': ['package'], 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='list', description='List all Homebrew packages using Homebrew.', inputSchema={'properties': {}, 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='search', description='Search for a Homebrew package.', inputSchema={'properties': {'package': {'title': 'Package', 'type': 'string'}}, 'required': ['package'], 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='doctor', description='Check your system for potential Homebrew problems.', inputSchema={'properties': {}, 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='reinstall', description='Reinstall a Homebrew package.', inputSchema={'properties': {'package': {'title': 'Package', 'type': 'string'}}, 'required': ['package'], 'title': '_toolArguments', 'type': 'object'}, annotations=None), Tool(name='outdated', description='List outdated Homebrew packages.', inputSchema={'properties': {}, 'title': '_toolArguments', 'type': 'object'}, annotations=None)]
[MCP] Number of tools found (MCP server count): 9
[MCP] Formatted tools for Claude (Claude API format): [{'name': 'install', 'description': 'Install a Homebrew package by name.', 'input_schema': {'type': 'object', 'properties': {'package': {'type': 'string'}}}}, {'name': 'uninstall', 'description': 'Uninstall a Homebrew package by name.', 'input_schema': {'type': 'object', 'properties': {'package': {'type': 'string'}}}}, {'name': 'info', 'description': 'Fetch Homebrew package info using Homebrew.', 'input_schema': {'type': 'object', 'properties': {'package': {'type': 'string'}}}}, {'name': 'upgrade', 'description': 'Upgrade a Homebrew package by name.', 'input_schema': {'type': 'object', 'properties': {'package': {'type': 'string'}}}}, {'name': 'list', 'description': 'List all Homebrew packages using Homebrew.', 'input_schema': {'type': 'object', 'properties': {}}}, {'name': 'search', 'description': 'Search for a Homebrew package.', 'input_schema': {'type': 'object', 'properties': {'package': {'type': 'string'}}}}, {'name': 'doctor', 'description': 'Check your system for potential Homebrew problems.', 'input_schema': {'type': 'object', 'properties': {}}}, {'name': 'reinstall', 'description': 'Reinstall a Homebrew package.', 'input_schema': {'type': 'object', 'properties': {'package': {'type': 'string'}}}}, {'name': 'outdated', 'description': 'List outdated Homebrew packages.', 'input_schema': {'type': 'object', 'properties': {}}}]
[MCP] Number of tools formatted for Claude: 9
===== Claude Prompt 1/7 =====
install wget if not installed, or uninstall if already installed
========================
[MCP] Claude requested tool: list with input: {}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='abseil\naom\naribb24\nawk\nbash\nbash-completion\nbat\nblack\nbrotli\nc-ares\nca-certificates\ncairo\ncertifi\ncjson\ncolordiff\ncoreutils\ncurl\ndav1d\ndiffutils\ndocker-buildx\ndos2unix\neslint\nexpat\nffmpeg\nfindutils\nflac\nfontconfig\nfreetype\nfrei0r\nfribidi\ngdbm\ngettext\ngiflib\ngit\nglib\ngmp\ngnu-sed\ngnu-tar\ngnu-which\ngnutls\ngo\ngraphite2\ngrep\nharfbuzz\nhighway\nicu4c@77\nimath\nipcalc\njpeg-turbo\njpeg-xl\njq\nkubernetes-cli\nlame\nleptonica\nlibarchive\nlibass\nlibb2\nlibbluray\nlibdeflate\nlibevent\nlibgit2\nlibidn2\nliblinear\nlibmicrohttpd\nlibnghttp2\nlibogg\nlibpng\nlibrist\nlibsamplerate\nlibsndfile\nlibsodium\nlibsoxr\nlibssh\nlibssh2\nlibtasn1\nlibtiff\nlibunibreak\nlibunistring\nlibuv\nlibvidstab\nlibvmaf\nlibvorbis\nlibvpx\nlibx11\nlibxau\nlibxcb\nlibxdmcp\nlibxext\nlibxrender\nlibyaml\nlittle-cms2\nlua\nlz4\nlzo\nmas\nmbedtls\nminikube\nmpdecimal\nmpg123\nncurses\nnetcat\nnettle\nnextdns\nnmap\nnode\nntfs-3g-mac\nollama\noniguruma\nopencore-amr\nopenexr\nopenjpeg\nopenldap\nopenssl@3\nopus\np11-kit\npango\nparallel\npcre2\npixman\nprotobuf\npstree\npython@3.10\npython@3.11\npython@3.12\npython@3.13\npython@3.9\nrav1e\nreadline\nrename\nrtmpdump\nrubberband\nruby\nrunpodctl\nsdl2\nshellcheck\nsnappy\nspeex\nsqlite\nsrt\nsvt-av1\ntesseract\ntheora\nunbound\nuv\nvim\nwatch\nwebp\nx264\nx265\nxorgproto\nxvid\nxz\nyq\nyt-dlp\nzeromq\nzimg\nzstd\nalt-tab\nchatgpt\nchromedriver\nclaude\ncursor\ndiscord\ndisk-inventory-x\ndocker\ndropbox\nfirefox\ngithub\ngoogle-chrome\ngoogle-drive\ngoogle-earth-pro\nistat-menus\niterm2\nkeepassxc\nlinearmouse\nlogitech-unifying\nmounty\nnordvpn\nsony-ps-remote-play\nspotify\nstremio\nsuperwhisper\nvisual-studio-code\nvlc\nwhatsapp\nwindsurf\nzoom', annotations=None)] isError=False
[MCP] Claude requested tool: install with input: {'package': 'wget'}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='==> Downloading https://ghcr.io/v2/homebrew/core/wget/manifests/1.25.0\nAlready downloaded: /Users/aj/Library/Caches/Homebrew/downloads/3de072a2f67f68eba0252eb2bdd190bb864b5c35c81ea66bdee039f69d28cc4a--wget-1.25.0.bottle_manifest.json\n==> Fetching wget\n==> Downloading https://ghcr.io/v2/homebrew/core/wget/blobs/sha256:4d180cd4ead91a34e2c2672189fc366b87ae86e6caa3acbf4845b272f57c859a\nAlready downloaded: /Users/aj/Library/Caches/Homebrew/downloads/0ea10e06128973449e04683d99be955d9304aed0db4c8e75745c8d4cad414672--wget--1.25.0.arm64_sonoma.bottle.tar.gz\n==> Pouring wget--1.25.0.arm64_sonoma.bottle.tar.gz\n🍺 /opt/homebrew/Cellar/wget/1.25.0: 92 files, 4.5MB\n==> Running `brew cleanup wget`...\nDisable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.\nHide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).', annotations=None)] isError=False
[MCP] Claude made no tool requests.
=== Claude's Answer ===
I've successfully installed wget version 1.25.0 on your system.
If you'd like me to uninstall it instead (as mentioned in your request), I can do that by running the uninstall command. Would you like me to proceed with uninstalling wget now?
============================
===== Claude Prompt 2/7 =====
restore initial state of wget
========================
[MCP] Claude requested tool: uninstall with input: {'package': 'wget'}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='Uninstalling /opt/homebrew/Cellar/wget/1.25.0... (92 files, 4.5MB)', annotations=None)] isError=False
[MCP] Claude made no tool requests.
=== Claude's Answer ===
I've successfully uninstalled wget, restoring your system to its initial state before our conversation. The package has been completely removed from your system.
============================
===== Claude Prompt 3/7 =====
check for outdated packages
========================
[MCP] Claude requested tool: outdated with input: {}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='docker-buildx\nglib\nlibarchive\nminikube\nparallel\npython@3.10\npython@3.11\npython@3.12\npython@3.9\nvim\nyt-dlp', annotations=None)] isError=False
[MCP] Claude made no tool requests.
=== Claude's Answer ===
You have 11 outdated packages that could be upgraded:
1. docker-buildx
2. glib
3. libarchive
4. minikube
5. parallel
6. python@3.10
7. python@3.11
8. python@3.12
9. python@3.9
10. vim
11. yt-dlp
If you would like to upgrade any of these packages, you can use the `brew upgrade` command followed by the package name, or use `brew upgrade` with no arguments to upgrade all outdated packages.
============================
===== Claude Prompt 4/7 =====
provide a summary of all installed packages
========================
[MCP] Claude requested tool: list with input: {}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='abseil\naom\naribb24\nawk\nbash\nbash-completion\nbat\nblack\nbrotli\nc-ares\nca-certificates\ncairo\ncertifi\ncjson\ncolordiff\ncoreutils\ncurl\ndav1d\ndiffutils\ndocker-buildx\ndos2unix\neslint\nexpat\nffmpeg\nfindutils\nflac\nfontconfig\nfreetype\nfrei0r\nfribidi\ngdbm\ngettext\ngiflib\ngit\nglib\ngmp\ngnu-sed\ngnu-tar\ngnu-which\ngnutls\ngo\ngraphite2\ngrep\nharfbuzz\nhighway\nicu4c@77\nimath\nipcalc\njpeg-turbo\njpeg-xl\njq\nkubernetes-cli\nlame\nleptonica\nlibarchive\nlibass\nlibb2\nlibbluray\nlibdeflate\nlibevent\nlibgit2\nlibidn2\nliblinear\nlibmicrohttpd\nlibnghttp2\nlibogg\nlibpng\nlibrist\nlibsamplerate\nlibsndfile\nlibsodium\nlibsoxr\nlibssh\nlibssh2\nlibtasn1\nlibtiff\nlibunibreak\nlibunistring\nlibuv\nlibvidstab\nlibvmaf\nlibvorbis\nlibvpx\nlibx11\nlibxau\nlibxcb\nlibxdmcp\nlibxext\nlibxrender\nlibyaml\nlittle-cms2\nlua\nlz4\nlzo\nmas\nmbedtls\nminikube\nmpdecimal\nmpg123\nncurses\nnetcat\nnettle\nnextdns\nnmap\nnode\nntfs-3g-mac\nollama\noniguruma\nopencore-amr\nopenexr\nopenjpeg\nopenldap\nopenssl@3\nopus\np11-kit\npango\nparallel\npcre2\npixman\nprotobuf\npstree\npython@3.10\npython@3.11\npython@3.12\npython@3.13\npython@3.9\nrav1e\nreadline\nrename\nrtmpdump\nrubberband\nruby\nrunpodctl\nsdl2\nshellcheck\nsnappy\nspeex\nsqlite\nsrt\nsvt-av1\ntesseract\ntheora\nunbound\nuv\nvim\nwatch\nwebp\nx264\nx265\nxorgproto\nxvid\nxz\nyq\nyt-dlp\nzeromq\nzimg\nzstd\nalt-tab\nchatgpt\nchromedriver\nclaude\ncursor\ndiscord\ndisk-inventory-x\ndocker\ndropbox\nfirefox\ngithub\ngoogle-chrome\ngoogle-drive\ngoogle-earth-pro\nistat-menus\niterm2\nkeepassxc\nlinearmouse\nlogitech-unifying\nmounty\nnordvpn\nsony-ps-remote-play\nspotify\nstremio\nsuperwhisper\nvisual-studio-code\nvlc\nwhatsapp\nwindsurf\nzoom', annotations=None)] isError=False
[MCP] Claude made no tool requests.
=== Claude's Answer ===
Here's a summary of all the installed Homebrew packages on your system:
### Command Line Utilities
- **Core Utilities**: coreutils, findutils, gnu-sed, gnu-tar, gnu-which, grep, watch
- **Shell**: bash, bash-completion
- **Text Processing**: awk, bat, colordiff, diffutils, dos2unix, rename
- **Network Tools**: curl, ipcalc, netcat, nextdns, nmap
- **Monitoring/System**: istat-menus, pstree
- **Version Control**: git, libgit2
- **Package Managers**: mas (Mac App Store CLI)
### Programming Languages & Tools
- **Python**: python@3.9, python@3.10, python@3.11, python@3.12, python@3.13, black, uv
- **JavaScript**: node, eslint
- **Go**: go
- **Ruby**: ruby
- **Package Dependencies**: certifi, mpdecimal
### Media Libraries & Tools
- **Video/Audio Processing**: ffmpeg with various dependencies (aom, dav1d, flac, frei0r, lame, etc.)
- **Image Processing**: jpeg-turbo, jpeg-xl, libpng, webp
- **OCR**: tesseract, leptonica
### Container & Kubernetes
- **Docker**: docker, docker-buildx
- **Kubernetes**: kubernetes-cli, minikube
### Security Tools
- **Cryptography**: openssl@3, libsodium
- **VPN**: nordvpn
### Applications
- **Browsers**: firefox, google-chrome
- **Development**: visual-studio-code, cursor, iterm2
- **AI Tools**: ollama, chatgpt, claude, superwhisper
- **Media**: spotify, vlc, stremio
- **Communication**: discord, whatsapp, zoom
- **Storage**: dropbox, google-drive
### Outdated Packages
You have 11 outdated packages that could be upgraded:
- docker-buildx
- glib
- libarchive
- minikube
- parallel
- python@3.10
- python@3.11
- python@3.12
- python@3.9
- vim
- yt-dlp
This is a well-rounded system with tools for development, multimedia, networking, and everyday productivity. You have a good mix of programming languages installed, with particularly strong Python support across multiple versions.
============================
===== Claude Prompt 5/7 =====
provide suggestions of other packages to install
========================
[MCP] Claude requested tool: search with input: {'package': 'popular'}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='poppler\n\npopchar', annotations=None)] isError=False
[MCP] Claude requested tool: search with input: {'package': 'util'}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text='aarch64-elf-binutils\napr-util\narm-linux-gnueabihf-binutils\narm-none-eabi-binutils\naws-c-sdkutils\naws-sso-util\nbibutils\nbinutils\nblueutil\ncargo-binutils\ncoinutils\ncoreutils\ncvsutils\ndateutils\ndebianutils\ndesktop-file-utils\ndfu-util\ndiffutils\ndmtx-utils\ndockutil\ndocutils\ndwarfutils\neot-utils\nerofs-utils\nfindutils\nfont-util\ngfxutil\ngputils\nhfsutils\nhtml-xml-utils\ni2util\ni686-elf-binutils\nicon-naming-utils\nicoutils\nidutils\ninetutils\nipmiutil\nlibparserutils\nm68k-elf-binutils\nmailutils\nmoreutils\nmsktutil\nnfcutils\nnum-utils\nobjc-codegenutils\nosxutils\npatchutils\nplotutils\npsutils\nrecutils\nrenameutils\nriscv64-elf-binutils\nsqlite-utils\nt1utils\ntccutil\nuniutils\nusbutils\nutil-linux\nutil-macros\nuutils-coreutils\nuutils-diffutils\nuutils-findutils\nvulkan-utility-libraries\nwtutil\nx86_64-elf-binutils\nx86_64-linux-gnu-binutils\nxcb-util\nxcb-util-cursor\nxcb-util-image\nxcb-util-keysyms\nxcb-util-renderutil\nxcb-util-wm\nxml-coreutils\n\ncaldigit-docking-utility\ncanon-eos-utility\nconcept2-utility\ndd-utility\ndesktoputility\ndevutils\nelecom-mouse-util\nelgato-capture-device-utility\nipremoteutility\njlutil\nkext-utility\nneo-network-utility\nnrfutil\npppc-utility\nrockboxutility\ntex-live-utility\nvagrant-vmware-utility', annotations=None)] isError=False
[MCP] Claude made no tool requests.
=== Claude's Answer ===
Based on your currently installed packages and some popular Homebrew options, here are some suggestions you might find useful:
1. **htop** - An interactive process viewer, an enhanced alternative to the top command.
2. **tldr** - Simplified man pages with practical examples.
3. **ripgrep** (rg) - A faster alternative to grep, written in Rust.
4. **fd** - A simple, fast and user-friendly alternative to 'find'.
5. **exa** or **lsd** - Modern replacements for the ls command with more features and better defaults.
6. **tmux** - A terminal multiplexer that lets you switch between several programs through one terminal.
7. **fzf** - A general-purpose command-line fuzzy finder.
8. **tree** - Display directories as trees (with optional color/HTML output).
9. **wget** - Internet file retriever (I see you were experimenting with this earlier).
10. **mtr** - A network diagnostic tool that combines ping and traceroute.
11. **ag** (The Silver Searcher) - A code searching tool similar to ack, but faster.
12. **ncdu** - NCurses Disk Usage, a disk usage analyzer with an ncurses interface.
13. **imagemagick** - Tools and libraries to manipulate images in many formats.
14. **ffmpeg** - I see you already have this installed, which is great for video processing.
15. **neovim** - A fork of Vim focused on extensibility and usability.
Would you like more specific information about any of these packages, or would you like me to help you install any of them?
============================
===== Claude Prompt 6/7 =====
use brew doctor to see if there are any issues, try to find a fix for all of these issues
========================
[MCP] Claude requested tool: doctor with input: {}
[MCP] Tool reply: meta=None content=[TextContent(type='text', text="Error executing tool doctor: Please note that these warnings are just used to help the Homebrew maintainers\nwith debugging if you file an issue. If everything you use Homebrew for is\nworking fine: please don't worry or file an issue; just ignore this. Thanks!\n\nWarning: You have the following deprecated, official taps tapped:\n Homebrew/homebrew-cask-versions\n Homebrew/homebrew-bundle\n Homebrew/homebrew-services\n Homebrew/homebrew-cask-drivers\nUntap them with `brew untap`.\n\nWarning: The following formulae have the same name as core formulae:\n hashicorp/tap/consul-template\n hashicorp/tap/levant\n hashicorp/tap/nomad\n hashicorp/tap/packer\n hashicorp/tap/terraform\n hashicorp/tap/terraform-ls\n hashicorp/tap/vault\n hashicorp/tap/waypoint\n nextdns/tap/nextdns\nSome of these can be resolved with:\n brew untap hashicorp/tap", annotations=None)] isError=True
[MCP] Claude made no tool requests.
=== Claude's Answer ===
Based on the `brew doctor` output, I found two main issues that need to be addressed:
1. Deprecated official taps:
- Homebrew/homebrew-cask-versions
- Homebrew/homebrew-bundle
- Homebrew/homebrew-services
- Homebrew/homebrew-cask-drivers
2. Formula name conflicts with core formulae.
Let me first try to untap the deprecated official taps. To fix these issues, I'll need to use your terminal directly as the function calls available don't include a direct "untap" function. Here are the commands you should run in your terminal:
```bash
# Untap deprecated official taps
brew untap Homebrew/homebrew-cask-versions
brew untap Homebrew/homebrew-bundle
brew untap Homebrew/homebrew-services
brew untap Homebrew/homebrew-cask-drivers
# Resolve formula name conflicts
brew untap hashicorp/tap
brew untap nextdns/tap
```
These commands will remove the deprecated taps and resolve the formula name conflicts mentioned in the warnings. After running these commands, you can run `brew doctor` again to verify that the issues have been resolved.
Note that untapping these repositories might affect some of your installed applications if they were installed from these taps. If you're actively using any applications from these taps, you might want to consider keeping them despite the warnings.
============================
===== Claude Prompt 7/7 =====
provide a summary of what was done
========================
[MCP] Claude made no tool requests.
=== Claude's Answer ===
# Summary of Homebrew Operations
Here's a summary of the actions performed during our session:
1. **Initial Check and Operation**:
- Checked if wget was installed (it was not)
- Installed wget (version 1.25.0)
- Subsequently uninstalled wget to restore the initial state
2. **System Analysis**:
- Checked for outdated packages, finding 11 packages that need updates:
- docker-buildx, glib, libarchive, minikube, parallel, python@3.10, python@3.11, python@3.12, python@3.9, vim, and yt-dlp
- Retrieved a full list of installed packages (approximately 150 packages including both CLI tools and GUI applications)
3. **System Health Check**:
- Ran `brew doctor` which identified two warnings:
- Several deprecated official taps are still tapped (Homebrew/homebrew-cask-versions, Homebrew/homebrew-bundle, Homebrew/homebrew-services, Homebrew/homebrew-cask-drivers)
- Formula name conflicts between core formulas and those from hashicorp/tap and nextdns/tap
4. **Suggested Fixes**:
- Untap deprecated taps with `brew untap`
- Resolve formula conflicts by untapping hashicorp/tap
No additional changes were made to your system beyond the temporary installation and removal of wget.
============================