container-manager-mcp 1.0.5__py3-none-any.whl → 1.0.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of container-manager-mcp might be problematic. Click here for more details.
- container_manager_mcp/container_manager.py +20 -16
- {container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/METADATA +2 -2
- container_manager_mcp-1.0.7.dist-info/RECORD +10 -0
- container_manager_mcp-1.0.5.dist-info/RECORD +0 -10
- {container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/WHEEL +0 -0
- {container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/entry_points.txt +0 -0
- {container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/licenses/LICENSE +0 -0
- {container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/top_level.txt +0 -0
|
@@ -510,14 +510,17 @@ class DockerManager(ContainerManagerBase):
|
|
|
510
510
|
self.log_action("run_container", params, result)
|
|
511
511
|
return result
|
|
512
512
|
attrs = container.attrs
|
|
513
|
-
ports = attrs.get("NetworkSettings", {}).get("Ports", {})
|
|
514
513
|
port_mappings = []
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
514
|
+
if ports: # Check if ports is not None
|
|
515
|
+
network_settings = attrs.get("NetworkSettings", {})
|
|
516
|
+
container_ports = network_settings.get("Ports", {})
|
|
517
|
+
if container_ports: # Check if Ports dictionary is not empty
|
|
518
|
+
for container_port, host_ports in container_ports.items():
|
|
519
|
+
if host_ports: # Check if host_ports is not None or empty
|
|
520
|
+
for hp in host_ports:
|
|
521
|
+
port_mappings.append(
|
|
522
|
+
f"{hp.get('HostIp', '0.0.0.0')}:{hp.get('HostPort')}->{container_port}"
|
|
523
|
+
)
|
|
521
524
|
created = attrs.get("Created", None)
|
|
522
525
|
created_str = self._parse_timestamp(created)
|
|
523
526
|
result = {
|
|
@@ -1069,6 +1072,7 @@ class PodmanManager(ContainerManagerBase):
|
|
|
1069
1072
|
raise RuntimeError("Podman Machine is not running on Windows system")
|
|
1070
1073
|
socket_candidates.extend(
|
|
1071
1074
|
[
|
|
1075
|
+
"tcp://127.0.0.1:8080",
|
|
1072
1076
|
"unix:///run/podman/podman.sock",
|
|
1073
1077
|
"npipe:////./pipe/docker_engine",
|
|
1074
1078
|
"unix:///mnt/wsl/podman-sockets/podman-machine-default/podman-user.sock",
|
|
@@ -1086,9 +1090,6 @@ class PodmanManager(ContainerManagerBase):
|
|
|
1086
1090
|
]
|
|
1087
1091
|
)
|
|
1088
1092
|
for url in socket_candidates:
|
|
1089
|
-
if not os.path.exists(url):
|
|
1090
|
-
self.logger.debug(f"Socket {url} does not exist")
|
|
1091
|
-
continue
|
|
1092
1093
|
client = self._try_connect(url)
|
|
1093
1094
|
if client:
|
|
1094
1095
|
return url
|
|
@@ -1433,12 +1434,15 @@ class PodmanManager(ContainerManagerBase):
|
|
|
1433
1434
|
self.log_action("run_container", params, result)
|
|
1434
1435
|
return result
|
|
1435
1436
|
attrs = container.attrs
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1437
|
+
port_mappings = []
|
|
1438
|
+
if ports: # Check if ports is not None
|
|
1439
|
+
container_ports = attrs.get("Ports", [])
|
|
1440
|
+
if container_ports: # Check if Ports list is not empty
|
|
1441
|
+
port_mappings = [
|
|
1442
|
+
f"{p.get('host_ip', '0.0.0.0')}:{p.get('host_port')}->{p.get('container_port')}/{p.get('protocol', 'tcp')}"
|
|
1443
|
+
for p in container_ports
|
|
1444
|
+
if p.get("host_port")
|
|
1445
|
+
]
|
|
1442
1446
|
created = attrs.get("Created", None)
|
|
1443
1447
|
created_str = self._parse_timestamp(created)
|
|
1444
1448
|
result = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: container-manager-mcp
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.7
|
|
4
4
|
Summary: Container Manager manage Docker, Docker Swarm, and Podman containers as an MCP Server
|
|
5
5
|
Author-email: Audel Rouhi <knucklessg1@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -48,7 +48,7 @@ Dynamic: license-file
|
|
|
48
48
|

|
|
49
49
|

|
|
50
50
|
|
|
51
|
-
*Version: 1.0.
|
|
51
|
+
*Version: 1.0.7*
|
|
52
52
|
|
|
53
53
|
Container Manager MCP Server provides a robust interface to manage Docker and Podman containers, networks, volumes, and Docker Swarm services through a FastMCP server, enabling programmatic and remote container management.
|
|
54
54
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
container_manager_mcp/__init__.py,sha256=N3bhKd_oh5YmBBl9N1omfZgaXhJyP0vOzH4VKxs68_g,506
|
|
2
|
+
container_manager_mcp/__main__.py,sha256=zic5tX336HG8LfdzQQ0sDVx-tMSOsgOZCtaxHWgJ4Go,134
|
|
3
|
+
container_manager_mcp/container_manager.py,sha256=ec-WKb6jFmxepyYFUjZYJFO3Yl_BfXLgQyrVx1pZDm0,89438
|
|
4
|
+
container_manager_mcp/container_manager_mcp.py,sha256=E3FOTFILyYYoJF3Erkpl5zapkiDi2pKlJlkZByc-8QE,47361
|
|
5
|
+
container_manager_mcp-1.0.7.dist-info/licenses/LICENSE,sha256=Z1xmcrPHBnGCETO_LLQJUeaSNBSnuptcDVTt4kaPUOE,1060
|
|
6
|
+
container_manager_mcp-1.0.7.dist-info/METADATA,sha256=sEXYz6HgQXLcexwBDx_kV5fUwJ2EkaJy2P7mK9-I1Cw,8238
|
|
7
|
+
container_manager_mcp-1.0.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
+
container_manager_mcp-1.0.7.dist-info/entry_points.txt,sha256=I23pXcCgAShlfYbENzs3kbw3l1lU9Gy7lODPfRqeeiA,156
|
|
9
|
+
container_manager_mcp-1.0.7.dist-info/top_level.txt,sha256=B7QQLOd9mBdu0lsPKqyu4T8-zUtbqKzQJbMbtAzoozU,22
|
|
10
|
+
container_manager_mcp-1.0.7.dist-info/RECORD,,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
container_manager_mcp/__init__.py,sha256=N3bhKd_oh5YmBBl9N1omfZgaXhJyP0vOzH4VKxs68_g,506
|
|
2
|
-
container_manager_mcp/__main__.py,sha256=zic5tX336HG8LfdzQQ0sDVx-tMSOsgOZCtaxHWgJ4Go,134
|
|
3
|
-
container_manager_mcp/container_manager.py,sha256=oIGIPQY76s44mawuwOTj7qxZFMVua65OBnsAPMZAyDM,89008
|
|
4
|
-
container_manager_mcp/container_manager_mcp.py,sha256=E3FOTFILyYYoJF3Erkpl5zapkiDi2pKlJlkZByc-8QE,47361
|
|
5
|
-
container_manager_mcp-1.0.5.dist-info/licenses/LICENSE,sha256=Z1xmcrPHBnGCETO_LLQJUeaSNBSnuptcDVTt4kaPUOE,1060
|
|
6
|
-
container_manager_mcp-1.0.5.dist-info/METADATA,sha256=bGXvheCgp70Kri61o8fSAsQagpB48vwgc1fZTOv9P7c,8238
|
|
7
|
-
container_manager_mcp-1.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
8
|
-
container_manager_mcp-1.0.5.dist-info/entry_points.txt,sha256=I23pXcCgAShlfYbENzs3kbw3l1lU9Gy7lODPfRqeeiA,156
|
|
9
|
-
container_manager_mcp-1.0.5.dist-info/top_level.txt,sha256=B7QQLOd9mBdu0lsPKqyu4T8-zUtbqKzQJbMbtAzoozU,22
|
|
10
|
-
container_manager_mcp-1.0.5.dist-info/RECORD,,
|
|
File without changes
|
{container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{container_manager_mcp-1.0.5.dist-info → container_manager_mcp-1.0.7.dist-info}/top_level.txt
RENAMED
|
File without changes
|