-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
Β·155 lines (137 loc) Β· 5.43 KB
/
setup.sh
File metadata and controls
executable file
Β·155 lines (137 loc) Β· 5.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#!/bin/bash
set -e
echo "π Kali Linux MCP Server for Docker Desktop"
echo "==========================================="
echo ""
echo "β οΈ DISK SPACE REQUIREMENT: ~20GB"
echo " This installation uses kali-linux-everything (ALL tools)"
echo ""
# Check if Docker is running
if ! docker info > /dev/null 2>&1; then
echo "β Error: Docker is not running. Please start Docker Desktop."
exit 1
fi
echo "β
Docker is running"
# Check if Docker Compose is available
if ! docker-compose --version > /dev/null 2>&1; then
echo "β Error: docker-compose not found. Please install Docker Compose."
exit 1
fi
echo "β
Docker Compose is available"
# Check if docker mcp command is available
if ! docker mcp version > /dev/null 2>&1; then
echo "β οΈ Warning: 'docker mcp' command not found."
echo " This is required for Docker Desktop MCP Toolkit integration."
echo " Make sure you have Docker Desktop with MCP Toolkit support."
echo ""
read -p "Continue anyway? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
echo "β
Docker MCP CLI is available"
# Build the MCP server
echo ""
echo "π¦ Building MCP server container..."
docker-compose build
# Start the services
echo ""
echo "π Starting services..."
docker-compose up -d
# Wait for containers to start
echo ""
echo "β³ Waiting for containers to start..."
sleep 5
# Check if containers are running
if docker ps | grep -q kali-mcp-server && docker ps | grep -q kali-tools-container; then
echo ""
echo "β
Services started successfully!"
echo ""
echo "π Container Status:"
docker-compose ps
echo ""
# Add to Docker Desktop MCP Toolkit
echo "π§ Adding to Docker Desktop MCP Toolkit..."
echo ""
# Check if catalog already exists
if docker mcp catalog ls 2>/dev/null | grep -q "my-security-tools"; then
echo "β οΈ Catalog 'my-security-tools' already exists."
read -p "Recreate it? This will overwrite existing configuration. (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "ποΈ Removing existing catalog..."
docker mcp server disable kali-linux-tools 2>/dev/null || true
docker mcp catalog rm my-security-tools 2>/dev/null || true
else
echo "βΉοΈ Skipping catalog creation. Using existing catalog."
fi
fi
# Create custom catalog if it doesn't exist
if ! docker mcp catalog ls 2>/dev/null | grep -q "my-security-tools"; then
echo "π Creating custom catalog..."
docker mcp catalog create my-security-tools
echo "β
Custom catalog created"
fi
# Add Kali server to catalog
echo "β Adding Kali server to catalog..."
if docker mcp catalog add my-security-tools kali-linux-tools ./kali-catalog.yaml --force; then
echo "β
Kali server added to catalog"
else
echo "β Failed to add Kali server to catalog"
echo "You can add it manually with:"
echo " docker mcp catalog add my-security-tools kali-linux-tools ./kali-catalog.yaml"
fi
# Enable the server
echo "π Enabling Kali server..."
if docker mcp server enable kali-linux-tools; then
echo "β
Kali server enabled"
else
echo "β οΈ Server may already be enabled or failed to enable"
echo "You can enable it manually with:"
echo " docker mcp server enable kali-linux-tools"
fi
# Verify installation
echo ""
echo "π Verifying installation..."
if docker mcp server ls 2>/dev/null | grep -q "kali-linux-tools"; then
echo "β
Kali Linux Security Tools is now available in Docker Desktop!"
else
echo "β οΈ Server may not be visible yet. Try restarting Docker Desktop."
fi
echo ""
echo "ββββββββββββββββββββββββββββββββββββββββββββββ"
echo "π Installation Complete!"
echo "ββββββββββββββββββββββββββββββββββββββββββββββ"
echo ""
echo "π Next Steps:"
echo " 1. Open Docker Desktop"
echo " 2. Go to MCP Toolkit in the sidebar"
echo " 3. Look for 'Kali Linux Security Tools' in your servers"
echo " 4. Connect to Ask Gordon or your preferred AI client"
echo ""
echo "π§ͺ Test It:"
echo " Ask Gordon: 'List available Kali tools using kali_list_tools'"
echo " Claude Desktop: 'Use kali_help to show me how to use nmap'"
echo " VS Code: Run 'docker mcp client connect vscode' first"
echo ""
echo "β±οΈ First Run: ALL Kali tools will be installed (1-2 hours, ~15GB)"
echo " Monitor progress: docker-compose logs -f kali-mcp-server"
echo ""
echo "π§ Useful Commands:"
echo " List servers: docker mcp server ls"
echo " View catalog: docker mcp catalog show my-security-tools"
echo " View logs: docker-compose logs -f"
echo " Restart: docker-compose restart"
echo " Stop: docker-compose down"
echo " Disable: docker mcp server disable kali-linux-tools"
echo ""
echo "β οΈ Security Warning:"
echo " Only use these tools on systems you own or have permission to test!"
echo ""
else
echo ""
echo "β Error: Containers failed to start"
echo "Check logs with: docker-compose logs"
exit 1
fi