{"_id":"@4ears-me/arcane-mcp","name":"@4ears-me/arcane-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@4ears-me/arcane-mcp","version":"1.0.0","type":"module","description":"MCP server for controlling Arcane Docker Management","main":"dist/index.js","bin":{"arcane-mcp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsx src/index.ts","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","arcane","docker","container","docker-management"],"author":"","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.23.0"},"devDependencies":{"@types/node":"^25.3.0","@vitest/coverage-v8":"^4.0.18","tsx":"^4.19.0","typescript":"^5.7.0","vitest":"^4.0.18"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"_id":"@4ears-me/arcane-mcp@1.0.0","gitHead":"85a00ca95e18969fa19c26a2649e67814d21f7fb","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-HwNYekRipU8bfPrjh2Fe5J9HLq88omg5oDSFZFXxEg2ZGqi2hsZ0lQ1FOF1s8LsYn0o8ZJ95OoYC1nYtbDPtaQ==","shasum":"95a6fde4381f61388dae5b1f079842125ce5ea39","tarball":"https://registry.npmjs.org/@4ears-me/arcane-mcp/-/arcane-mcp-1.0.0.tgz","fileCount":41,"unpackedSize":158048,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAhdFEd0mEs78+ZYzovHn7KRq+0k/acMmmQno+UoxfXJAiEAiIFEupETvGA0pX62c/YEAjHmw3n3MOL/mWn6jOVUQmw="}]},"_npmUser":{"name":"btajuddin","email":"brian@briantajuddin.com"},"directories":{},"maintainers":[{"name":"btajuddin","email":"brian@briantajuddin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/arcane-mcp_1.0.0_1771480800957_0.33423879356144726"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-19T06:00:00.866Z","1.0.0":"2026-02-19T06:00:01.100Z","modified":"2026-02-19T06:00:01.333Z"},"maintainers":[{"name":"btajuddin","email":"brian@briantajuddin.com"}],"description":"MCP server for controlling Arcane Docker Management","keywords":["mcp","model-context-protocol","arcane","docker","container","docker-management"],"license":"MIT","readme":"# Arcane MCP\n\nA Model Context Protocol (MCP) server for controlling [Arcane](https://github.com/getarcaneapp/arcane/) Docker Management. This server provides comprehensive access to the Arcane API, enabling AI assistants to manage Docker containers, images, volumes, networks, and compose projects through the MCP protocol.\n\n## Features\n\n- **Container Management**: List, create, start, stop, restart, and delete containers\n- **Image Management**: List, pull, remove, and prune images\n- **Volume Management**: Full volume lifecycle including backups, restores, and file browsing\n- **Network Management**: Create, list, and remove Docker networks\n- **Project/Compose Support**: Deploy and manage Docker Compose projects\n- **Environment Management**: Multi-environment support with connection testing\n- **System Monitoring**: Health checks, version info, and system-wide operations\n\n## Prerequisites\n\n- Node.js 18 or higher\n- An Arcane instance running and accessible\n- Either an API key or username/password credentials for authentication\n\n## Installation\n\n```bash\nnpm install\nnpm run build\n```\n\n## Configuration\n\nThe server is configured via environment variables:\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `ARCANE_API_URL` | Yes | Base URL of the Arcane API (e.g., `https://arcane.example.com`) |\n| `ARCANE_API_KEY` | No* | API key for authentication |\n| `ARCANE_USERNAME` | No* | Username for login |\n| `ARCANE_PASSWORD` | No* | Password for login |\n\n*Either `ARCANE_API_KEY` or both `ARCANE_USERNAME` and `ARCANE_PASSWORD` must be provided.\n\n## Usage\n\n```bash\nnpm start\n```\n\nFor development with hot reload:\n\n```bash\nnpm run dev\n```\n\n## Integration with MCP Clients\n\n### Claude Desktop\n\nAdd to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"arcane\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/@4ears-me/arcane-mcp/dist/index.js\"],\n      \"env\": {\n        \"ARCANE_API_URL\": \"https://arcane.example.com\",\n        \"ARCANE_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to your Cursor MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"arcane\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/@4ears-me/arcane-mcp/dist/index.js\"],\n      \"env\": {\n        \"ARCANE_API_URL\": \"https://arcane.example.com\",\n        \"ARCANE_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Using with npx\n\n```json\n{\n  \"mcpServers\": {\n    \"arcane\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@4ears-me/arcane-mcp\"],\n      \"env\": {\n        \"ARCANE_API_URL\": \"https://arcane.example.com\",\n        \"ARCANE_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Environment Tools (6 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_list_environments` | List all environments with optional search filter |\n| `arcane_get_environment` | Get details for a specific environment by ID |\n| `arcane_create_environment` | Create a new environment |\n| `arcane_update_environment` | Update an existing environment |\n| `arcane_delete_environment` | Delete an environment by ID |\n| `arcane_test_environment` | Test the connection to an environment |\n\n### Container Tools (8 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_list_containers` | List containers in an environment |\n| `arcane_get_container` | Get details of a specific container |\n| `arcane_create_container` | Create a new container with full configuration options |\n| `arcane_start_container` | Start a container |\n| `arcane_stop_container` | Stop a container |\n| `arcane_restart_container` | Restart a container |\n| `arcane_delete_container` | Delete/remove a container |\n| `arcane_get_container_counts` | Get container status counts for an environment |\n\n### Image Tools (6 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_list_images` | List images in an environment |\n| `arcane_get_image` | Get details of a specific image |\n| `arcane_pull_image` | Pull an image from a registry |\n| `arcane_remove_image` | Remove an image from the environment |\n| `arcane_prune_images` | Prune unused images from the environment |\n| `arcane_get_image_counts` | Get image usage counts for an environment |\n\n### Volume Tools (11 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_list_volumes` | List all volumes in an environment |\n| `arcane_get_volume` | Get details of a specific volume |\n| `arcane_create_volume` | Create a new volume |\n| `arcane_remove_volume` | Remove a volume from an environment |\n| `arcane_prune_volumes` | Prune unused volumes in an environment |\n| `arcane_browse_volume` | Browse files in a volume |\n| `arcane_get_volume_file` | Get content of a file from a volume |\n| `arcane_get_volume_sizes` | Get disk sizes for all volumes |\n| `arcane_list_volume_backups` | List backups for a volume |\n| `arcane_create_volume_backup` | Create a backup of a volume |\n| `arcane_restore_volume_backup` | Restore a volume from a backup |\n\n### Network Tools (5 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_list_networks` | List networks in an environment |\n| `arcane_get_network` | Get details of a specific network |\n| `arcane_create_network` | Create a new network |\n| `arcane_remove_network` | Remove a network from an environment |\n| `arcane_prune_networks` | Prune unused networks from an environment |\n\n### Project Tools (11 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_list_projects` | List Docker Compose projects in an environment |\n| `arcane_get_project` | Get details of a specific project |\n| `arcane_create_project` | Create a new Docker Compose project |\n| `arcane_update_project` | Update an existing project |\n| `arcane_delete_project` | Delete/destroy a project |\n| `arcane_deploy_project` | Deploy a project (docker-compose up) |\n| `arcane_stop_project` | Stop/bring down a project |\n| `arcane_restart_project` | Restart a project |\n| `arcane_redeploy_project` | Redeploy a project |\n| `arcane_pull_project_images` | Pull images for a project |\n| `arcane_get_project_counts` | Get project status counts for an environment |\n\n### System Tools (5 tools)\n\n| Tool | Description |\n|------|-------------|\n| `arcane_get_system_info` | Get Arcane system information |\n| `arcane_get_docker_info` | Get Docker daemon information for an environment |\n| `arcane_prune_system` | Perform system-wide prune on an environment |\n| `arcane_get_health` | Check the health status of the Arcane API |\n| `arcane_get_version` | Get the Arcane version information |\n\n## Development\n\n| Command | Description |\n|---------|-------------|\n| `npm run build` | Compile TypeScript to JavaScript |\n| `npm run dev` | Run in development mode with tsx |\n| `npm start` | Run the compiled server |\n\n## License\n\nMIT","readmeFilename":"README.md","_rev":"1-407410c62ee3905f3ea463925eed3694"}