Netris MCP Server
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., "@Netris MCP Servercreate a new VPC named staging for the engineering tenant"
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.
Netris MCP Server
Use natural language to manage your Netris network fabric.
What it does
The Model Context Protocol (MCP) is an open standard that lets AI assistants connect to external tools and data sources. This server implements MCP for Netris, a network automation platform that manages physical and virtual network infrastructure. Once connected, you can ask Claude (or any MCP-compatible client) to list sites, create VPCs, configure BGP sessions, set up load balancers, manage NAT rules, and more — all in plain English, without logging into the Netris web UI or writing API calls yourself.
The server exposes 72 tools across 12 modules covering the Netris API surface: VPCs, VPC peering, virtual networks (VNets), eBGP sessions, BGP policy objects, sites, device inventory, IPAM (subnets and allocations), NAT rules, L4 load balancers, ACLs, static routes, and tenants. It also provides 10 workflow guides (MCP prompts) that walk Claude through multi-step operations — from bootstrapping a new deployment and GPU cluster provisioning to VPC peering, ACL setup, and network troubleshooting.
Related MCP server: PlugLayer MCP Server
Requirements
Python 3.10 or later
uvpackage managerA running Netris controller (self-hosted or cloud) with valid credentials
Installation
git clone <repo-url>
cd netris-mcp
uv syncConfiguration
Environment variables
Copy the example file and fill in your values:
cp .env.example .envEdit .env:
NETRIS_HOST=netris.example.com
NETRIS_USERNAME=admin
NETRIS_PASSWORD=your-password-hereThe full set of environment variables is:
Variable | Required | Default | Description |
| Yes | — | Hostname or IP of the Netris controller. No scheme — e.g. |
| Yes | — | Netris login username. |
| Yes | — | Netris login password. |
| No |
| Set to |
| No |
| How often (in seconds) the server pings the Netris API to keep the session alive. Minimum 60. |
| No |
| Per-request HTTP timeout in seconds. |
Variables can be set in a .env file in the project root, or passed directly in the environment (e.g. via the Claude Desktop config below).
Connecting to Claude Desktop
Add the following to your Claude Desktop configuration file. On macOS, the file is at ~/Library/Application Support/Claude/claude_desktop_config.json.
{
"mcpServers": {
"netris": {
"command": "uv",
"args": ["--directory", "/path/to/netris-mcp", "run", "netris-mcp"],
"env": {
"NETRIS_HOST": "your-netris-controller.example.com",
"NETRIS_USERNAME": "admin",
"NETRIS_PASSWORD": "your-password"
}
}
}
}Replace /path/to/netris-mcp with the absolute path to where you cloned this repository. Restart Claude Desktop after editing the config. A ready-to-copy example is also available at examples/claude_desktop_config.json.
Available Tools
VPC (tools/vpc.py)
Tool | Description |
| List all VPCs in Netris. |
| Get a single VPC by ID. |
| Create a new VPC, assigning it to a named tenant. |
| Delete a VPC by ID. |
| Mark a VPC as the default VPC for the deployment. |
VNet (tools/vnet.py)
Tool | Description |
| List all virtual networks (VNets) in Netris. |
| Get a single VNet by ID. |
| Create a new VNet, associating it with one or more sites and a tenant. Optionally assigns a VLAN ID. |
| Delete a VNet by ID. |
BGP (tools/bgp.py)
Tool | Description |
| List all eBGP peer sessions in Netris. |
| Get a single eBGP session by ID. |
| Create an eBGP session with neighbor AS, IPs, optional password/BFD/multihop. |
| Delete an eBGP session by ID. |
| List all BGP objects (prefix lists, community lists). |
| Create a BGP prefix list or community list for route filtering. |
| Delete a BGP object by ID. |
| List all route maps for BGP policy. |
| Create a route map with permit/deny rules for BGP policy. |
| Delete a route map by ID. |
Sites (tools/sites.py)
Tool | Description |
| List all sites in Netris. |
| Get a single site by ID. |
| Create a site with name, public ASN, and optional ROH/VM ASNs and site mesh. |
| Update a site's name, ASN, or mesh topology. |
| Delete a site by ID. |
Inventory (tools/inventory.py)
Tool | Description |
| List all hardware inventory (switches, SoftGates, controllers). |
| Get a single inventory item by ID. |
| List all Netris controller nodes. |
| List all SoftGate nodes. |
| Get a single SoftGate by ID. |
| Register a new SoftGate at a site with main and management IPs. |
| Update a SoftGate's IP configuration. |
| Remove a SoftGate from inventory. |
| List all switches managed by Netris. |
| Get a single switch by ID. |
IPAM (tools/ipam.py)
Tool | Description |
| List all subnets in the Netris IPAM ( |
| Get a single subnet by ID. |
| Create a subnet with prefix, tenant, purpose ( |
| Update a subnet's purpose or site assignments. |
| Delete a subnet by ID. |
| List all top-level IP allocations. |
| Get a single allocation by ID. |
| Create a new top-level IP allocation block. |
| Delete an allocation by ID. |
NAT (tools/nat.py)
Tool | Description |
| List all NAT rules (SNAT and DNAT). |
| Get a single NAT rule by ID. |
| Create a Source NAT rule — rewrites source IP of outbound packets. Requires |
| Create a Destination NAT rule — port-forwards inbound traffic to an internal host. |
| Enable or disable a NAT rule. |
| Delete a NAT rule by ID. |
L4 Load Balancer (tools/l4lb.py)
Tool | Description |
| List all L4 load balancers. |
| Get a single L4LB by ID. |
| Create an L4LB with frontend VIP/port, protocol, and backend pool. |
| Replace the backend pool of an existing L4LB. |
| Delete an L4LB by ID. |
Tenants (tools/tenants.py)
Tool | Description |
| List all tenants. |
| Get a single tenant by ID. |
| Create a tenant with subnet/VNet quotas. |
| Update a tenant's name or description. |
| Delete a tenant (requires all owned resources removed first). |
VPC Peering (tools/vpc_peering.py)
Tool | Description |
| List all VPC peering connections. |
| Get a single VPC peering by ID. |
| Peer two VPCs to enable cross-VPC routing. Most commonly used to peer a tenant VPC with the System VPC for internet access. |
| Delete a VPC peering by ID. |
Static Routes (tools/static_routes.py)
Tool | Description |
| List all static routes across all VPCs. |
| Get a single static route by ID. |
| Create a static route with destination prefix, next-hop, VPC, and site. |
| Delete a static route by ID. |
ACL (tools/acl.py)
Tool | Description |
| List all ACL rules in Netris. |
| Get a single ACL rule by ID. |
| Create an ACL permit/deny rule with source/destination CIDR, optional protocol and port matching. |
| Delete an ACL rule by ID. |
Available Guides (Prompts)
MCP prompts are workflow guides that instruct Claude on the correct sequence of steps and tools to use for multi-step operations. Invoke them by name in Claude Desktop (e.g. "Use the site onboarding guide for site DC-West with ASN 65001").
Guide | Parameters | What it does |
|
| Walks through creating a site, verifying it, checking controllers, and registering SoftGates. |
|
| Guides through creating a VPC, IP allocation, subnet, and VNet in the correct order. |
|
| Steps through verifying prerequisites, checking existing sessions, and creating an eBGP session with optional route policy. |
|
| Covers prerequisite checks, backend preparation, L4LB creation, and health status verification. |
|
| End-to-end first-time setup: tenant → site → IP allocations → subnets → SoftGate → VPC → VNet → BGP peering, with a final verification checklist. |
Example usage
List all sites
"What sites do I have in Netris?"
Claude calls list_sites and presents the results in a readable table.
Provision a VPC
"I need a new VPC called 'prod-vpc' for the 'acme' tenant using subnet 10.100.0.0/24 at site DC-East. Use the VPC provisioning guide."
Claude invokes the provision_vpc guide, then calls list_tenants (verify tenant), create_vpc, create_allocation, create_subnet, and create_vnet in order.
Set up BGP peering
"Configure BGP peering with our upstream ISP at 198.51.100.1 (AS 64512). Our local address is 198.51.100.2 and the site is DC-West."
Claude calls list_sites to verify the site, list_bgp_sessions to check for conflicts, then create_bgp_session.
Set up a load balancer
"Create an L4 load balancer called 'api-lb' on site DC-East for tenant acme. Frontend is 203.0.113.10:443 TCP with backends 10.0.1.10:8443 and 10.0.1.11:8443."
Claude calls list_sites, list_tenants, list_l4lb (conflict check), then create_l4lb.
Bootstrap a new deployment
"Bootstrap a fresh Netris deployment for organisation 'AcmeCorp'. First site is 'HQ' with ASN 65000. Use management block 10.0.0.0/24, loopback 10.0.255.0/29, public 203.0.113.0/26."
Claude invokes the bootstrap_network guide and executes all 7 phases in sequence.
Authentication
This server uses Netris's cookie-based session authentication. On startup, it posts your credentials to /api/v2/auth/login and stores the returned connect.sid session cookie in a persistent httpx.AsyncClient. A background task re-hits the /api/v2/auth/profile endpoint every NETRIS_SESSION_REFRESH seconds (default 30 minutes) to prevent the session from expiring during a long-running server process.
Your credentials are read once from the environment at startup and are never transmitted to the AI model or stored outside the running process. They stay on your machine, in your .env file or the Claude Desktop config's env block.
Adding new tools
Create a new file in
src/netris_mcp/tools/, e.g.src/netris_mcp/tools/myresource.py.Import
mcpfrom..serverand defineasync deffunctions decorated with@mcp.tool().Use
api_url()from..clientto build URLs andget/post/put/deleteto make requests.Add an import line at the bottom of
src/netris_mcp/server.py:from .tools import myresource # noqa: E402, F401
The decorator registers the tool with the MCP server at import time. See the CLAUDE.md file for the exact code pattern and rules to follow.
API endpoint verification
URL paths in the tool source files include inline comments linking to the Netris OpenAPI specification at netrisai/swagger-sources for quick cross-referencing. Some resource names differ from the obvious pattern (for example, BGP sessions use /api/v2/ebgp/, and VNets use /api/v2/v-net/). Always verify against the Swagger source when adding new endpoints.
License
MIT
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
- AlicenseNot gradedqualityFmaintenanceEnables management of Netskope Network Private Access (NPA) infrastructure through natural language commands. Supports Zero Trust Network Access operations including publisher management, private application configuration, policy controls, and system monitoring.338ISC

PlugLayer MCP Serverofficial
AlicenseCqualityBmaintenanceEnables deploying and managing infrastructure via natural language, including project/domain management, compute nodes, image deployment, and CI/CD integration.70MIT- FlicenseNot gradedqualityDmaintenanceEnables natural language management of Juniper Apstra datacenter networks, including blueprints, virtual networks, connectivity templates, and deployment.2
- FlicenseNot gradedqualityDmaintenanceEnables natural language management of apps, services, resources, attributes, and data via the Dimetrics API with full CRUD operations and advanced filtering.
Related MCP Connectors
GibsonAI MCP server: manage your databases with natural language
Official Microsoft MCP Server to query Microsoft Entra data using natural language
LLM chat, text summarization and AI image generation
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/iamjarvs/netris-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server