Skip to main content
Glama
schwarztim

CrackMapExec MCP Server

by schwarztim

CrackMapExec MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with access to CrackMapExec/NetExec network penetration testing capabilities via SSH to a Kali Linux host.

Overview

This MCP server enables AI-powered network security assessments by exposing CrackMapExec (CME) / NetExec (NXC) functionality through the standardized MCP interface. It supports multiple protocols and comprehensive enumeration, credential dumping, and command execution capabilities.

Related MCP server: redteam-mcp

Features

Supported Protocols

Protocol

Description

SMB

Windows file sharing - shares, users, groups, SAM/LSA/NTDS dumping

WinRM

Windows Remote Management - remote command execution

SSH

Secure Shell - Linux/Unix command execution

MSSQL

Microsoft SQL Server - query execution, xp_cmdshell

LDAP

Active Directory enumeration - users, computers, delegation

RDP

Remote Desktop Protocol - access validation

WMI

Windows Management Instrumentation - remote execution

Capabilities

  • Enumeration: Shares, users, groups, sessions, computers, domain controllers

  • Credential Dumping: SAM, LSA secrets, NTDS.dit, gMSA passwords

  • Command Execution: cmd, PowerShell, via multiple methods (wmiexec, smbexec, atexec)

  • Password Spraying: Multi-threaded credential testing with jitter support

  • Module System: Extensible via NetExec modules

  • Credential Database: Store and search discovered credentials

Installation

Prerequisites

  • Node.js 18+

  • SSH access to a Kali Linux host with NetExec/CrackMapExec installed

  • SSH key-based authentication configured (recommended)

Setup

# Clone the repository
git clone https://github.com/schwarztim/sec-crackmapexec-mcp.git
cd sec-crackmapexec-mcp

# Install dependencies
npm install

# Build
npm run build

Configuration

Environment Variables

Variable

Description

Default

KALI_HOST

Hostname or IP of the Kali Linux host

kali

SSH_USER

SSH username

(none)

SSH_KEY

Path to SSH private key

(none)

NXC_BINARY

Binary name (nxc or crackmapexec)

nxc

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "crackmapexec": {
      "command": "node",
      "args": ["/path/to/sec-crackmapexec-mcp/dist/index.js"],
      "env": {
        "KALI_HOST": "your-kali-host",
        "SSH_USER": "kali",
        "SSH_KEY": "/path/to/ssh/key"
      }
    }
  }
}

Available Tools

cme_smb

Execute SMB protocol operations including share enumeration, user enumeration, credential dumping, and command execution.

// Example: Enumerate shares
{ targets: "192.168.1.0/24", username: "admin", password: "pass123", shares: true }

// Example: Dump SAM hashes
{ targets: "192.168.1.100", username: "admin", password: "pass123", sam: true }

cme_winrm

Execute commands via Windows Remote Management (ports 5985/5986).

{ targets: "192.168.1.100", username: "admin", password: "pass123", execPowershell: "Get-Process" }

cme_ssh

Test SSH credentials and execute commands on Linux/Unix hosts.

{ targets: "192.168.1.0/24", username: "root", password: "toor", execCmd: "id" }

cme_mssql

Query MSSQL databases and execute OS commands via xp_cmdshell.

{ targets: "192.168.1.50", username: "sa", password: "password", query: "SELECT @@version" }

cme_ldap

Enumerate Active Directory via LDAP queries.

{ targets: "dc01.domain.local", username: "user", password: "pass", domain: "domain.local", usersEnabled: true }

cme_rdp

Validate RDP access to targets.

{ targets: "192.168.1.0/24", username: "admin", password: "pass123" }

cme_wmi

Execute commands via WMI.

{ targets: "192.168.1.100", username: "admin", password: "pass123", execCmd: "whoami" }

cme_modules

List available modules for a protocol or get module options.

// List SMB modules
{ protocol: "smb" }

// Get options for specific module
{ protocol: "smb", moduleName: "mimikatz" }

cme_spray

Perform password spraying attacks with jitter support.

{
  protocol: "smb",
  targets: "192.168.1.0/24",
  usernames: "users.txt",
  passwords: "Summer2024!",
  domain: "corp.local",
  jitter: "1-3"
}

cme_creds

Manage the NetExec credential database.

// List all credentials
{ action: "list" }

