Apple Container MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个基于 MCP 的服务器端,允许通过标准化的 API 将本地 macOS 容器环境的能力暴露给 LLM 客户端。核心包括资源、工具、以及对外提供的 API,便于 LLM 在对话中读取上下文、执行外部功能、并获取拼接好的提示与结果。
-
主要功能点
- 资源管理:暴露系统状态等资源,供客户端查询与渲染上下文。
- 工具执行:注册并实现一组工具函数,支持容器生命周期、镜像、网络、卷等操作的调用。
- 任务与异步构建:支持异步构建(build_image)并通过 build_id 查询构建状态。
- JSON-RPC/协议接入:通过 MCP 框架处理请求与响应,面向 LLM 客户端提供一致的接口。
- 多传输与会话能力:按照 MCP 的设计,支持多种传输协议以服务 LLM 客户端。
- 安全与错误处理:通过自定义异常封装 CLI 调用失败信息,提供清晰的错误返回。
-
安装步骤
- 安装前提
- Python 3.11 及以上
- 需要的本地依赖(如 fastmcp、container CLI 等)按项目需求安装
- Apple Container CLI(container)及相关依赖已在系统中可用
- 启动服务器(本地开发/测试时可直接运行)
- 你可以通过 Python 模块方式启动 MCP 服务器,命令示例为: python -m apple_container_mcp.server
- 启动后,服务器将作为 MCP 服务对外提供资源与工具的访问能力,等待来自 MCP 客户端的请求。
- 安装前提
-
服务器配置(MCP 客户端需要的配置示例) 说明:MCP 客户端在连接 MCP 服务器时,需要提供启动服务器的命令及参数信息(以 JSON 形式),描述服务器名称、启动命令以及参数,便于客户端发起连接并通过该服务器提供的能力进行交互。以下配置示例基于该仓库的实现信息,实际使用时请将路径替换为你本地环境中的实际路径。
{ "mcpServers": { "apple-container-mcp": { "name": "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" ] } } }
- 基本使用方法
- 启动后,LLM 客户端(如 Claude、Cursor、VSCode 插件等)可通过上述配置连接到 MCP 服务器,进而:
- 读取资源(如系统状态等)以获得上下文信息
- 调用注册的工具执行容器、镜像、网络、卷等操作
- 请求与渲染提示模板,完成对话中的上下文驱动交互
- 常见操作场景包括检查服务器状态、拉取镜像、运行容器、查看日志、创建网络/卷等。服务器侧会返回标准化的 JSON 结果,便于客户端对接后续逻辑。
- 启动后,LLM 客户端(如 Claude、Cursor、VSCode 插件等)可通过上述配置连接到 MCP 服务器,进而: