Skip to content
Agentmart
Submit a tool

VMware NSX Security

VMware NSX security: DFW policies and exclusions, groups, tags, Traceflow, IDPS — 22 MCP tools.

Connector by vmware-skills · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 4
Write a review

Chalk Labs

Need help deploying VMware NSX Security?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/vmware-skills-vmware-nsx-security

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

VMware NSX security: DFW policies and exclusions, groups, tags, Traceflow, IDPS — 22 MCP tools.

Use cases: cloud-management, security-scanning

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
11 read · 7 write · 4 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 22

Read from the source code; the running server may list different tools.

Read 11 · Look things up without changing anything.

  • get_dfw_policy
  • get_dfw_rule_stats
  • get_group
  • get_idps_status
  • get_traceflow_result
  • list_dfw_exclusions
  • list_dfw_policies
  • list_dfw_rules
  • list_groups
  • list_idps_profiles
  • list_vm_tags

Write 7 · Create, change, send or run things.

  • apply_vm_tag
  • create_dfw_policy
  • create_dfw_rule
  • create_group
  • run_traceflow
  • update_dfw_policy
  • update_dfw_rule

Delete 4 · Delete, drop, revoke or wipe things.

  • delete_dfw_policy
  • delete_dfw_rule
  • delete_group
  • remove_vm_tag

Secrets and settings it asks for

Other settings (environment variables or headers).

  • VMWARE_NSX_SECURITY_CONFIG

Network hosts it talks to 2

  • anthropic.com · found in code
  • github.com · found in code

Files it touches

  • Your home directory (~)
  • ~/.vmware-nsx-security/audit.log
  • ~/.vmware/audit.db

Tools (22)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • apply_vm_tag

    [WRITE] Apply an NSX tag to a virtual machine. Returns {"status": "applied", "vm_id", "scope", "tag"} — not the VM's tag list. Use list_vm_tags first for the vm_id, and again after to see the result. Additive, so existing tags survive, but note that tag-based group membership shifts as NSX re-evaluates: check with get_group. Args: vm_id: VM external ID (fabric UUID, from list_vm_tags). tag_scope: Tag scope (e.g. 'env', 'tier', 'owner'). tag_value: Tag value (e.g. 'production', 'web'). target: Optional NSX Manager target from config.

  • create_dfw_policy

    [WRITE] Create a new DFW security policy. Returns the created policy dict (id, path, category, ...), else {"error", "hint"}. The policy is an empty container — rules must be added afterwards with create_dfw_rule. Args: policy_id: Unique policy id (alphanumerics, hyphens, underscores). display_name: Human-readable name. category: Ethernet, Emergency, Infrastructure, Environment or Application (default Application); sets DFW evaluation order, Ethernet first, Application last. sequence_number: Priority; lower = higher priority (default 10). stateful: Track co…

  • create_dfw_rule

    [WRITE] Create a firewall rule under an existing DFW security policy. Returns the created rule dict (id, path, action, ...), else {"error", "hint"}; a bad action/direction/ip_protocol lists the valid values. PUT semantics: reusing a rule_id overwrites that rule, enforced immediately unless disabled=True. Pick policy_id with list_dfw_policies first; prefer update_dfw_rule to edit one and delete_dfw_rule to remove one. Args: policy_id: Parent policy id, from list_dfw_policies. rule_id: Unique rule id within that policy. display_name: Human-readable name. action: ALLOW, DROP, RE…

  • create_group

    [WRITE] Create an NSX security group with optional membership criteria. Returns the created group dict (id, path, expression, ...). Criteria are ORed — NSX only permits AND between same-member-type Conditions: tag_scope/tag_value matches VMs carrying that tag, ip_addresses matches IPs or CIDRs, segment_paths every VM on those segments. Use it before create_dfw_rule, which references the group path; confirm members with get_group. Args: group_id: Unique id (alphanumerics, hyphens, underscores). display_name: Human-readable name. description: Optional description. tag_scope: NS…

  • delete_dfw_policycan change or delete data

    [WRITE] Delete a DFW security policy; refuses while it still holds rules. Without confirm=True this only previews: it returns blast_radius (the policy's name, category, sequence_number, rule_count and rule_ids, blockers, unmeasured) and deletes nothing. Show that to the user and get their decision. Do not set confirm=True on your own because the user asked to delete earlier: they have not seen the blast radius yet. confirm=True refuses, deleting nothing, while the policy still holds rules — list them with list_dfw_rules and clear each with delete_dfw_rule first — or when its rules could not …

  • delete_dfw_rulecan change or delete data

    [WRITE] Permanently delete one DFW rule from its parent security policy. Irreversible and immediate: traffic it matched falls through to lower-priority rules or the policy default. Without confirm=True this only previews: it returns blast_radius (the parent policy, the rule's action, sources, destinations, services, scope, direction, disabled flag, blockers, unmeasured) and deletes nothing. Show that to the user and get their decision. Do not set confirm=True on your own because the user asked to delete earlier: they have not seen the blast radius yet. Check recent hits with get_dfw_rule_stat…

  • delete_groupcan change or delete data

    [WRITE] Delete an NSX security group; refuses while anything references it. Use it once get_group shows the group is unwanted. Without confirm=True this only previews: it returns blast_radius (the group's name, path, expression_count, reference_count and references, blockers, unmeasured) and deletes nothing. Show that to the user and get their decision. Do not set confirm=True on your own because the user asked to delete earlier: they have not seen the blast radius yet. confirm=True refuses if anything still references the group (parent groups from NSX's group-associations API; DFW and gatew…

  • get_dfw_policyread-only

    [READ] Get full details of a single DFW security policy. Returns one policy object, not an envelope: category, sequence_number, stateful, scope and rule count. Use it once list_dfw_policies has narrowed to one id — never a display name. Then call list_dfw_rules for the rules inside. Args: policy_id: Policy identifier (e.g. 'app-tier-policy'). target: Optional NSX Manager target from config.

  • get_dfw_rule_statsread-only

    [READ] Get packet/byte hit-count statistics for a DFW rule. Returns one flat stats object, not an envelope: packet_count, byte_count, session_count, hit_count, popularity_index. Use it before update_dfw_rule or delete_dfw_rule to see if a rule still matches traffic; counters are cumulative and may read zero on a new rule. Ids come from list_dfw_rules. Args: policy_id: Parent policy identifier. rule_id: Rule identifier. target: Optional NSX Manager target from config.

  • get_groupread-only

    [READ] Get details of a security group including membership criteria and effective members. Returns one group object: its expression rules, member_count (the group's real size), and members — an envelope holding at most the first 50 effective VirtualMachine members, whose truncated flag says whether more were withheld. Report member_count as the size; counting members.items reports the sample instead. Use it once list_groups has narrowed to one id; membership is evaluated by NSX, so a tag written with apply_vm_tag may take seconds to appear. Args: group_id: Group identifier (e.g. 'web-ti…

  • get_idps_statusread-only

    [READ] Get IDPS signature status and global IDS settings. Returns one bundle, not an envelope: 'signature_status' (scalar fields of the signature bundle status, e.g. version/update state — names vary by NSX release) and 'settings' (auto_update, ids_events_to_syslog). Use it first to confirm IDS is on and current, then list_idps_profiles for the profiles. No per-signature or per-event detail, and 'signature_status' may be empty where IDS was never enabled. Args: target: Optional NSX Manager target from config.

  • get_traceflow_resultread-only

    [READ] Get the current state and observations of an existing Traceflow. Use this to check a previously initiated traceflow without waiting. Returns operation_state (IN_PROGRESS / FINISHED / FAILED) and observations typed by resource_type; Dropped* ones carry reason and acl_rule_id. Only a traceflow run_traceflow left IN_PROGRESS at its timeout is still on the manager — a completed one is deleted server-side and its id 404s here. Args: traceflow_id: Traceflow ID from a previous run_traceflow call. target: Optional NSX Manager target from config.

  • list_dfw_exclusionsread-only

    [READ] List the DFW exclusion list — the members no distributed-firewall rule reaches. Read this before answering any question about a VM being micro-segmented or protected by DFW policy. A VM on this list has no DFW in its datapath: rules that name it, groups that contain it and policies scoped to it all still exist and none of them apply. On a VCF estate the management VMs (vCenter, VCF Operations, NSX managers) are commonly on it. Returns the list envelope. 'items' holds one row per excluded member: the group 'path', its 'id' and 'display_name', the 'virtual_machines' in it and 'vm_count'…

  • list_dfw_policiesread-only

    [READ] List DFW security policies in the default domain. Start here. Returns the list envelope: 'items' holds each policy's id, display_name, category, sequence_number, stateful flag and rule count; 'returned'/'limit'/'total'/'truncated'/'hint' say whether the page is the whole answer — never read a full page as complete, narrow with name_filter or page with offset. Then get_dfw_policy for one policy's detail, or list_dfw_rules for the rules inside. Page with 'next_offset': pass the value back as 'offset' and stop when it is null. Do not loop on 'truncated' — that says this page is not the w…

  • list_dfw_rulesread-only

    [READ] List rules in a DFW security policy. Returns the list envelope: 'items' holds each rule's id, display_name, action, sources, destinations, services, direction, disabled flag and sequence number; 'returned'/'limit'/'truncated'/'hint' say whether the page is complete. 'total' is always null here — a full page reports truncated=true and must be paged with offset; one Application policy can hold thousands of rules. Get policy_id from list_dfw_policies; then get_dfw_rule_stats for a rule's hit counts. Page with 'next_offset': pass the value back as 'offset' and stop when it is null. Do not…

Show 7 more tools
  • list_groupsread-only

    [READ] List NSX security groups in the default domain. Returns the list envelope: 'items' holds each group's id, display_name, description and expression count; 'returned'/'limit'/'total'/ 'truncated'/'hint' say whether the page is the whole answer — never read a full page as complete, narrow with name_filter or page with offset. Then get_group for one group's criteria and effective members. Page with 'next_offset': pass the value back as 'offset' and stop when it is null. Do not loop on 'truncated' — that says this page is not the whole collection, which stays true on the last page of a wal…

  • list_idps_profilesread-only

    [READ] List IDPS profiles configured in NSX. Returns the list envelope: 'items' holds each profile's id, display_name, profile_severity (comma-joined), criteria (filter_name/filter_value pairs, e.g. ATTACK_TYPE or CVSS) and overridden signature count; 'returned'/'limit'/'total'/'truncated'/ 'hint' say whether the page is the whole answer — never read a full page as complete, narrow with name_filter or page with offset. Then get_idps_status for the signature-bundle version and IDS settings. Page with 'next_offset': pass the value back as 'offset' and stop when it is null. Do not loop on 'trun…

  • list_vm_tagsread-only

    [READ] List all NSX tags applied to a virtual machine. Returns the list envelope: 'items' holds the VM's scope/tag pairs and 'vm_id' the fabric UUID apply_vm_tag and remove_vm_tag require — call this first to get it. Tags always arrive in one response, so 'truncated' is always false and empty 'items' means the VM really has no tags. 'tags' is a deprecated pre-1.8.0 alias of 'items', removed in 2.0 — read 'items'. Returns {"error", "hint"} if no VM matches, or several do. Args: vm_display_name: Exact vCenter display name (case-sensitive, no wildcards). This skill does not enumerat…

  • remove_vm_tagcan change or delete data

    [WRITE] Remove an NSX tag from a virtual machine. Returns {"status": "removed", "vm_id", "scope", "tag"}, not the VM's remaining tags. Only the exact scope/value pair is removed — other tags survive. Removing a tag changes dynamic group membership immediately — groups with tag Conditions stop matching the VM — so re-check with get_group. Use list_vm_tags first to confirm the pair. Args: vm_id: VM external ID (fabric UUID, from list_vm_tags). tag_scope: Scope of the tag to remove (e.g. 'env'). tag_value: Value of the tag to remove (e.g. 'production'). target: Optional NSX Mana…

  • run_traceflow

    [WRITE] Run a Traceflow to trace a packet's path through the NSX overlay. Injects a synthetic probe from the source port. Returns traceflow_id, operation_state (IN_PROGRESS / FINISHED / FAILED) and hop-by-hop observations typed by resource_type; Dropped* ones carry reason and acl_rule_id. Use it to find which DFW rule drops a flow, then get_dfw_rule_stats on that rule. A FINISHED traceflow is deleted server-side and its id 404s; only one still IN_PROGRESS at timeout_seconds survives for get_traceflow_result to poll. Args: src_lport_id: Source logical port ID — the VM NIC attachment UUID.…

  • update_dfw_policy

    [WRITE] Partially update a DFW security policy (PATCH — only provided fields change). Returns the updated policy dict; omitted arguments keep their values, so read them with get_dfw_policy first. Use it to rename or re-prioritise the policy itself — to change a rule inside use update_dfw_rule. Args: policy_id: ID of the policy to update. display_name: New display name. description: New description. sequence_number: New sequence number. stateful: New stateful flag. target: Optional NSX Manager target from config.

  • update_dfw_rule

    [WRITE] Partially update a DFW rule (PATCH — only provided fields change). Returns the updated rule dict; omitted arguments keep their values, so read them with list_dfw_rules first. Use it to retarget, re-prioritise or disable a rule — to add one use create_dfw_rule, to remove one delete_dfw_rule. Args: policy_id: Parent policy identifier. rule_id: Rule identifier to update. display_name: New name. action: New firewall action. sources: New source groups. destinations: New destination groups. services: New services. logged: New logged flag. disabled: New d…

Signals

Stars
4
Forks
0
Open issues
0
Weekly downloads
375
Last commit
Oct 18, 2026 (13 days ago)
Last release
Oct 18, 2026 (13 days ago)
Last package publish
Oct 18, 2026 (13 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.vmware-skills/vmware-nsx-security
Version
1.17.1
Auth
No auth
Packages
pypi vmware-nsx-security
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from vmware-skills

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get VMware NSX Security running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying VMware NSX Security?

CallGet help
Cite this page

VMware NSX Security MCP server. Agent Mart. https://agentmart.dev/connectors/vmware-skills-vmware-nsx-security (last updated 2026-10-24)