// Search credentials
{ action: "search", searchTerm: "admin" }

// Export credentials
{ action: "export", exportPath: "creds.csv" }

cme_raw

Execute raw NetExec commands for advanced operations.

{ command: "smb 192.168.1.100 -u admin -p pass123 --shares" }

Security Considerations

This tool is intended for authorized security testing only. Ensure you have:

  1. Written authorization to test target systems

  2. Proper scope definition for the engagement

  3. Understanding of applicable laws and regulations

Never use this tool against systems without explicit permission.

Architecture

┌─────────────────┐      SSH      ┌─────────────────┐
│  Claude/AI      │ ────────────► │  Kali Linux     │
│  Assistant      │               │  + NetExec      │
├─────────────────┤               └─────────────────┘
│  MCP Server     │                      │
│  (Node.js)      │                      ▼
└─────────────────┘               ┌─────────────────┐
                                  │  Target Network │
                                  └─────────────────┘

Development

# Run in development mode
npm run dev

# Build for production
npm run build

# Start production server
npm start

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Disclaimer

This software is provided for educational and authorized security testing purposes only. The authors are not responsible for any misuse or damage caused by this tool. Always obtain proper authorization before conducting security assessments.

Available Tools

11 tools
cme_credsB

Manage the NetExec credential database. View, search, and export stored credentials from previous scans.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: list, search, export, clear
searchTermNoSearch term for credentials
exportPathNoPath to export credentials

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description mentions view/search/export but omits the 'clear' action from the schema, which is destructive. This incomplete disclosure leaves the agent unaware of behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, front-loaded with the main purpose. However, the list of actions is incomplete compared to the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 3 parameters and no output schema, the description covers basic purpose but omits the destructive 'clear' action, making it partially incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the description only lists three actions (view, search, export), missing 'clear' which is in the action parameter. This inconsistency adds confusion rather than clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it manages the NetExec credential database with verbs 'View, search, and export', distinguishing it from sibling tools focused on different protocols or actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for credential management after scans but does not explicitly state when to use this tool versus alternatives like cme_spray or protocol-specific tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_ldapB

Execute LDAP protocol operations. Supports Active Directory enumeration including users, computers, groups, delegation, and custom LDAP queries.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget Domain Controller IP or hostname
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
hashNoNTLM hash for pass-the-hash
domainNoDomain name
kerberosAuthNoUse Kerberos authentication
portNoLDAP port (default: 389, 636 for LDAPS)
threadsNoConcurrent threads
usersEnabledNoEnumerate enabled users
computersNoEnumerate computers
dcNoEnumerate domain controllers
trustedForDelegationNoFind accounts trusted for delegation
passwordNotReqdNoFind accounts with PASSWD_NOTREQD flag
adminCountNoFind accounts with adminCount=1
gmsaNoDump gMSA passwords
ldapQueryNoCustom LDAP query
moduleNoModule to run
moduleOptionsNoModule options
verboseNoVerbose output
debugNoDebug output

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It mentions enumeration but does not clarify whether write operations are supported, authentication requirements, error handling, or potential side effects. This is insufficient for a tool with 20 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences that front-load the core purpose and follow with examples. No unnecessary words, but could be slightly more structured with bullet points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 20 parameters and no output schema or annotations, the description is incomplete. It does not explain return values, error handling, authentication requirements, or how to use the custom LDAP query parameter. For a complex tool, more detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond what the schema already provides; it only repeats examples of what can be enumerated, which maps to parameters but adds no new detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes LDAP protocol operations and enumerates Active Directory objects, listing specific examples like users, computers, groups, delegation, and custom queries. This distinguishes it from sibling tools that target other protocols.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for LDAP enumeration but does not explicitly state when to use this tool versus alternatives like cme_smb or cme_mssql. No when-not-to-use or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_modulesA

List available modules for a protocol or get options for a specific module.

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolYesProtocol to list modules for: smb, winrm, ssh, mssql, ldap, rdp, wmi, ftp, vnc, nfs
moduleNameNoModule name to get options for (optional)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral traits. It does not disclose whether the operation is read-only, requires authentication, has rate limits, or any side effects. The agent cannot infer safety or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the full purpose without any extraneous words. It is front-loaded with the primary action (list) and clearly structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description is adequate but lacks details about return format, examples, or constraints (e.g., protocol must be valid). It does not fully inform an agent about expected outputs or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the dual behavior based on whether moduleName is provided (list vs. get options), which clarifies the parameter semantics beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states two clear actions: listing available modules for a protocol and getting options for a specific module. This clearly distinguishes from sibling tools which focus on executing commands on specific protocols or managing credentials.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (when needing to explore modules), but provides no guidance on when not to use, prerequisites (e.g., must have a valid protocol), or alternatives among siblings. It lacks explicit context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_mssqlA

