Token导航 LogoToken导航TokenDH.com
Apple Container MCP logo
开发工具未说明官方级别未说明来源级核验

Apple Container MCP

MCP Server

Apple Container MCP Server是一个桥接Model Context Protocol (MCP)和Apple开源container CLI的工具,使开发者能够通过自然语言接口无缝管理轻量级macOS原生容器。

工具数

41

提示词数

0

GitHub Stars

2

资源数

0
容器管理开发工具PythonClaudeClaude DesktopClaudeCursorCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

joeshirey

提供方

joeshirey

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

苹果容器MCP服务器

苹果容器MCP服务器 是模型上下文协议(MCP)和苹果开源之间的桥梁 container CLI。它使开发人员能够通过LLM接口(如Claude、Cursor、Antigravity和VSCode)使用自然语言无缝管理轻量级macOS原生容器。

通过充当MCP服务器,此工具抽象了特定CLI标志、网络挂载和系统级配置的复杂性,让LLM代表您检查、分析和自动运行macOS容器工作流。

______________________________________________________________________

🚀 先决条件

  1. Python 3.11+ 安装在您的机器上。
  1. uv 包管理器:用于快速环境设置和执行。
   brew install uv
  1. 苹果容器命令行界面:由苹果的虚拟化框架提供。 需要v0.12.0或更高版本。 通过Homebrew安装,然后启动系统服务:
   brew install container
   container system start

______________________________________________________________________

📥 安装和设置

安装和运行Apple Container MCP服务器有两种选择:使用 uvx 直接从GitHub运行它(推荐),或克隆存储库在本地运行它。

这两种方法都需要将服务器添加到您首选的MCP客户端的配置文件中。

选项A:通过直接执行 uvx (推荐)

这种方法不需要克隆存储库。 uvx 将自动获取、沙盒并运行最新版本的服务器。确保你有 uv 已安装(brew install uv).

选项B:克隆和本地环境

如果您想在本地检查或修改代码,请使用此方法。

git clone https://github.com/joeshirey/AppleContainerMCP.git
cd AppleContainerMCP

*注意:对于选项B,您必须替换 /path/to/uv 与你的实际 uv 路径(例如。 /opt/homebrew/bin/uv)以及 /absolute/path/to/AppleContainerMCP 使用您克隆到的目录。*

______________________________________________________________________

按工具配置

以下是将MCP服务器添加到主要LLM工具的具体说明。使用 选项A选项B 片段。

1.反重力(谷歌)

*(有关完整详细信息,请参阅 反重力MCP安装和配置文档 或谷歌内部文档)。*

打开全局MCP设置文件(通常 ~/.gemini/settings.json)并添加:

选项A(uvx):

{
  "mcpServers": {
    "apple-container-mcp": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "uvx",
        "--from",
        "git+https://github.com/joeshirey/AppleContainerMCP.git",
        "apple-container-mcp"
      ]
    }
  }
}

选项B(克隆):

{
  "mcpServers": {
    "apple-container-mcp": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "/path/to/uv",
        "--directory",
        "/absolute/path/to/AppleContainerMCP",
        "run",
        "--quiet",
        "apple-container-mcp"
      ]
    }
  }
}

2.光标

*(见 光标MCP文档 更多信息)。*

  1. 打开光标设置->功能->MCP
  2. 点击 +添加新的MCP服务器
  3. 选择 命令 类型。
  4. 名称: apple-container
  5. 命令:

- 选项A(uvx): /usr/bin/env FASTMCP_SHOW_SERVER_BANNER=false uvx --from git+https://github.com/joeshirey/AppleContainerMCP.git apple-container-mcp - 选项B(克隆): /usr/bin/env FASTMCP_SHOW_SERVER_BANNER=false /path/to/uv run --directory /absolute/path/to/AppleContainerMCP --quiet apple-container-mcp

3.克劳德桌面

*(见 MCP官方快速入门 有关完整的设置说明)。*

打开Claude Desktop配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)并添加:

选项A(uvx):

{
  "mcpServers": {
    "apple-container-mcp": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "uvx",
        "--from",
        "git+https://github.com/joeshirey/AppleContainerMCP.git",
        "apple-container-mcp"
      ]
    }
  }
}

选项B(克隆):

{
  "mcpServers": {
    "apple-container-mcp": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "/path/to/uv",
        "--directory",
        "/absolute/path/to/AppleContainerMCP",
        "run",
        "--quiet",
        "apple-container-mcp"
      ]
    }
  }
}

*(更新后重新启动Claude Desktop)。*

4.VSCode(通过Cline/RooCode)

*(见 临床MCP文档 更多细节)。*

打开扩展MCP设置文件(例如。, ~/.vscode/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json)并添加:

选项A(uvx):

{
  "mcpServers": {
    "apple-container": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "uvx",
        "--from",
        "git+https://github.com/joeshirey/AppleContainerMCP.git",
        "apple-container-mcp"
      ]
    }
  }
}

