这是一个用于macOS上的Homebrew包管理器的模型上下文协议(MCP)服务器,旨在与Claude Desktop和其他兼容MCP的客户端无缝集成。
install, uninstall, upgrade, cleanuplist, search, info, outdated, depsdoctor, updatetap, untappin, unpinservicesbrew命令(需要在macOS上安装Homebrew)。homebrew_mcp.log文件中。test_claude_homebrew_mcp.py),该脚本:
克隆此仓库:
git clone https://github.com/jeannier/homebrew-mcp
cd homebrew-mcp
安装 uv(如果尚未安装):
brew install uv
创建虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate # 激活虚拟环境
uv pip install -r requirements.txt
运行MCP服务器(本地测试): 若要进行本地测试或开发期间测试,可以直接运行:
uv run python homebrew_mcp.py
然后服务器将启动。如果成功,不会立即有输出;它会静默地监听通过标准输入输出的MCP请求。可以通过检查homebrew_mcp.log文件来确认其是否正在运行。
注意: 如果您要将其与Claude Desktop集成,则不需要手动运行此命令。Claude Desktop会根据“Claude Desktop集成”部分提供的配置自动启动服务器。此命令仅用于直接测试或开发目的。
前提条件: 在添加工具之前,请完成**安装**部分中的步骤以设置项目及其依赖项。“添加到Cursor”按钮假设项目位于~/Documents/GitHub/homebrew-mcp。
通过Homebrew(macOS)安装Cursor:
brew install --cask cursor
将工具添加到Cursor:
~/.cursor/mcp.json。打开它并更新homebrew-mcp条目中的command字符串内的路径。可以参考此仓库中的mcp.json文件作为参考。重启Cursor:
通过Homebrew(macOS)安装Claude Desktop:
brew install --cask claude
确保uv在您的PATH中且项目可访问。
配置Claude Desktop以使用此MCP服务器:
~/Library/Application Support/Claude/claude_desktop.json。/path/to/your/project/替换为您克隆此项目的目录的绝对路径。可以参考此仓库中的claude_desktop_config.json文件作为示例。{
"mcpServers": {
"homebrew-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/your/project/",
"homebrew_mcp.py"
],
"type": "stdio"
}
}
}
--directory参数告诉uv在哪里找到homebrew_m_ cp.py脚本及其上下文(如.venv)。
homebrew_mcp.py — 主MCP服务器脚本。test_claude_homebrew_mcp.py — 交互式Claude集成测试脚本。claude_desktop_config.json — Claude Desktop示例配置。mcp.json — Cursor示例配置。requirements.txt — Python项目依赖项。README.md — 此文件。LICENSE — 项目的MIT许可证。.gitignore — 指定Git忽略的文件。.venv/ — 由uv管理的Python虚拟环境。homebrew_mcp.log — MCP服务器的日志文件。要实时查看服务器日志并美化每个JSON行:
tail -f homebrew_mcp.log | jq .
此MCP服务器及其与Claude的集成主要在以下环境中进行了测试:
uv管理)
uv pip安装)uv pip安装)这里有一些示例提示,您可以使用Claude(或其他MCP客户端)与这个Homebrew MCP服务器进行交互时使用:
要运行Claude集成测试(test_claude_homebrew_mcp.py),您需要一个Anthropic Claude API密钥。在测试脚本顶部的ANTHROPIC_API_KEY变量中设置您的API密钥。此脚本允许您与Claude交互,而Claude则使用homebrew_mcp.py服务器。它展示了动态工具发现和Claude多次调用工具的能力。
uv run python test_claude_homebrew_mcp.py
此部分显示了运行test_claude_homebrew_mcp.py脚本时的示例输出。
它展示了Claude与Homebrew MCP服务器之间的交互,包括动态工具发现、多次工具调用以及最终响应。
$ uv run python test_claude_homebrew_mcp.py
============================== Claude Prompt 1/7 ===============================
install wget if not installed, or uninstall if already installed
================================================================================
============================= Claude's Answer 1/7 ==============================
我已在您的系统上成功安装了wget。现在wget已安装,如果您希望我卸载它(根据您的要求,如果未安装则安装,如果已安装则卸载),我可以为您执行此操作。
请问您现在是否希望我卸载wget?请告知我。
================================================================================
============================== Claude Prompt 2/7 ===============================
恢复wget的初始状态
================================================================================
============================= Claude's Answer 2/7 ==============================
我已成功卸载wget,将您的系统恢复到我们对话前的初始状态。wget包已被完全从您的系统中移除。
================================================================================
============================== Claude Prompt 3/7 ===============================
检查过期的包
================================================================================
============================= Claude's Answer 3/7 ==============================
您有3个过期的包:
1. libnghttp2
2. uv
3. yt-dlp
这些包有可用的新版本,如果您愿意,可以升级它们。
================================================================================
============================== Claude Prompt 4/7 ===============================
提供已安装的所有包的总结
================================================================================
============================= Claude's Answer 4/7 ==============================
这是您系统上已安装的所有包的总结:
1. **命令行工具与实用程序**:bash, coreutils, curl, git, jq, nmap, grep, watch等。
2. **编程语言与工具**:python(多个版本)、node、go、lua
3. **媒体工具与库**:ffmpeg及其依赖项(x264、x265等)、yt-dlp
4. **开发工具**:neovim、tree-sitter、shellcheck
5. **应用程序(Casks)**:
- 浏览器:google-chrome、firefox
- 开发:visual-studio-code、iterm2、cursor、github
- 通信:discord、whatsapp
- 媒体:vlc、spotify、stremio
- 实用程序:docker-desktop、keepassxc、alt-tab、disk-inventory-x
- AI/ML工具:chatgpt、claude、ollama、s