Execute MSSQL protocol operations. Supports SQL query execution and command execution via xp_cmdshell.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget IP, hostname, CIDR range, or file path
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
hashNoNTLM hash for pass-the-hash
domainNoDomain name
localAuthNoUse local authentication
portNoMSSQL port (default: 1433)
threadsNoConcurrent threads
queryNoSQL query to execute
databaseNoDatabase name
execCmdNoExecute OS command via xp_cmdshell
moduleNoModule to run
moduleOptionsNoModule options
verboseNoVerbose output
debugNoDebug output

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fails to disclose critical behavioral traits such as required authentication, destructive potential, or xp_cmdshell prerequisites. The agent receives no warnings about prerequisites like enabling xp_cmdshell or potential blocking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, and contains no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 15 parameters and no output schema, the description barely covers the tool's capabilities. It omits common usage patterns, parameter dependencies, expected outputs, and prerequisites. The agent lacks sufficient context to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented. The description adds value by grouping query and execCmd as supported operations, but doesn't elaborate on how parameters like threads or module interact. Still, it provides useful high-level context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes MSSQL protocol operations, supporting SQL queries and command execution via xp_cmdshell. This specific verb and resource distinction effectively sets it apart from sibling tools like cme_smb or cme_ldap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for MSSQL operations, but lacks explicit guidance on when to use this tool versus alternative approaches (e.g., modules vs direct query/execCmd). No when-not-to-use or scenario-based advice is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_rawA

Execute a raw NetExec/CrackMapExec command. Use this for advanced operations not covered by other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesRaw nxc/crackmapexec command (without the 'nxc' or 'crackmapexec' prefix)

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only says 'execute a raw command' without disclosing behavioral traits like authentication requirements, potential destructiveness, output format, or error handling. For a raw command tool, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose then usage. No superfluous words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite low complexity (1 param), the tool can execute arbitrary commands. Description fails to explain potential risks, required permissions, success/failure indicators, or result format. No output schema. Completeness is inadequate for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter 'command' with clear description specifying that the 'nxc' or 'crackmapexec' prefix should be omitted. Adds meaning beyond the schema type, compensating for lack of enums or detail. Schema coverage is 100%, so baseline 3 is exceeded.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (execute a raw command) and resource (NetExec/CrackMapExec command). Explicitly distinguishes from sibling tools by noting it covers advanced operations not handled by others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Guides when to use: 'for advanced operations not covered by other tools.' Implies that for common tasks, the specialized sibling tools should be used. Lacks explicit 'when not to use' but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_rdpC

Execute RDP protocol operations. Check RDP access and screenshot capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget IP, hostname, CIDR range, or file path
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
hashNoNTLM hash for pass-the-hash
domainNoDomain name
portNoRDP port (default: 3389)
threadsNoConcurrent threads
moduleNoModule to run
moduleOptionsNoModule options
verboseNoVerbose output
debugNoDebug output

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only states 'check RDP access and screenshot capabilities' but doesn't disclose read/write behavior, authentication requirements, side effects, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short (two sentences), no wasted words. Could be slightly more structured, but efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 11 parameters and no output schema, the description fails to explain workflow, module usage, or expected results. Incomplete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which are basic but present.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description mentions RDP and two actions (check access, screenshot capabilities), which is clear but not specific enough to distinguish from other protocol tools. It's adequate but not precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like cme_smb or cme_ssh. No when-not-to-use or alternative mentions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_smbB

