Skip to main content
Glama
sgdev279

utility-network-mcp

by sgdev279

Utility Network questions are hard for general-purpose AI: the answer depends on the dataset version, the deployment, which API you're in, and a long list of ordering rules and gotchas. This project packages that knowledge so an agent answers like an experienced UN implementer โ€” and connects agents to a live network through MCP.

What it is

For

๐Ÿง  Skill

30+ curated reference files, answer templates, helper scripts and evals

Claude.ai, Claude Code, any agent that reads Agent Skills

๐Ÿ”Œ MCP server

utility-network-mcp: trace, subnetwork, dirty-area and association tools over the UtilityNetworkServer REST API

Claude Desktop, Claude Code, VS Code, Cursor and other MCP clients

See it in action

Ask the questions you'd ask a senior UN consultant:

"Apply Asset Package keeps failing when I add gas to our water UN. Pro 3.5, Enterprise 11.3."

โ†’ Troubleshooting answer walking the four prerequisites that cause most failures (maps closed, topology disabled, Pro/UN version match, both owners on DEFAULT), and why the tool is additive.

"Write the REST request for an isolation trace from this main at the midpoint, stopping at operable valves, on version crew1.outage."

โ†’ Complete request with percentAlong, filter barriers and gdbVersion, checked by a validator for the mistakes that make traces silently return nothing.

"Our dirty areas show Status 1, 9 and 40 โ€” which ones matter?"

โ†’ Decoded bitmask: 1 is a pending edit, 9 and 40 carry feature and subnetwork errors, with the next action for each.

"Hook Claude up to our electric UN so dispatch can ask what's downstream of a breaker."

โ†’ Route recommendation (Esri's MCP beta vs. custom GP tools vs. this MCP server), tool list, auth, write-safety rails and licensing.

Related MCP server: servicenow-platform-mcp

Quick start

Claude Code

claude plugin marketplace add sgdev279/esri-utility-network-skill
claude plugin install utility-network@esri-utility-network

Claude.ai / Claude desktop app โ€” download utility-network.skill from the latest release and add it to your skills.

Any skills-aware agent โ€” copy plugins/utility-network/skills/utility-network into its skills folder.

MCP server โ€” see mcp-server/README.md:

pip install utility-network-mcp

What the skill knows

Area

Coverage

Core model

Structure & domain networks, tiers (partitioned/hierarchical), subnetworks, terminals, asset groups/types, network attributes, categories, rules

Operations

Network topology, dirty areas & the Status bitmask, Error Inspector, Update/Export Subnetwork, branch versioning conflicts

Tracing

All trace types, traversability, filter barriers, functions, propagators, output filters โ€” plus the full REST traceConfiguration schema

Deployment

UN Foundations & asset packages, dataset versions 4โ€“8 with the Pro/Enterprise compatibility matrix, Upgrade Dataset, publishing, owners, licensing

APIs

REST (UtilityNetworkServer, NetworkDiagramServer, versioning, validation), ArcGIS Maps SDK for JavaScript, Pro SDK (C#), arcpy.un, Experience Builder

AI agents

Esri's MCP betas, GP-task tools, and a design guide + template for a UN MCP server

Every answer follows a defined format (how-to, troubleshooting, code, MCP design, concept, cross-API translation), states which versions it applies to, and flags anything unverified.

How it's built

flowchart LR
    Q[User question] --> S[SKILL.md<br/>workflow ยท disambiguation ยท answer formats]
    S -->|loads only what's needed| R[(references/<br/>pro-help ยท rest-api ยท js-api<br/>pro-sdk ยท arcpy ยท mcp)]
    S -->|runs instead of guessing| T[scripts/<br/>status decoder ยท association codes<br/>trace request checker]
    S --> A[Structured answer<br/>with version caveats]
    M[utility-network-mcp] -->|REST| U[(Your ArcGIS Enterprise<br/>Utility Network)]
    A -. "connect an agent" .-> M

The skill uses progressive disclosure: Claude reads the short SKILL.md first, then pulls in only the reference files a question needs, so broad coverage doesn't cost context on every question.

Help improve it

The skill is designed to grow. You can contribute without writing code:

  • Share knowledge โ€” a gotcha you hit, a fix from Esri Community, a doc page the skill should know โ†’ open an "Add UN knowledge" issue

  • Report something wrong or outdated โ†’ open a correction

  • Write a reference file โ†’ python tools/new_reference.py scaffolds one in the house format; CI checks it

Details in CONTRIBUTING.md. Planned content is tracked in the roadmap, and content freshness in docs/FRESHNESS.md.

Repository layout

plugins/utility-network/skills/utility-network/   the skill
  SKILL.md                                         entry point: workflow, routing, answer formats
  references/                                      topic files (pro-help, rest-api, js-api, pro-sdk, arcpy, mcp โ€ฆ)
  scripts/                                         helpers + MCP server template
  evals/                                           test prompts and trigger tests
mcp-server/                                        utility-network-mcp Python package
tools/                                             maintainer tools (scaffold, lint, freshness)
knowledge-inbox/                                   raw notes waiting to be turned into references
docs/                                              roadmap, freshness report, assets
.github/                                           CI, release, issue forms

Disclaimer

Independent community project โ€” not affiliated with or endorsed by Esri. ArcGIS and ArcGIS Utility Network are trademarks of Esri. Reference content is written in our own words from public Esri documentation; each file lists its sources and review date. Always confirm version-specific behaviour against Esri's documentation before production changes.

Author

Built by Sayanta Ghosh (@sgdev279). If this helps your utility GIS work, a โญ helps others find it.

Licensed under the MIT License.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to interact with ServiceNow through MCP, providing schema inspection, record CRUD, attachments, audit, Flow Designer, and platform investigations with policy-guarded access.
    15
    160 PyPI
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to integrate with IBM Business Automation Workflow by exposing workflow REST services as MCP tools, allowing natural language interaction with business automation capabilities.
    11
    Apache 2.0