View Issue Details

IDProjectCategoryView StatusLast Update
0009610Kali LinuxKali Package Bugpublic2026-03-28 01:15
Reportersurya4682 Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0009610: mcp-kali-server: health check incorrectly reports tools as missing due to wrong argument type passed to execute_command()
Description

Package: mcp-kali-server
Version: 0.0~git20260119.bffe9f2
Architecture: all

The /health endpoint in /usr/share/mcp-kali-server/server.py passes a list
to execute_command() but the function only accepts a string. This causes all
tools (nmap, gobuster, nikto, dirb) to report as false/missing even when they
are correctly installed on the system.

Affected code in server.py (health check section):
result = execute_command(["which", tool])

Fix:
result = execute_command(f"which {tool}")

Steps to reproduce:

  1. sudo apt install mcp-kali-server
  2. sudo apt install nmap gobuster nikto dirb
  3. kali-server-mcp
  4. curl http://localhost:5000/health

Expected result:
{"all_essential_tools_available":true,...,"nmap":true,"gobuster":true}

Actual result:
{"all_essential_tools_available":false,...,"nmap":false,"gobuster":false}

Workaround: manually edit /usr/share/mcp-kali-server/server.py and change
execute_command(["which", tool]) to execute_command(f"which {tool}")
in the health check function.

Note: This bug was discovered and documented while setting up Claude Desktop
on Windows with mcp-kali-server. A workaround is documented here:
https://github.com/surya4682/kali-mcp-claude-windows

Activities

surya4682

surya4682

2026-03-28 01:15

reporter   ~0021497

Reproducing the issue

image.png (252,336 bytes)   
image.png (252,336 bytes)   

Issue History

Date Modified Username Field Change
2026-03-28 00:15 surya4682 New Issue
2026-03-28 01:15 surya4682 Note Added: 0021497
2026-03-28 01:15 surya4682 File Added: image.png