NIOS WAPI MCP Read Gateway
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NIOS WAPI MCP Read GatewayShow the networks containing 192.0.2 with their utilization."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NIOS WAPI MCP — read gateway
A Model Context Protocol (MCP) server that lets Claude Desktop read an on-prem Infoblox NIOS Grid through its WAPI REST API — IPAM, DNS, DHCP, and grid health, in plain language. It is read-only by design: no write tools exist in this server, so nothing it does can change your grid.
Here's the shape. You run one server — the gateway — and many people connect to it over HTTPS. Each grid is reached through its own read-only NIOS account that lives on the server, so a person connecting needs no grid login at all. One endpoint can serve several grids; the reader picks which one per conversation.
For the design reasoning and guardrail model, see docs/DESIGN.md and the
decision record in docs/adr/0001-host-nios-mcp-server.md.
Read-only by construction. The gateway runs
python -m nios_mcp.gateway, which never imports any write code — "read-only" is a property of the program, not a flag you could flip. Pair it with a read-only NIOS service account and the guarantee is enforced by the grid too.
Run it
One server on a host, TLS in front, many readers connecting over HTTPS. Pick the platform:
Docker + Caddy (Linux):
docs/setup-hosted-docker.md— the quickstart. Deep follow-along on a real Ubuntu VM:docs/deploy-ubuntu-vm.md.Windows Server + IIS:
docs/setup-hosted-iis.md— same gateway, IIS instead of Caddy for TLS. Deep reference:docs/deploy-windows-iis.md.
Both run the identical nios_mcp package; only the run and front-door layer
differs.
Configure the grids
The gateway's whole configuration is two files in deploy/gateway/:
grids.yaml— the registry: one entry per grid (host, WAPI version, read-only account, TLS setting, default view)..env— the endpoint clients connect to (hostname + HTTPS port).
Write both by answering prompts, no hand-editing YAML:
python -m nios_mcp.gateway_setup_cliIt lists, adds, updates, or removes grids, sets the endpoint, and prints the
deploy command plus the Claude Desktop entry to paste. To start from the examples
instead, copy deploy/gateway/grids.example.yaml → grids.yaml and
deploy/gateway/.env.example → .env and edit them.
Quick connectivity check
Before deploying, you can confirm an account can authenticate and read:
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # fill in WAPI_PASSWORD etc.
set -a; source .env; set +a
python smoke_test.py # expects "Auth + read OK"Connect Claude Desktop
Readers connect with no credentials through the mcp-remote bridge. The
setup CLI prints the exact config block; nios-reader-setup.py can also write it
for a reader. In Claude Desktop, ask list_grids, then use_grid("lab"), then
your read. There's no silent default — until a grid is chosen, the gateway says
which grids are available (a single-grid registry is selected automatically).
Related MCP server: readonly-mcp-akamai
What's configuration, not code
Nothing about which grid you talk to is hardcoded. Each grid entry in
grids.yaml carries:
Connection:
host,wapi_version,user,password,verify_tlsBehavior:
default_dns_view
Each account is read-only. To add or move a grid you edit the registry (or rerun the setup CLI) — never the Python.
Tools
You interact with these in plain language in Claude Desktop — the sample prompts
below are just examples. Placeholders (example.net, 192.0.2.x) stand in for
your grid's real zones and networks. Every tool reads; none of them change the
grid.
Networks & IPAM
search_networks — find networks by CIDR fragment or comment, with overall and DHCP utilization. Big grids: ask to summarize for a utilization overview. Try: "Show the networks containing 192.0.2 with their utilization."
list_addresses — every address in a network and how it's used (DNS, DHCP, fixed, or discovered/UNMANAGED). Big subnets: ask for a summary or fewer fields. Try: "Summarize address usage in 192.0.2.0/24."
next_available_ip — the next free address(es) in a network (doesn't reserve). Try: "What's the next available IP in 192.0.2.0/24?"
list_network_containers — the supernets you carve subnets out of. Try: "List the network containers."
next_available_network — a free subnet of a given size inside a container. Try: "Find a free /24 inside 10.0.0.0/16."
DNS
search_dns_records — find A / host / CNAME (etc.) records by name. Try: "Find DNS records with 'web' in the name."
reverse_lookup — what a given IP is used for (names, record types, MAC). Try: "What is 192.0.2.10?"
list_dns_zones — the authoritative zones the grid serves. Try: "List the DNS zones on the grid."
list_zone_records — every record inside a zone (big zones: ask to summarize). Try: "Show all records in the example.net zone."
list_dns_views / list_network_views — the DNS and network view names. Try: "List the DNS views."
list_extensible_attributes — the custom EA definitions on the grid. Try: "List the extensible attributes."
global_search — find any object of any type by name/IP. Try: "Search the grid for anything named 'web'."
get_object_by_ref / get_grid_info — fetch any object by its ref; grid status.
Grid infrastructure
list_grid_members — appliances: IP, platform, HA role, and per-node model (hwtype) + serial (hwid). Lean by default; ask to include services when you need health. Try: "List the grid members with service status."
list_licenses — installed licenses with type and expiry, tied to each member. Try: "Show the grid licenses and when they expire."
DHCP
list_dhcp_ranges — DHCP ranges by network. Try: "List the DHCP ranges in 192.0.2.0/24."
list_fixed_addresses — DHCP reservations (IP↔MAC). Try: "Show the fixed addresses in 192.0.2.0/24."
list_failover_associations — DHCP failover pairs by name. Try: "List the DHCP failover associations."
list_dhcp_leases — active DHCP leases (by network or address). Try: "What DHCP leases are active on 192.0.2.0/24?"
Workflows
grid_health_report — one-shot health summary: utilization hotspots, member service/HA issues, and licenses expiring soon. Try: "Give me a grid health report."
Multi-grid selection
list_grids — the grids this gateway serves. Try: "Which grids can I read?"
use_grid — pick the grid for this conversation. Try: "Use the lab grid."
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseAqualityCmaintenanceRead-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.Last updated5231MIT- AlicenseAqualityDmaintenanceRead-only MCP server for Akamai CDN that enables searching properties, browsing EdgeWorker code, querying DNS zones, inspecting network lists, and translating error codes via natural language.Last updated161MIT
- AlicenseAqualityCmaintenanceRead-only MySQL/MariaDB MCP server for running SELECT queries safely, with automatic read-only enforcement and query limits.Last updated316MIT
- Flicense-qualityDmaintenanceRead-only MCP server for ISPKeeper ISP management software, enabling querying of clients, invoices, collections, internet connections, support tickets, network status, and FTTx infrastructure through MCP-compatible clients.Last updated3
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/phredi-renner/fdr-nios-ro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server