MCP (Model Contect Protocol) adalah open protocol standard yang mengimplementasikan masalah fundamental dalam ekosistem AI (fragmentasi integrasi) antara LLM dan eksternal tools. MCP menggunakan client-server architecture berbasis JSON-RPC 2.0 (as transport mechanism) dengan komunikasi stateful yang memungkinkan manajemen sesi capability negotiation.

Integrasi dilakukan dengan kali-mcp-server yang telah rilis dalam repo kali linux dan dapat diinstal secara langsung. Dalam hal ini integrasi terhadap tools dapat dilakukan secara manual (penambahan atau penyesuaian tools) dapat dilakukan. Server MCP yang mengekspos tools penetration testing sebagai alat terstruktur dapat dipanggil untuk LLM. Rancangan integrasi dilakukan dengan VS Code Github Copilot dan Klien LLM yang kompatibel dengan MCP lainnya. Tools telah diorganisir sesuai dengan taktik MITRE ATT&CK Framework untuk menyediakan metodologi terstruktur bagi alur kerja keamanan ofensif.

Server menggunakan SDK Python MCP (fastmcp) dan berkomunikasi melalui streamable-http transport. Semua pemanggilan alat menggunakan subprocess.run secara langsung. Injeksi shell tidak dimungkinkan karena tidak ada shell=True yang digunakan dimanapun.

Requirements

  • Kali Linux (or a Debian-based system with Kali repositories)
  • Python 3.11+
  • MCP Python SDK
pip install mcp

Installation

Semua alat bergantung pada paket Kali yang sudah terpasang di sistem.

git clone https://github.com/mamanwhide/kali-mcp-server.git
cd kali-mcp-server

Running the Server

Server memulai dengan http://127.0.0.1:5000/mcp menggunakan streamable-http transport.

python3 kali_mcp_server.py

Hasil yang diharapkan:

Starting Kali MCP server on http://127.0.0.1:5000/mcp
INFO:     Started server process [...]
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:5000

VS Code Integration

Konfigurasi, server MCP telah dikonfigurasi sebelumnya di .vscode/mcp.json

Connection Steps

  • Start the server: python3 kali_mcp_server.py
  • Open VS Code in this workspace
  • Open the Copilot Chat panel
  • Verify the kali-mcp server shows as Connected in the MCP servers list
  • All 82 tools are immediately available to GitHub Copilot and other MCP clients

Reconnecting

Jika server telah dihidupkan ulang, Klik Reconnect di samping kali-mcp di panel MCP, atau muat ulang VS Code (ctrl + shift + P > Developer: Reload Window).

{
  "servers": {
    "kali-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:5000/mcp",
      "displayName": "Kali MCP (local)",
      "description": "Local Kali MCP server for tools/resources"
    }
  }
}
None
Picture. Success Integration
None
Picture. Process run

Adding New Tools

Setiap tools mengikuti pola yang sama. Tambahkan fungsi baru di mana saja pada kali_mcp_server.py sebelum entrypoint.

Pedoman:

  • Gunakan shlex.split() untuk semua string flag (jangan membut string shell command).
  • Gunakan _require_file() untuk parameter yang merujuk pada jalur file.
  • Sertakan [TACTICxx Name] awalan dalam docstring agar pengelompokan tepat pada list_installed_tools.
  • Restart server dan hubungkan ulang di VS Code setelah penambahan tools
@mcp.tool()
def tool_name(target: str, flags: str = "") -> str:
    """[TA000X Tactic Name] Brief description — this is shown to the LLM.

    Args:
        target: Description of this parameter
        flags: Description of this parameter
    """
    cmd = ["binary-name"] + shlex.split(flags) + [target]
    return _format(_run(cmd, timeout=120))

Github Link