Execute SMB protocol operations with NetExec/CrackMapExec. Supports enumeration of shares, users, groups, sessions, credential dumping (SAM, LSA, NTDS), and command execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget IP, hostname, CIDR range, or file path
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
hashNoNTLM hash for pass-the-hash
domainNoDomain name
localAuthNoUse local authentication
kerberosAuthNoUse Kerberos authentication
portNoSMB port (default: 445)
threadsNoConcurrent threads
sharesNoEnumerate shares
usersNoEnumerate domain users
groupsNoEnumerate domain groups
loggedOnUsersNoEnumerate logged on users
sessionsNoEnumerate active sessions
disksNoEnumerate disks
passPolicyNoDump password policy
ridNoRID brute force enumeration
samNoDump SAM hashes
lsaNoDump LSA secrets
ntdsNoDump NTDS.dit hashes (requires DC)
execCmdNoExecute cmd command
execPowershellNoExecute PowerShell command
execMethodNoExecution method: wmiexec, smbexec, atexec, mmcexec
moduleNoModule to run
moduleOptionsNoModule options (KEY=VALUE format)
verboseNoVerbose output
debugNoDebug output

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It fails to disclose critical behavioral traits such as destructive potential (credential dumping, command execution), authentication requirements, or network impact, leaving the agent without safety or context information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that efficiently convey the core purpose and supported operations without redundant or vague language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 27 parameters, no output schema, and no annotations, the description is too simplistic. It does not explain how to combine parameters, expected output format, or prerequisites (e.g., necessary permissions), leaving significant gaps for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds some context by grouping operations into categories (enumeration, dumping, exec) but does not significantly enhance understanding of individual parameters beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Execute SMB protocol operations' and lists specific capabilities (enumeration, credential dumping, command execution), distinguishing it from sibling tools like cme_ldap or cme_ssh.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for SMB operations via NetExec, but does not provide when-to-use or when-not-to-use guidance, nor does it compare to alternatives among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_sprayA

Perform password spraying attacks across multiple targets. Supports jitter and continues on success options.

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolYesProtocol to use: smb, winrm, ssh, mssql, ldap, rdp
targetsYesTarget IP, hostname, CIDR range, or file path
usernamesYesUsername or file path to usernames
passwordsYesPassword or file path to passwords
domainNoDomain name (for AD authentication)
localAuthNoUse local authentication
threadsNoConcurrent threads
jitterNoJitter interval (e.g., '0-5' for 0-5 seconds between connections)
continueOnSuccessNoContinue spraying after a successful login
noProgressNoDisable progress bar
verboseNoVerbose output

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description mentions key behaviors (jitter, continue on success) but does not disclose potential risks like account lockouts, rate limiting, or authentication side effects. Adequate but could be improved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with main purpose. Every word earns its place, no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a security-sensitive tool with 11 parameters and no annotations, the description is too brief. It lacks details on return values, error handling, output format, and security implications, making it insufficient for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds minimal value beyond schema by explaining the overall purpose and providing context for jitter and continueOnSuccess, but does not add new parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'perform password spraying attacks' and specifies the resource 'multiple targets'. Distinguishes from sibling tools like cme_creds, cme_smb, etc. by focusing on spraying.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage through the mention of jitter and continue on success options, but lacks explicit guidelines on when to use this tool versus alternatives, prerequisites, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_sshB

Execute SSH protocol operations. Supports password and key-based authentication for Linux/Unix hosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget IP, hostname, CIDR range, or file path
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
portNoSSH port (default: 22)
keyFileNoPath to SSH private key
sshTimeoutNoSSH timeout in seconds
threadsNoConcurrent threads
execCmdNoExecute command
moduleNoModule to run
moduleOptionsNoModule options
verboseNoVerbose output
debugNoDebug output

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions password and key-based authentication but does not disclose whether the tool is read-only or destructive, how it handles errors, or what side effects may occur. The presence of execCmd and module parameters suggests command execution capability, which should be highlighted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two sentences that directly convey the core purpose and key features. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (12 parameters, no output schema, no annotations), the description is insufficient. It does not explain return values, command execution behavior, authentication flow, or how modules work. The agent would need significant inference to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema (e.g., associating password/keyFile with authentication). It does not provide additional context for complex parameters like execCmd or module.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute SSH protocol operations' with a specific verb and resource. It also specifies supported authentication methods (password and key-based) and target OS (Linux/Unix), which distinguishes it from sibling tools like cme_rdp or cme_winrm.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or scenarios where a different sibling tool would be more appropriate. For a tool with many siblings, this is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_winrmC

Execute WinRM protocol operations. Supports remote command execution and credential dumping on hosts with WinRM enabled (ports 5985/5986).

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget IP, hostname, CIDR range, or file path
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
hashNoNTLM hash for pass-the-hash
domainNoDomain name
localAuthNoUse local authentication
kerberosAuthNoUse Kerberos authentication
portNoWinRM port (5985 HTTP, 5986 HTTPS)
checkProtoNoCheck protocol: http or https
httpTimeoutNoHTTP timeout in seconds
threadsNoConcurrent threads
execCmdNoExecute cmd command
execPowershellNoExecute PowerShell command
samNoDump SAM hashes
lsaNoDump LSA secrets
dumpMethodNoDump method: cmd or powershell
moduleNoModule to run
moduleOptionsNoModule options
verboseNoVerbose output
debugNoDebug output

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behaviors. It mentions remote command execution and credential dumping, which imply destructive potential, but it does not detail side effects, permission requirements, or system modifications. The transparency is minimal for a tool with such capabilities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loading the main purpose and critical details (ports). There is no superfluous information, making it easy to scan quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (20 parameters, no output schema, no annotations), the description is too brief. It omits typical use cases, dependencies (e.g., WinRM service), and expected outcomes, leaving the agent with insufficient context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 20 parameters, so the description does not need to add parameter details. The tool description provides no additional meaning beyond the schema, meeting the baseline for good coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Execute WinRM protocol operations. Supports remote command execution and credential dumping on hosts with WinRM enabled (ports 5985/5986)' clearly states the tool's function and scope, including specific actions and ports. However, it does not explicitly differentiate from sibling tools like cme_smb or cme_ssh, though the protocol-specific name helps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or when not to use it. It lacks context on prerequisites, such as requiring WinRM service or administrative credentials, and does not mention that sibling tools exist for other protocols.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cme_wmiB

Execute WMI protocol operations. Supports remote command execution via WMI.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYesTarget IP, hostname, CIDR range, or file path
usernameNoUsername or file path to usernames
passwordNoPassword or file path to passwords
hashNoNTLM hash for pass-the-hash
domainNoDomain name
localAuthNoUse local authentication
threadsNoConcurrent threads
execCmdNoExecute cmd command
execPowershellNoExecute PowerShell command
moduleNoModule to run
moduleOptionsNoModule options
verboseNoVerbose output
debugNoDebug output

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It mentions remote command execution but omits details on authentication requirements, network prerequisites, error handling, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences long, with no redundant information. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, no output schema, and no annotations, the description is too minimal. It fails to explain return values, common use cases, or how to combine parameters effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add additional context beyond the schema, but the schema already describes each parameter adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it executes WMI protocol operations and supports remote command execution, which differentiates it from sibling tools focused on other protocols.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use WMI versus alternatives like SMB or WinRM. No exclusions or context for selecting this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv1.0.0
    • First observedcme_creds
    • First observedcme_ldap
    • First observedcme_modules
    • First observedcme_mssql
    • First observedcme_raw
    • First observedcme_rdp
    • First observedcme_smb
    • First observedcme_spray
    • First observedcme_ssh
    • First observedcme_winrm
    • First observedcme_wmi

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct protocol or operation (e.g., SMB, LDAP, MSSQL, credential management), with clear descriptions that eliminate ambiguity. No overlapping purposes.

Naming Consistency5/5

All tools follow a consistent `cme_<protocol/function>` naming convention, using lowercase and snake_case, making it predictable and easy to understand.

Tool Count5/5

With 11 tools, the server covers a broad set of protocols and operations (credential management, spraying, multiple protocol executions) without being overwhelming or too sparse.

Completeness4/5

The surface covers major protocols (SMB, LDAP, MSSQL, RDP, SSH, WinRM, WMI) and key activities like credential dumping, spraying, and raw commands. Minor gaps exist (e.g., Kerberos) but are manageable via the raw tool.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects AI clients to a Linux terminal for real-time automated penetration testing and CTF challenge solving. It enables AI models to execute terminal commands and interact with offensive security tools like Nmap, SQLMap, and Gobuster.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A penetration testing MCP server that runs 20 hacking tools inside a Kali Linux Docker container, enabling AI assistants to execute security scans and attacks via natural language.
    2
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for red teaming that enables AI agents to perform port scanning, vulnerability scanning, SSH operations, and Metasploit exploitation through a unified interface.
    16
    -