Back to blog
Jul 19, 202620 min read

Using nimux MCP with AI Clients

A practical look at using nimux_mcp with MCP-compatible AI clients while keeping structured arguments, policy gates, redaction, and operator control.

MCPAI clientsAutomationWorkflow

Why MCP matters for security tooling

AI clients are useful when they help operators organize workflows, summarize output, and choose the next low-risk validation step. They become risky when every action is reduced to unrestricted shell text. The nimux MCP wrapper is designed for structure. It exposes tool calls with typed arguments so an AI client can request a scan, an SMB check, a Kerberos operation, or a pivot workflow without inventing arbitrary command strings.

This does not replace operator judgment. It gives the operator a cleaner interface for repeatable tasks, progress updates, redaction, and policy checks.

Basic local configuration

The MCP server is a separate binary named nimux_mcp. A stdio-capable client can launch it directly.

[mcp_servers.nimux]
command = "/usr/local/bin/nimux_mcp"
args = []

For JSON-style MCP clients, the same idea applies:

{
  "mcpServers": {
    "nimux": {
      "command": "/usr/local/bin/nimux_mcp",
      "args": []
    }
  }
}

The key is to keep the MCP server local and explicit. The AI client talks to the local process. The local process runs nimux. The operator remains responsible for authorization and scope.

What structured tools improve

Structured tools provide several practical improvements:

  • They reduce mistakes in long command syntax.
  • They make target, domain, username, auth mode, and proxy settings explicit fields.
  • They allow policy gates around write operations and sensitive actions.
  • They make it easier to redact secrets from logs and summaries.
  • They produce progress metadata that an AI client can display cleanly.

This matters during multi-step workflows. For example, a pivot may create a SOCKS route, later enumeration may use --proxy, and the AI client can preserve that relationship as structured metadata instead of a fragile note in plain text.

Example workflow

A typical authorized workflow might look like this:

1. Probe a target subnet for reachable management services. 2. Validate authentication on a host in scope. 3. Start a SOCKS pivot when the host has access to an internal network. 4. Route follow-up SMB or LDAP checks through the pivot. 5. Save outputs and summarize only the relevant findings. 6. Clean up the pivot and record the cleanup evidence.

With MCP, each step can be represented as a structured call. The AI client can help track what happened, but the operator still approves the important parts.

Policy gates

Security tools need boundaries. nimux MCP is intended for authorized environments and should be configured with explicit policy expectations. High-impact actions such as remote execution, object writes, secrets collection, DCSync, and GPO operations should be treated differently from read-only enumeration.

A good policy stance is:

  • Allow read-only checks in scoped lab environments.
  • Ask before remote execution or file transfer.
  • Ask before LDAP writes, GPO changes, secrets, DCSync, or ticket forgery workflows.
  • Redact passwords, hashes, tickets, and private keys in AI-visible summaries.
  • Store operator evidence separately from AI chat history when required by the engagement.

MCP is not autopilot

The strongest use of MCP is guided execution, not autonomous attack chains. A structured assistant can reduce syntax errors and help document the path, but it should not decide scope, authorization, or impact on its own.

For nimux, the practical value is that the CLI stays the source of truth while MCP makes the workflows easier to call from modern AI clients. That balance keeps power and usability together.

Why not just give an AI client a shell?

Giving an AI client raw shell access is flexible, but it is also the least structured option. The client has to invent syntax, manage quoting, remember which flags are supported, decide when a command is sensitive, and parse text output after the fact. That can work for small tasks, but it becomes fragile when the workflow touches authentication, Kerberos caches, proxy routes, or Active Directory write paths.

MCP improves that shape by turning common actions into structured tool calls. A tool call can have fields such as target, domain, username, auth mode, ccache path, proxy URL, command, and output format. The client does not have to invent the whole command line from memory. It fills known fields, and the server can validate them before execution.

This is especially useful for nimux because the command surface is broad. A user might move from scan to smb, then to winrm, then to kerberos, then to socks. Structured calls help preserve context between those steps.

Example: preserving pivot context

Consider a workflow where the operator starts a SOCKS pivot and then uses it for LDAP enumeration. In a normal chat, the assistant might forget the port or use the wrong proxy scheme. With structured metadata, the pivot result can be saved as an object:

{
  "type": "pivot",
  "socks": "socks5://127.0.0.1:1088",
  "target": "192.168.1.103",
  "status": "active"
}

Follow-up commands can reference that object rather than relying on a sentence buried in the conversation.

nimux ldap dc04.mgmt.local -d mgmt.local -u operator -p '<password>' \
  --trusts \
  --proxy socks5://127.0.0.1:1088

That sounds small, but it matters. Many operator mistakes happen when context is copied by hand between tools.

Redaction and output handling

Security tools often produce sensitive output. Even when an action is authorized, not every detail belongs in an AI conversation. Hashes, tickets, plaintext credentials, private keys, and session material should be treated carefully.

A useful MCP integration should separate:

  • Raw command output.
  • Redacted summaries.
  • Evidence files.
  • Operator notes.
  • Follow-up recommendations.

The AI client can summarize without needing to retain every sensitive byte. When exact artifacts must be preserved, store them in a controlled file path or reporting system rather than in chat history.

Suggested approval model

An MCP workflow should not approve everything equally. A practical approval model might be:

  • No prompt for local help or version checks.
  • Low-friction approval for read-only enumeration inside a known lab range.
  • Explicit approval for authentication attempts.
  • Strong approval for remote command execution.
  • Strong approval for LDAP writes, GPO changes, DCSync, secrets, or ticket forging.
  • Mandatory confirmation for cleanup operations that remove artifacts.

This model does not slow down normal work. It adds friction where impact increases.

Client-specific notes

Different AI clients present MCP tools differently, but the integration pattern is similar.

For Codex-style environments, a TOML configuration can launch nimux_mcp as a local stdio server.

[mcp_servers.nimux]
command = "/usr/local/bin/nimux_mcp"
args = []

For Claude Desktop-style environments, the same server can be described in JSON.

{
  "mcpServers": {
    "nimux": {
      "command": "/usr/local/bin/nimux_mcp",
      "args": []
    }
  }
}

Cursor, Windsurf, and other clients follow the same core idea: launch a local MCP process, communicate over stdio, and expose tools to the client.

What should stay manual

Not every decision should be delegated. Scope interpretation, risk acceptance, production impact, and legal authorization belong to the human operator. MCP can make it easier to run the right command, but it should not decide whether the command should be run.

Keep these steps manual:

  • Selecting engagement scope.
  • Approving credential use.
  • Choosing whether to execute commands remotely.
  • Deciding whether to perform write operations.
  • Handling discovered secrets.
  • Deciding cleanup timing.
  • Writing final risk statements.

The AI client can assist with summaries and checklists, but the operator owns the decision.

A practical MCP session shape

A good session might look like this:

1. Ask the client to summarize the target scope. 2. Run a narrow scan tool call. 3. Ask for a summary of reachable services. 4. Run an authenticated smb check after approval. 5. Start a pivot after confirming authorization. 6. Route follow-up checks through the stored proxy metadata. 7. Export a redacted summary. 8. Run cleanup and document it.

This is not autopilot. It is structured assistance.

Why this matters for nimux

nimux is broad enough to replace many separate command-line steps during an assessment. That breadth is useful, but it also means context matters. MCP gives the tool a second interface: the CLI remains direct and scriptable, while MCP gives AI clients a safer way to interact with the same capabilities.

The result is not less control. It is a better control surface.