container-manager-mcp 0.0.11__py3-none-any.whl → 1.0.0__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.
- container_manager_mcp/container_manager.py +508 -524
- container_manager_mcp/container_manager_mcp.py +110 -88
- {container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/METADATA +2 -2
- container_manager_mcp-1.0.0.dist-info/RECORD +10 -0
- container_manager_mcp-0.0.11.dist-info/RECORD +0 -10
- {container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/WHEEL +0 -0
- {container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/entry_points.txt +0 -0
- {container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/licenses/LICENSE +0 -0
- {container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env python
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
|
-
import
|
4
|
+
import argparse
|
5
5
|
import os
|
6
6
|
import sys
|
7
7
|
import logging
|
@@ -41,6 +41,7 @@ def to_boolean(string):
|
|
41
41
|
|
42
42
|
environment_silent = os.environ.get("SILENT", False)
|
43
43
|
environment_log_file = os.environ.get("LOG_FILE", None)
|
44
|
+
environment_container_manager_type = os.environ.get("CONTAINER_MANAGER_TYPE", None)
|
44
45
|
|
45
46
|
if environment_silent:
|
46
47
|
environment_silent = to_boolean(environment_silent)
|
@@ -59,8 +60,9 @@ if environment_silent:
|
|
59
60
|
tags={"container_management"},
|
60
61
|
)
|
61
62
|
async def get_version(
|
62
|
-
manager_type: str = Field(
|
63
|
-
description="Container manager: docker, podman
|
63
|
+
manager_type: Optional[str] = Field(
|
64
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
65
|
+
default=environment_container_manager_type,
|
64
66
|
),
|
65
67
|
silent: Optional[bool] = Field(
|
66
68
|
description="Suppress output", default=environment_silent
|
@@ -95,8 +97,9 @@ async def get_version(
|
|
95
97
|
tags={"container_management"},
|
96
98
|
)
|
97
99
|
async def get_info(
|
98
|
-
manager_type: str = Field(
|
99
|
-
description="Container manager: docker, podman
|
100
|
+
manager_type: Optional[str] = Field(
|
101
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
102
|
+
default=environment_container_manager_type,
|
100
103
|
),
|
101
104
|
silent: Optional[bool] = Field(
|
102
105
|
description="Suppress output", default=environment_silent
|
@@ -131,8 +134,9 @@ async def get_info(
|
|
131
134
|
tags={"container_management"},
|
132
135
|
)
|
133
136
|
async def list_images(
|
134
|
-
manager_type: str = Field(
|
135
|
-
description="Container manager: docker, podman
|
137
|
+
manager_type: Optional[str] = Field(
|
138
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
139
|
+
default=environment_container_manager_type,
|
136
140
|
),
|
137
141
|
silent: Optional[bool] = Field(
|
138
142
|
description="Suppress output", default=environment_silent
|
@@ -172,8 +176,9 @@ async def pull_image(
|
|
172
176
|
platform: Optional[str] = Field(
|
173
177
|
description="Platform (e.g., linux/amd64)", default=None
|
174
178
|
),
|
175
|
-
manager_type: str = Field(
|
176
|
-
description="Container manager: docker, podman
|
179
|
+
manager_type: Optional[str] = Field(
|
180
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
181
|
+
default=environment_container_manager_type,
|
177
182
|
),
|
178
183
|
silent: Optional[bool] = Field(
|
179
184
|
description="Suppress output", default=environment_silent
|
@@ -210,8 +215,9 @@ async def pull_image(
|
|
210
215
|
async def remove_image(
|
211
216
|
image: str = Field(description="Image name or ID to remove"),
|
212
217
|
force: bool = Field(description="Force removal", default=False),
|
213
|
-
manager_type: str = Field(
|
214
|
-
description="Container manager: docker, podman
|
218
|
+
manager_type: Optional[str] = Field(
|
219
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
220
|
+
default=environment_container_manager_type,
|
215
221
|
),
|
216
222
|
silent: Optional[bool] = Field(
|
217
223
|
description="Suppress output", default=environment_silent
|
@@ -249,8 +255,9 @@ async def list_containers(
|
|
249
255
|
all: bool = Field(
|
250
256
|
description="Show all containers (default running only)", default=False
|
251
257
|
),
|
252
|
-
manager_type: str = Field(
|
253
|
-
description="Container manager: docker, podman
|
258
|
+
manager_type: Optional[str] = Field(
|
259
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
260
|
+
default=environment_container_manager_type,
|
254
261
|
),
|
255
262
|
silent: Optional[bool] = Field(
|
256
263
|
description="Suppress output", default=environment_silent
|
@@ -301,8 +308,9 @@ async def run_container(
|
|
301
308
|
environment: Optional[Dict[str, str]] = Field(
|
302
309
|
description="Environment variables", default=None
|
303
310
|
),
|
304
|
-
manager_type: str = Field(
|
305
|
-
description="Container manager: docker, podman
|
311
|
+
manager_type: Optional[str] = Field(
|
312
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
313
|
+
default=environment_container_manager_type,
|
306
314
|
),
|
307
315
|
silent: Optional[bool] = Field(
|
308
316
|
description="Suppress output", default=environment_silent
|
@@ -341,8 +349,9 @@ async def run_container(
|
|
341
349
|
async def stop_container(
|
342
350
|
container_id: str = Field(description="Container ID or name"),
|
343
351
|
timeout: int = Field(description="Timeout in seconds", default=10),
|
344
|
-
manager_type: str = Field(
|
345
|
-
description="Container manager: docker, podman
|
352
|
+
manager_type: Optional[str] = Field(
|
353
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
354
|
+
default=environment_container_manager_type,
|
346
355
|
),
|
347
356
|
silent: Optional[bool] = Field(
|
348
357
|
description="Suppress output", default=environment_silent
|
@@ -379,8 +388,9 @@ async def stop_container(
|
|
379
388
|
async def remove_container(
|
380
389
|
container_id: str = Field(description="Container ID or name"),
|
381
390
|
force: bool = Field(description="Force removal", default=False),
|
382
|
-
manager_type: str = Field(
|
383
|
-
description="Container manager: docker, podman
|
391
|
+
manager_type: Optional[str] = Field(
|
392
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
393
|
+
default=environment_container_manager_type,
|
384
394
|
),
|
385
395
|
silent: Optional[bool] = Field(
|
386
396
|
description="Suppress output", default=environment_silent
|
@@ -419,8 +429,9 @@ async def get_container_logs(
|
|
419
429
|
tail: str = Field(
|
420
430
|
description="Number of lines to show from the end (or 'all')", default="all"
|
421
431
|
),
|
422
|
-
manager_type: str = Field(
|
423
|
-
description="Container manager: docker, podman
|
432
|
+
manager_type: Optional[str] = Field(
|
433
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
434
|
+
default=environment_container_manager_type,
|
424
435
|
),
|
425
436
|
silent: Optional[bool] = Field(
|
426
437
|
description="Suppress output", default=environment_silent
|
@@ -458,8 +469,9 @@ async def exec_in_container(
|
|
458
469
|
container_id: str = Field(description="Container ID or name"),
|
459
470
|
command: List[str] = Field(description="Command to execute"),
|
460
471
|
detach: bool = Field(description="Detach execution", default=False),
|
461
|
-
manager_type: str = Field(
|
462
|
-
description="Container manager: docker, podman
|
472
|
+
manager_type: Optional[str] = Field(
|
473
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
474
|
+
default=environment_container_manager_type,
|
463
475
|
),
|
464
476
|
silent: Optional[bool] = Field(
|
465
477
|
description="Suppress output", default=environment_silent
|
@@ -494,8 +506,9 @@ async def exec_in_container(
|
|
494
506
|
tags={"container_management"},
|
495
507
|
)
|
496
508
|
async def list_volumes(
|
497
|
-
manager_type: str = Field(
|
498
|
-
description="Container manager: docker, podman
|
509
|
+
manager_type: Optional[str] = Field(
|
510
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
511
|
+
default=environment_container_manager_type,
|
499
512
|
),
|
500
513
|
silent: Optional[bool] = Field(
|
501
514
|
description="Suppress output", default=environment_silent
|
@@ -531,8 +544,9 @@ async def list_volumes(
|
|
531
544
|
)
|
532
545
|
async def create_volume(
|
533
546
|
name: str = Field(description="Volume name"),
|
534
|
-
manager_type: str = Field(
|
535
|
-
description="Container manager: docker, podman
|
547
|
+
manager_type: Optional[str] = Field(
|
548
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
549
|
+
default=environment_container_manager_type,
|
536
550
|
),
|
537
551
|
silent: Optional[bool] = Field(
|
538
552
|
description="Suppress output", default=environment_silent
|
@@ -569,8 +583,9 @@ async def create_volume(
|
|
569
583
|
async def remove_volume(
|
570
584
|
name: str = Field(description="Volume name"),
|
571
585
|
force: bool = Field(description="Force removal", default=False),
|
572
|
-
manager_type: str = Field(
|
573
|
-
description="Container manager: docker, podman
|
586
|
+
manager_type: Optional[str] = Field(
|
587
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
588
|
+
default=environment_container_manager_type,
|
574
589
|
),
|
575
590
|
silent: Optional[bool] = Field(
|
576
591
|
description="Suppress output", default=environment_silent
|
@@ -605,8 +620,9 @@ async def remove_volume(
|
|
605
620
|
tags={"container_management"},
|
606
621
|
)
|
607
622
|
async def list_networks(
|
608
|
-
manager_type: str = Field(
|
609
|
-
description="Container manager: docker, podman
|
623
|
+
manager_type: Optional[str] = Field(
|
624
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
625
|
+
default=environment_container_manager_type,
|
610
626
|
),
|
611
627
|
silent: Optional[bool] = Field(
|
612
628
|
description="Suppress output", default=environment_silent
|
@@ -643,8 +659,9 @@ async def list_networks(
|
|
643
659
|
async def create_network(
|
644
660
|
name: str = Field(description="Network name"),
|
645
661
|
driver: str = Field(description="Network driver (e.g., bridge)", default="bridge"),
|
646
|
-
manager_type: str = Field(
|
647
|
-
description="Container manager: docker, podman
|
662
|
+
manager_type: Optional[str] = Field(
|
663
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
664
|
+
default=environment_container_manager_type,
|
648
665
|
),
|
649
666
|
silent: Optional[bool] = Field(
|
650
667
|
description="Suppress output", default=environment_silent
|
@@ -680,8 +697,9 @@ async def create_network(
|
|
680
697
|
)
|
681
698
|
async def remove_network(
|
682
699
|
network_id: str = Field(description="Network ID or name"),
|
683
|
-
manager_type: str = Field(
|
684
|
-
description="Container manager: docker, podman
|
700
|
+
manager_type: Optional[str] = Field(
|
701
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
702
|
+
default=environment_container_manager_type,
|
685
703
|
),
|
686
704
|
silent: Optional[bool] = Field(
|
687
705
|
description="Suppress output", default=environment_silent
|
@@ -722,7 +740,10 @@ async def init_swarm(
|
|
722
740
|
advertise_addr: Optional[str] = Field(
|
723
741
|
description="Advertise address", default=None
|
724
742
|
),
|
725
|
-
manager_type: str = Field(
|
743
|
+
manager_type: Optional[str] = Field(
|
744
|
+
description="Container manager: must be docker for swarm (default: auto-detect)",
|
745
|
+
default=environment_container_manager_type,
|
746
|
+
),
|
726
747
|
silent: Optional[bool] = Field(
|
727
748
|
description="Suppress output", default=environment_silent
|
728
749
|
),
|
@@ -733,7 +754,7 @@ async def init_swarm(
|
|
733
754
|
description="MCP context for progress reporting", default=None
|
734
755
|
),
|
735
756
|
) -> Dict:
|
736
|
-
if manager_type != "docker":
|
757
|
+
if manager_type and manager_type != "docker":
|
737
758
|
raise ValueError("Swarm operations are only supported on Docker")
|
738
759
|
logger = logging.getLogger("ContainerManager")
|
739
760
|
logger.debug(
|
@@ -759,7 +780,10 @@ async def init_swarm(
|
|
759
780
|
)
|
760
781
|
async def leave_swarm(
|
761
782
|
force: bool = Field(description="Force leave", default=False),
|
762
|
-
manager_type: str = Field(
|
783
|
+
manager_type: Optional[str] = Field(
|
784
|
+
description="Container manager: must be docker for swarm (default: auto-detect)",
|
785
|
+
default=environment_container_manager_type,
|
786
|
+
),
|
763
787
|
silent: Optional[bool] = Field(
|
764
788
|
description="Suppress output", default=environment_silent
|
765
789
|
),
|
@@ -770,7 +794,7 @@ async def leave_swarm(
|
|
770
794
|
description="MCP context for progress reporting", default=None
|
771
795
|
),
|
772
796
|
) -> Dict:
|
773
|
-
if manager_type != "docker":
|
797
|
+
if manager_type and manager_type != "docker":
|
774
798
|
raise ValueError("Swarm operations are only supported on Docker")
|
775
799
|
logger = logging.getLogger("ContainerManager")
|
776
800
|
logger.debug(
|
@@ -795,7 +819,10 @@ async def leave_swarm(
|
|
795
819
|
tags={"container_management", "swarm"},
|
796
820
|
)
|
797
821
|
async def list_nodes(
|
798
|
-
manager_type: str = Field(
|
822
|
+
manager_type: Optional[str] = Field(
|
823
|
+
description="Container manager: must be docker for swarm (default: auto-detect)",
|
824
|
+
default=environment_container_manager_type,
|
825
|
+
),
|
799
826
|
silent: Optional[bool] = Field(
|
800
827
|
description="Suppress output", default=environment_silent
|
801
828
|
),
|
@@ -806,7 +833,7 @@ async def list_nodes(
|
|
806
833
|
description="MCP context for progress reporting", default=None
|
807
834
|
),
|
808
835
|
) -> List[Dict]:
|
809
|
-
if manager_type != "docker":
|
836
|
+
if manager_type and manager_type != "docker":
|
810
837
|
raise ValueError("Swarm operations are only supported on Docker")
|
811
838
|
logger = logging.getLogger("ContainerManager")
|
812
839
|
logger.debug(
|
@@ -831,7 +858,10 @@ async def list_nodes(
|
|
831
858
|
tags={"container_management", "swarm"},
|
832
859
|
)
|
833
860
|
async def list_services(
|
834
|
-
manager_type: str = Field(
|
861
|
+
manager_type: Optional[str] = Field(
|
862
|
+
description="Container manager: must be docker for swarm (default: auto-detect)",
|
863
|
+
default=environment_container_manager_type,
|
864
|
+
),
|
835
865
|
silent: Optional[bool] = Field(
|
836
866
|
description="Suppress output", default=environment_silent
|
837
867
|
),
|
@@ -842,7 +872,7 @@ async def list_services(
|
|
842
872
|
description="MCP context for progress reporting", default=None
|
843
873
|
),
|
844
874
|
) -> List[Dict]:
|
845
|
-
if manager_type != "docker":
|
875
|
+
if manager_type and manager_type != "docker":
|
846
876
|
raise ValueError("Swarm operations are only supported on Docker")
|
847
877
|
logger = logging.getLogger("ContainerManager")
|
848
878
|
logger.debug(
|
@@ -876,7 +906,10 @@ async def create_service(
|
|
876
906
|
mounts: Optional[List[str]] = Field(
|
877
907
|
description="Mounts [source:target:mode]", default=None
|
878
908
|
),
|
879
|
-
manager_type: str = Field(
|
909
|
+
manager_type: Optional[str] = Field(
|
910
|
+
description="Container manager: must be docker for swarm (default: auto-detect)",
|
911
|
+
default=environment_container_manager_type,
|
912
|
+
),
|
880
913
|
silent: Optional[bool] = Field(
|
881
914
|
description="Suppress output", default=environment_silent
|
882
915
|
),
|
@@ -887,7 +920,7 @@ async def create_service(
|
|
887
920
|
description="MCP context for progress reporting", default=None
|
888
921
|
),
|
889
922
|
) -> Dict:
|
890
|
-
if manager_type != "docker":
|
923
|
+
if manager_type and manager_type != "docker":
|
891
924
|
raise ValueError("Swarm operations are only supported on Docker")
|
892
925
|
logger = logging.getLogger("ContainerManager")
|
893
926
|
logger.debug(
|
@@ -913,7 +946,10 @@ async def create_service(
|
|
913
946
|
)
|
914
947
|
async def remove_service(
|
915
948
|
service_id: str = Field(description="Service ID or name"),
|
916
|
-
manager_type: str = Field(
|
949
|
+
manager_type: Optional[str] = Field(
|
950
|
+
description="Container manager: must be docker for swarm (default: auto-detect)",
|
951
|
+
default=environment_container_manager_type,
|
952
|
+
),
|
917
953
|
silent: Optional[bool] = Field(
|
918
954
|
description="Suppress output", default=environment_silent
|
919
955
|
),
|
@@ -924,7 +960,7 @@ async def remove_service(
|
|
924
960
|
description="MCP context for progress reporting", default=None
|
925
961
|
),
|
926
962
|
) -> Dict:
|
927
|
-
if manager_type != "docker":
|
963
|
+
if manager_type and manager_type != "docker":
|
928
964
|
raise ValueError("Swarm operations are only supported on Docker")
|
929
965
|
logger = logging.getLogger("ContainerManager")
|
930
966
|
logger.debug(
|
@@ -952,8 +988,9 @@ async def compose_up(
|
|
952
988
|
compose_file: str = Field(description="Path to compose file"),
|
953
989
|
detach: bool = Field(description="Detach mode", default=True),
|
954
990
|
build: bool = Field(description="Build images", default=False),
|
955
|
-
manager_type: str = Field(
|
956
|
-
description="Container manager: docker, podman
|
991
|
+
manager_type: Optional[str] = Field(
|
992
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
993
|
+
default=environment_container_manager_type,
|
957
994
|
),
|
958
995
|
silent: Optional[bool] = Field(
|
959
996
|
description="Suppress output", default=environment_silent
|
@@ -989,8 +1026,9 @@ async def compose_up(
|
|
989
1026
|
)
|
990
1027
|
async def compose_down(
|
991
1028
|
compose_file: str = Field(description="Path to compose file"),
|
992
|
-
manager_type: str = Field(
|
993
|
-
description="Container manager: docker, podman
|
1029
|
+
manager_type: Optional[str] = Field(
|
1030
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
1031
|
+
default=environment_container_manager_type,
|
994
1032
|
),
|
995
1033
|
silent: Optional[bool] = Field(
|
996
1034
|
description="Suppress output", default=environment_silent
|
@@ -1026,8 +1064,9 @@ async def compose_down(
|
|
1026
1064
|
)
|
1027
1065
|
async def compose_ps(
|
1028
1066
|
compose_file: str = Field(description="Path to compose file"),
|
1029
|
-
manager_type: str = Field(
|
1030
|
-
description="Container manager: docker, podman
|
1067
|
+
manager_type: Optional[str] = Field(
|
1068
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
1069
|
+
default=environment_container_manager_type,
|
1031
1070
|
),
|
1032
1071
|
silent: Optional[bool] = Field(
|
1033
1072
|
description="Suppress output", default=environment_silent
|
@@ -1064,8 +1103,9 @@ async def compose_ps(
|
|
1064
1103
|
async def compose_logs(
|
1065
1104
|
compose_file: str = Field(description="Path to compose file"),
|
1066
1105
|
service: Optional[str] = Field(description="Specific service", default=None),
|
1067
|
-
manager_type: str = Field(
|
1068
|
-
description="Container manager: docker, podman
|
1106
|
+
manager_type: Optional[str] = Field(
|
1107
|
+
description="Container manager: docker, podman (default: auto-detect)",
|
1108
|
+
default=environment_container_manager_type,
|
1069
1109
|
),
|
1070
1110
|
silent: Optional[bool] = Field(
|
1071
1111
|
description="Suppress output", default=environment_silent
|
@@ -1090,35 +1130,21 @@ async def compose_logs(
|
|
1090
1130
|
|
1091
1131
|
|
1092
1132
|
def container_manager_mcp(argv):
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
sys.exit(2)
|
1109
|
-
elif opt in ("-t", "--transport"):
|
1110
|
-
transport = arg
|
1111
|
-
elif opt in ("-h", "--host"):
|
1112
|
-
host = arg
|
1113
|
-
elif opt in ("-p", "--port"):
|
1114
|
-
try:
|
1115
|
-
port = int(arg)
|
1116
|
-
if not (0 <= port <= 65535):
|
1117
|
-
print(f"Error: Port {arg} is out of valid range (0-65535).")
|
1118
|
-
sys.exit(1)
|
1119
|
-
except ValueError:
|
1120
|
-
print(f"Error: Port {arg} is not a valid integer.")
|
1121
|
-
sys.exit(1)
|
1133
|
+
parser = argparse.ArgumentParser(description="Container Manager MCP Server")
|
1134
|
+
parser.add_argument(
|
1135
|
+
"-t", "--transport", type=str, default="stdio", help="Transport (stdio/http)"
|
1136
|
+
)
|
1137
|
+
parser.add_argument("-h", "--host", type=str, default="0.0.0.0", help="Host")
|
1138
|
+
parser.add_argument("-p", "--port", type=int, default=8000, help="Port")
|
1139
|
+
args = parser.parse_args(argv)
|
1140
|
+
|
1141
|
+
transport = args.transport
|
1142
|
+
host = args.host
|
1143
|
+
port = args.port
|
1144
|
+
if not (0 <= port <= 65535):
|
1145
|
+
print(f"Error: Port {port} is out of valid range (0-65535).")
|
1146
|
+
sys.exit(1)
|
1147
|
+
|
1122
1148
|
setup_logging(is_mcp_server=True, log_file="container_manager_mcp.log")
|
1123
1149
|
if transport == "stdio":
|
1124
1150
|
mcp.run(transport="stdio")
|
@@ -1130,9 +1156,5 @@ def container_manager_mcp(argv):
|
|
1130
1156
|
sys.exit(1)
|
1131
1157
|
|
1132
1158
|
|
1133
|
-
def main():
|
1134
|
-
container_manager_mcp(sys.argv[1:])
|
1135
|
-
|
1136
|
-
|
1137
1159
|
if __name__ == "__main__":
|
1138
1160
|
container_manager_mcp(sys.argv[1:])
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: container-manager-mcp
|
3
|
-
Version: 0.0
|
3
|
+
Version: 1.0.0
|
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: 0.0
|
51
|
+
*Version: 1.0.0*
|
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=9TPpZw2gB_rz4oLsu45jBeixkG9B-OYppsGM4ctqb5I,72495
|
4
|
+
container_manager_mcp/container_manager_mcp.py,sha256=_07WxzplAF7hqYB9FehVszVgcF5vFvmaqYdjbw34jA0,39766
|
5
|
+
container_manager_mcp-1.0.0.dist-info/licenses/LICENSE,sha256=Z1xmcrPHBnGCETO_LLQJUeaSNBSnuptcDVTt4kaPUOE,1060
|
6
|
+
container_manager_mcp-1.0.0.dist-info/METADATA,sha256=eHiLvq6m912lJ5VcPZJJR-C-DXWKwaog_FtXFZddiyg,8238
|
7
|
+
container_manager_mcp-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
8
|
+
container_manager_mcp-1.0.0.dist-info/entry_points.txt,sha256=I23pXcCgAShlfYbENzs3kbw3l1lU9Gy7lODPfRqeeiA,156
|
9
|
+
container_manager_mcp-1.0.0.dist-info/top_level.txt,sha256=B7QQLOd9mBdu0lsPKqyu4T8-zUtbqKzQJbMbtAzoozU,22
|
10
|
+
container_manager_mcp-1.0.0.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=64pDF7gEadqh_rVqjfkznLSWm6fFnZJJ5hnkZlgX9kI,69338
|
4
|
-
container_manager_mcp/container_manager_mcp.py,sha256=cIAN8YGflQ9nZEHodkYdQKo2GECAuTH7WB-oMhnAd_0,37959
|
5
|
-
container_manager_mcp-0.0.11.dist-info/licenses/LICENSE,sha256=Z1xmcrPHBnGCETO_LLQJUeaSNBSnuptcDVTt4kaPUOE,1060
|
6
|
-
container_manager_mcp-0.0.11.dist-info/METADATA,sha256=bQQ_l-V1ZAh5ciFG00U0hLIqttSm45RjO_9Va7DKinU,8240
|
7
|
-
container_manager_mcp-0.0.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
8
|
-
container_manager_mcp-0.0.11.dist-info/entry_points.txt,sha256=I23pXcCgAShlfYbENzs3kbw3l1lU9Gy7lODPfRqeeiA,156
|
9
|
-
container_manager_mcp-0.0.11.dist-info/top_level.txt,sha256=B7QQLOd9mBdu0lsPKqyu4T8-zUtbqKzQJbMbtAzoozU,22
|
10
|
-
container_manager_mcp-0.0.11.dist-info/RECORD,,
|
File without changes
|
{container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/entry_points.txt
RENAMED
File without changes
|
{container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
{container_manager_mcp-0.0.11.dist-info → container_manager_mcp-1.0.0.dist-info}/top_level.txt
RENAMED
File without changes
|