Docker管理协议服务

Arcane MCP是一个用于控制Arcane Docker管理的模型上下文协议(MCP)服务器,提供对Arcane API的全面访问,使AI助手能够通过MCP协议管理Docker容器、镜像、卷、网络和Compose项目。

  • by 4ears-me
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 4ears-me/arcane-mcp

使用说明

奥术MCP

一种用于控制的模型上下文协议(MCP)服务器 奥术 Docker管理。该服务器提供对Arcane API的全面访问,使人工智能助手能够通过MCP协议管理Docker容器、图像、卷、网络和撰写项目。

特性

  • 容器管理:列出、创建、启动、停止、重新启动和删除容器
  • 图像管理:列出、拉取、删除和修剪图像
  • 卷管理:完整的卷生命周期,包括备份、恢复和文件浏览
  • 网络管理:创建、列出和删除Docker网络
  • 项目/撰写支持:部署和管理Docker Compose项目
  • 环境管理:具有连接测试的多环境支持
  • 系统监控:健康检查、版本信息和全系统操作

先决条件

  • Node.js 18或更高版本
  • 一个运行且可访问的奥术实例
  • 用于身份验证的API密钥或用户名/密码凭据

安装

npm install
npm run build

配置

服务器是通过环境变量配置的:

变量 必填 描述
ARCANE_API_URL 是 Arcane API的基本URL(例如。, https://arcane.example.com)
ARCANE_API_KEY 没有用于身份验证的* API密钥
ARCANE_USERNAME 否* 登录用户名
ARCANE_PASSWORD 否* 登录密码

*要么 ARCANE_API_KEY 或两者 ARCANE_USERNAME 和 ARCANE_PASSWORD 必须提供。

用法

npm start

对于热重载开发:

npm run dev

与MCP客户端集成

克劳德桌面

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "arcane": {
      "command": "node",
      "args": ["/path/to/@4ears-me/arcane-mcp/dist/index.js"],
      "env": {
        "ARCANE_API_URL": "https://arcane.example.com",
        "ARCANE_API_KEY": "your-api-key"
      }
    }
  }
}

光标

添加到光标MCP设置中:

{
  "mcpServers": {
    "arcane": {
      "command": "node",
      "args": ["/path/to/@4ears-me/arcane-mcp/dist/index.js"],
      "env": {
        "ARCANE_API_URL": "https://arcane.example.com",
        "ARCANE_API_KEY": "your-api-key"
      }
    }
  }
}

与npx一起使用

{
  "mcpServers": {
    "arcane": {
      "command": "npx",
      "args": ["-y", "@4ears-me/arcane-mcp"],
      "env": {
        "ARCANE_API_URL": "https://arcane.example.com",
        "ARCANE_API_KEY": "your-api-key"
      }
    }
  }
}

可用工具

环境工具(6个工具)

工具 说明
arcane_list_environments 列出所有具有可选搜索筛选器的环境
arcane_get_environment 按ID获取特定环境的详细信息
arcane_create_environment 创建新环境
arcane_update_environment 更新现有环境
arcane_delete_environment 按ID删除环境
arcane_test_environment 测试与环境的连接

容器工具(8个工具)

工具 说明
arcane_list_containers 列出环境中的容器
arcane_get_container 获取特定容器的详细信息
arcane_create_container 创建一个具有完整配置选项的新容器
arcane_start_container 启动容器
arcane_stop_container 停止容器
arcane_restart_container 重新启动容器
arcane_delete_container 删除/移除容器
arcane_get_container_counts 获取环境的容器状态计数

图像工具(6个工具)

工具 说明
arcane_list_images 列出环境中的图像
arcane_get_image 获取特定图像的详细信息
arcane_pull_image 从注册表中提取图像
arcane_remove_image 从环境中删除图像
arcane_prune_images 从环境中删除未使用的图像
arcane_get_image_counts 获取环境的图像使用计数

卷工具(11个工具)

工具 说明
arcane_list_volumes 列出环境中的所有卷
arcane_get_volume 获取特定卷的详细信息
arcane_create_volume 创建新卷
arcane_remove_volume 从环境中删除卷
arcane_prune_volumes 修剪环境中未使用的卷
arcane_browse_volume 浏览卷中的文件
arcane_get_volume_file 从卷中获取文件内容
arcane_get_volume_sizes 获取所有卷的磁盘大小
arcane_list_volume_backups 列出卷的备份
arcane_create_volume_backup 创建卷的备份
arcane_restore_volume_backup 从备份还原卷

网络工具(5个工具)

工具 说明
arcane_list_networks 列出环境中的网络
arcane_get_network 获取特定网络的详细信息
arcane_create_network 创建新网络
arcane_remove_network 从环境中删除网络
arcane_prune_networks 从环境中删除未使用的网络

项目工具(11个工具)

工具 说明
arcane_list_projects 在环境中列出Docker Compose项目
arcane_get_project 获取特定项目的详细信息
arcane_create_project 创建一个新的Docker Compose项目
arcane_update_project 更新现有项目
arcane_delete_project 删除/销毁项目
arcane_deploy_project 部署项目(docker compose up)
arcane_stop_project 停止/终止一个项目
arcane_restart_project 重新启动项目
arcane_redeploy_project 重新部署项目
arcane_pull_project_images 为项目提取图像
arcane_get_project_counts 获取环境的项目状态计数

系统工具(5个工具)

工具 说明
arcane_get_system_info 获取奥术系统信息
arcane_get_docker_info 获取环境的Docker守护进程信息
arcane_prune_system 在环境中执行系统范围的修剪
arcane_get_health 检查Arcane API的运行状况
arcane_get_version 获取奥术版本信息

发展

命令 描述
npm run build 将TypeScript编译为JavaScript
npm run dev 使用tsx在开发模式下运行
npm start 运行已编译的服务器

许可证

麻省理工学院