选项B(克隆):

{
  "mcpServers": {
    "apple-container": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "/path/to/uv",
        "--directory",
        "/absolute/path/to/AppleContainerMCP",
        "run",
        "--quiet",
        "apple-container-mcp"
      ]
    }
  }
}

5.Gemini CLI

*(见 Gemini CLI文档 有关设置详细信息)。*

打开Gemini CLI设置文件(通常 ~/.gemini/settings.json)并添加:

选项A(uvx):

{
  "mcpServers": {
    "apple-container-mcp": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "uvx",
        "--from",
        "git+https://github.com/joeshirey/AppleContainerMCP.git",
        "apple-container-mcp"
      ]
    }
  }
}

选项B(克隆):

{
  "mcpServers": {
    "apple-container-mcp": {
      "command": "/usr/bin/env",
      "args": [
        "FASTMCP_SHOW_SERVER_BANNER=false",
        "/path/to/uv",
        "--directory",
        "/absolute/path/to/AppleContainerMCP",
        "run",
        "--quiet",
        "apple-container-mcp"
      ]
    }
  }
}

______________________________________________________________________

💬 10个自然语言提示示例

在LLM客户端中配置MCP服务器后,您可以使用自然语言来管理Mac容器,而无需手动键入命令。尝试以下提示:

  1. “你能检查我的苹果容器系统服务当前是否正在运行吗?”
  2. “列出我当前在本地下载的所有图像。”
  3. “运行一个带有2个CPU和4GB内存的新的分离式Debian容器。”
  4. “我的机器上当前正在运行哪些容器?”
  5. “请拉最新的 nginx 图像给我”
  6. 启动一个名为“web测试”的Ubuntu容器,暴露端口8080:80,并设置ENV变量FOO=bar
  7. “停止ID为的容器 abc12345 安全。如果它挂了,就强行杀死它。”
  8. “你能从我的‘网络测试’容器中获取最后50行日志吗?”
  9. “我需要从当前目录中的Dockerfile构建一个映像,并将其标记为‘my app:v1’。”
  10. “通过移除所有停止的容器来清理我的环境。”

______________________________________________________________________

🛠 主动能力

暴露的工具

  • 系统: check_apiserver_status, start_system, stop_system, system_status, system_version
  • 容器: run_container (支持 --init-image、rosetta、平台、标签等), list_containers, start_container, stop_container, remove_container, export_container, inspect_container, exec_in_container, get_logs, prune_containers, stats_container
  • 图像: list_images, pull_image, build_image, check_build_status, list_builds, tag_image, push_image, inspect_image, remove_image, prune_images
  • 网络: create_network, remove_network, list_networks, inspect_network, prune_networks
  • : create_volume, remove_volume, list_volumes, inspect_volume, prune_volumes
  • 注册表: registry_login, registry_logout
  • 建造者: builder_start, builder_stop, builder_status

提示已暴露

  • troubleshoot_container:检查和调试故障容器的指导工作流程。
  • build_and_run_workflow:从本地项目构建映像并运行它的分步指南。
  • cleanup_environment:安全地检查和修剪已停止的容器、未使用的映像、卷和网络。
  • setup_private_registry:通过私有容器注册表进行身份验证。

暴露的资源

  • 系统状态: apple-container://system/status

______________________________________________________________________

🔒 安全模型

此服务器应用了几个有意的限制来保证LLM驱动的容器操作的安全:

  • 路径验证: build_images context_pathrun_containers env_file 仅限于主目录中的路径。支票使用 os.path.realpath 以及尾部分隔符后缀测试,以防止前缀匹配绕过(例如。 /Users/joe 对比 /Users/joey).
  • 参数阻止列表: run_containers args_override 参数拒绝提升权限、削弱隔离或暴露主机凭据的标志: --privileged, --cap-add, --cap-drop, --security-opt, --device, --pid, --ipc, --userns, --cgroupns, --no-new-privileges, --kernel / -k, --ssh.
  • Linux功能(苹果容器0.12+): 容器0.12已升级 --cap-add / --cap-drop 有记录的公共旗帜。 此MCP故意不将它们作为工具参数公开。 能力选择有意义地削弱了过程隔离;如果你需要它,调用 container run 直接。我们可能会在未来的版本中重新审视这一点,并采用异体机制。
  • --kernel--ssh 此 路 不通: --kernel (其将任意主机文件系统路径作为客户内核加载)是特权升级向量; --ssh (将主机SSH代理套接字转发到容器中)是凭证泄漏向量。两者都被阻止 args_override.
  • 无外壳注射: subprocess.run 总是用参数列表调用,从不用 shell=True.
  • 凭证处理: registry_login 通过传递密码 stdin (--password-stdin)因此,它从未出现在过程论证中。

目录标签

目录标签

容器管理开发工具PythonClaude本地部署自然语言接口macOS原生容器

支持客户端

Claude DesktopClaudeCursorCline

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

41

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP