Skip to main content
Glama
landynsnipes

Enterprise MCP Kit

by landynsnipes

Enterprise MCP Kit

Validate

Bounded MCP jobs for systems you already run, plus a governed AIOps lab that proves the same controls under failure. Clone the repo, build once, and point a client at one exact object in NetBox, Grafana, Zabbix, WireGuard, Kubernetes, or OPNsense. Writes stay off until you enable them.

This is not a generic vendor API, shell, kubectl, playbook runner, or autonomous remediation product.

Five-minute start

git clone https://github.com/landynsnipes/enterprise-mcp-kit.git
cd enterprise-mcp-kit
npm ci
npm run build

Existing system

Command

You supply

Guide

NetBox

enterprise-mcp-netbox

URL + API token

Connect existing NetBox

Grafana

enterprise-mcp-grafana

URL + service account token

Connect existing Grafana

Zabbix

enterprise-mcp-zabbix

URL + API token

Connect existing Zabbix

WireGuard

enterprise-mcp-wireguard

HTTP status API or local wg

Connect existing WireGuard

Kubernetes + Ansible

enterprise-mcp-kubernetes

API server + token; optional admitted playbooks

Connect existing Kubernetes and Ansible

OPNsense

enterprise-mcp-opnsense

URL + API key/secret

Connect existing OPNsense

Copy examples/mcp/mcp.json.example into Claude Desktop, Cursor, or another stdio MCP client. Ask a job such as “What does Zabbix know about host edge-01?”

Full install, container, and live-check steps: Use an MCP.

Related MCP server: NetBox MCP Server

Choose a path

Path

When to use

Start

Use an MCP

You already operate one system above

docs/use-an-mcp.md

Governed AIOps lab

You want the integration → observe → recommend → approve → verify loop

docs/run-the-lab.md

Governed AIOps lab

The supported product is the stdio MCP connectors. The lab is the public proof that those connectors sit inside a real operational workflow:

NetBox source of truth
  → Ansible / desired state
  → Kubernetes workloads
  → Zabbix + Prometheus
  → Grafana
  → bounded recommendation (LLM output is untrusted)
  → human approval
  → admitted execution only
  → telemetry verification or rollback

Measured lab evidence, with SHA-256 artifacts and remaining limitations, is in the acceptance evidence ledger. The AT evidence case study walks the same numbers as problem → constraints → architecture → executed proofs → limitations. Architecture decisions and failure assumptions are in the two-site architecture contract.

The current lab proves governed recommendations, logical two-site topology, bounded execution, runtime verification, rollback, and isolated database recovery. It does not prove independent-site high availability, physical disaster recovery, production scale, or autonomous remediation. The deterministic incident evaluator does not call a production LLM.

Recommendation quality is a separate, versioned track: incident recommendation eval. npm run eval:incident-recommendation replays a closed-schema adversarial corpus offline. npm run eval:incident-recommendation:live is implemented and is not part of CI. No live-model baseline has been published yet. Neither path grants the model an execution capability.

Safety defaults

  • Exact identifiers only. No host lists, dashboard search, or firewall shells.

  • *_ENABLE_WRITES defaults to false. Mutations require an expected current value.

  • Tokens and WireGuard private keys never appear in tool output.

  • Compatibility and what tests actually prove: docs/compatibility.md.

  • Vulnerability reports: SECURITY.md.

  • Threat model, residual risk, and evidence links: docs/threat-model.md.

NetBox is live-verified against the included Community 4.6.5 lab. Grafana, Zabbix, WireGuard, Kubernetes, and OPNsense ship with mocked contract tests plus an operator verify:connector hook for your system.

Status

Version 0.2.0. Apache-2.0. The stdio MCP surfaces are the supported product. The governed HTTP gateway, CloudEvents path, and two-site AIOps lab remain evaluation or reference work. See CHANGELOG.md, Enterprise distribution architecture, and the NetBox adapter contract.

Local commands

npm run validate
npm run verify:connector

License

Licensed under the Apache License 2.0.

Available Tools

5 tools
get_connectivity_pathA

Read bounded NetBox circuit and VPN evidence directly connecting two exact sites. It does not claim a runtime routed path and performs no write operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
toSiteYes
fromSiteYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
sourceYes
toSiteYes
fromSiteYes
segmentsYes
unknownsYes
truncatedYes
completenessYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden and it does so well: it states the read-only nature, bounded scope, exact-site matching, and that no routed path is claimed. It omits details such as auth or result-when-absent, but preserves the key safety and expectation-setting traits.

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 dense sentences front-load the core purpose and then cover boundary behavior. There is no filler or repetition of schema data.

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

Completeness5/5

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

For a two-parameter read tool with an output schema, the description supplies operation type, scope, read-only guarantee, and a key limitation (no runtime routed path). An agent has enough to invoke it correctly and interpret its results.

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 schema has 0% description coverage, so the description must compensate. It adds that the two sites must be exact and direct evidence is returned, but it never names fromSite/toSite or explains their expected format, leaving some meaning to be inferred from the parameter names.

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 names a specific verb ('Read') and a specific resource ('bounded NetBox circuit and VPN evidence') connecting two exact sites. This clearly distinguishes it from sibling context/rack/device/power tools.

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?

It communicates that the tool is for direct, exact site-to-site circuit/VPN evidence, not a runtime routed-path checker. It does not name sibling alternatives explicitly, but the scope and explicit non-claim give usable selection guidance.

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

get_device_contextA

Read one exact NetBox device context. This tool performs no write operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
nameYes
roleYes
siteYes
sourceYes
statusYes
platformYes
deviceTypeYes
primaryIpv4Yes
primaryIpv6Yes
versionComplianceYes
versionObservedAtYes
versionEvidenceSourceYes
minimumApprovedVersionYes
observedSoftwareVersionYes

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly states 'This tool performs no write operations,' which is a meaningful safety guarantee. It does not cover error behavior, but for a simple read-only lookup with an output schema this is sufficient.

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 short sentences with no filler. The purpose is front-loaded and the read-only guarantee is stated efficiently.

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?

The output schema covers return values, and the read-only behavior is clear. However, the description leaves the identification contract ambiguous: both schema parameters are optional, and the description does not clarify that at least one is needed or whether 'name' refers to the device context name. This is a gap for reliable invocation.

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 description coverage is 0%, and the description does not explain how to use the 'id' or 'name' parameters. The word 'exact' implies a precise identifier, but the description never states that either id or name must be provided, or how they relate to the target device context.

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 uses a specific verb ('Read') and resource ('one exact NetBox device context'), making the operation clear. It also distinguishes itself from sibling tools like get_rack_context and get_site_overview by specifying the target resource type.

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?

The description clearly implies when to use this tool: when an agent needs to retrieve a single device context from NetBox. It does not explicitly name alternatives or exclusions, but the context is unambiguous for a simple read tool.

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

get_power_pathA

Read bounded NetBox inventory evidence for what powers one exact device: its power ports, cabled PDU outlets, and recorded rack power feeds. It never claims live electrical state and performs no write operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
deviceYes
sourceYes
unknownsYes
truncatedYes
powerPortsYes
redundancyYes
recordedRackPowerFeedsYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It explicitly states that the tool performs no write operations and never claims live electrical state, which is strong behavioral disclosure. It does not address edge behaviors such as missing parameters or error handling, but the core safety and data-fidelity caveats are present.

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 one clean, front-loaded sentence with a follow-up caveat. Every clause contributes: the resource scope, the specific evidence returned, the read-only behavior, and the live-state limitation. There is no redundant filler.

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

Completeness4/5

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

Given the output schema exists and the tool is a simple read-only query, the description covers scope, safety, and data limitations well. The main remaining gap is the absence of parameter guidance for id/name, but otherwise the description is substantially complete for an agent to understand and invoke the tool.

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 description coverage is 0%, so the description must explain what id and name mean, but it does not. It only says the tool looks at 'one exact device,' leaving unclear whether id is a device ID, whether name is a device name, whether either is sufficient, or whether both are needed.

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 states a specific verb ('Read') and a precise resource: bounded NetBox inventory evidence for what powers one exact device, listing power ports, cabled PDU outlets, and rack power feeds. This clearly separates it from the sibling tools focused on device context, site overview, rack context, and connectivity paths.

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?

The description gives clear context about what data the tool returns and explicitly excludes live electrical state and write operations, signaling when not to use it. However, it does not explicitly name alternative tools or state a direct 'use this when...' condition, so it falls just short of a 5.

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

get_rack_contextA

Read one exact NetBox rack by ID or exact site and rack name, including a bounded device elevation summary and recorded power-feed count. This tool performs no write operations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
nameYes
roleYes
siteYes
sourceYes
statusYes
tenantYes
devicesYes
locationYes
truncatedYes
facilityIdYes
descriptionYes
deviceCountYes
heightUnitsYes
widthInchesYes
powerFeedCountYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description must carry the behavioral burden, and it does by explicitly stating 'This tool performs no write operations' and describing the response as 'bounded'. It does not cover edge cases such as not-found behavior or authentication, but the central read-only side-effect guarantee is clearly disclosed.

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 with no redundant filler. It front-loads the action and resource, then adds the key behavioral guarantee, making every clause informative.

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?

The tool has an output schema and no true schema-defined parameters, so the description covers most operational facts. However, the unresolved mismatch between the stated selection criteria and the empty input schema, along with the lack of any siblings routing, leaves an agent uncertain about how to actually invoke the tool.

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?

The input schema declares zero properties, yet the description says the rack is selected 'by ID or exact site and rack name', implying parameters that are not present in the schema. The zero-parameter baseline would normally be 4, but the description introduces a misleading invocation contract that an agent cannot satisfy based on the provided 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 uses a specific verb, 'Read', and names a precise resource: 'one exact NetBox rack'. It further specifies the returned content ('bounded device elevation summary' and 'recorded power-feed count'), making the tool's purpose clear and distinct from sibling tools that target devices, sites, connectivity, or power paths.

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?

The description establishes a clear usage context: exact single-rack lookup by ID or exact site and rack name. It does not explicitly name alternatives or state when not to use this tool, so it falls short of full routing guidance, but the intended scenario is understandable.

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

get_site_overviewA

Read one exact NetBox site and a bounded summary of its devices, racks, active circuits, contacts, and software compliance. This tool performs no write operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
nameYes
regionYes
sourceYes
statusYes
tenantYes
devicesYes
facilityYes
rackCountYes
truncatedYes
deviceCountYes
activeCircuitCountYes
softwareUnknownCountYes
contactAssignmentCountYes
softwareCompliantCountYes
softwareNonCompliantCountYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does state that the tool performs no write operations and returns only a bounded summary, which is useful. However, it does not elaborate on potential side effects, error behavior, authentication needs, or how 'bounded' manifests in the response. The disclosure is present but minimal.

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 the core action and resource, and every word contributes meaningful information. The summary scope is presented immediately after the verb, and the safety note is concise without padding.

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?

The description covers the tool's purpose, scope, and non-mutating nature, which is adequate given the output schema exists. However, it omits crucial parameter semantics — especially since neither parameter is marked required — and gives no explicit guidance on choosing between id and name. These gaps prevent the description from being fully self-sufficient.

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?

The schema provides only raw types for id and name with no descriptions, and the description itself adds no parameter-level detail. It is not clear whether one identifier is required, whether they are mutually exclusive, or what happens if both are provided. Since schema description coverage is 0%, the description needed to compensate but did not.

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 a specific verb ('Read'), a precise resource ('one exact NetBox site'), and the bounded scope of the return value (devices, racks, active circuits, contacts, software compliance). This distinguishes it from the sibling tools, all of which target different resources or aspects of the network.

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: call this when you need a single site's overview rather than a device-, rack-, or connectivity-level view. However, it does not explicitly state when to use this tool versus the listed siblings, nor does it mention exclusions or prerequisites. The 'one exact' wording helps but leaves the routing decision mostly to inference.

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. Dates show when Glama detected each change.

  1. 5 tool updatesv0.2.0
    • First observedget_connectivity_path
    • First observedget_device_context
    • First observedget_power_path
    • First observedget_rack_context
    • First observedget_site_overview

TDQS

A3.9/5.0
Disambiguation4/5

Each tool targets a distinct read perspective—device context, site overview, site-to-site connectivity, rack context, and power path—so an agent can usually choose the right one. There is mild thematic overlap in site/rack/power summaries, but the bounded scopes keep the boundaries clear.

Naming Consistency4/5

All tool names consistently begin with get_, making the read-only convention obvious and predictable. However, the suffixes vary between context, overview, and path, so the naming is not perfectly uniform.

Tool Count5/5

Five tools is a focused and appropriate size for a read-only infrastructure visibility server. Each tool covers a meaningful query area without unnecessary redundancy.

Completeness4/5

The set covers the core infrastructure visibility concerns: site, device, rack, power, and site-to-site connectivity evidence. It lacks broader device-detail or circuit-list tools, but the bounded summaries avoid major dead ends for the apparent read-only scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Read-only MCP server for NetBox that enables LLMs to query NetBox objects (devices, IPAM, etc.) and change logs through natural language, with field filtering for token optimization.
    4
    224
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Provides MCP tools for governed multi-vendor network device operations, including configuration management (backup, diff, merge, replace, rollback) and read-only queries (facts, interfaces, BGP, LLDP, ARP) via NAPALM, with optional NetBox source-of-truth integration.
    33
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP server for interacting with Nautobot, enabling network source of truth queries, device management, IPAM, and data quality audits via tools and prompts.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/landynsnipes/enterprise-mcp-kit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server