Xentity sought to demonstrate how conversational AI can democratize enterprise geospatial technology. This work transforms complex technical workflows into natural language interactions, enabling organizations to leverage advanced mapping capabilities without specialized GIS expertise.

This ArcGIS Online webmap automation project demonstrates Xentity's commitment to advancing the intersection of AI and Esri geospatial technology. By creating intelligent agents that can understand user intent and automatically generate sophisticated ArcGIS WebMap solutions using Living Atlas data, we're addressing one of the most persistent challenges in enterprise Esri ArcGIS Online workflows: the technical complexity barrier that prevents domain experts from directly accessing and visualizing ArcGIS geospatial insights.

The Esri-integrated solution showcases our expertise in:

  • Model Context Protocol (MCP) server development for ArcGIS automation
  • Esri ArcGIS REST API integration and ArcGIS Online automation
  • React-based Esri ArcGIS Map Component application development
  • ArcGIS Living Atlas data discovery and WebMap integration

As part of our ongoing R&D investment, this ArcGIS Online project continues to evolve with enhanced AI capabilities, expanded ArcGIS Living Atlas dataset integration, and improved Esri WebMap user experience features.

Typography is the art and technique

Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed. The arrangement of type involves selecting typefaces, point size, line length, line-spacing (leading), letter-spacing (tracking), and adjusting the space within letters pairs (kerning).

 

AI-Driven ArcGIS WebMap Generation is a Complex Challenge We Are Ready For

While traditional Esri mapping requires manual ArcGIS Online configuration and deep technical knowledge of ArcGIS WebMap specifications, our AI-powered webmap automation combines natural language processing, ArcGIS Living Atlas data integration, and automated ArcGIS Online visualization to create intelligent Esri mapping solutions. We have established our core competency in integrating conversational AI with enterprise Esri ArcGIS workflows, enabling non-technical users to generate sophisticated ArcGIS Online WebMaps through simple requests.

Key Capabilities:

  • Conversational ArcGIS WebMap Creation: Natural language interface powered by Model Context Protocol (MCP) servers that translate user requests into properly configured Esri ArcGIS Online WebMaps with intelligent ArcGIS layer filtering and Esri styling
  • Automated ArcGIS Living Atlas Integration: AI agents that search, evaluate, and integrate relevant datasets from Esri's ArcGIS Living Atlas based on user intent, eliminating manual ArcGIS Online dataset discovery and WebMap configuration
  • Dynamic ArcGIS Layer Filtering and Visualization: Intelligent definition expression generation that automatically filters ArcGIS Living Atlas datasets based on user requirements (e.g., "show me coal power plants in the US" automatically filters Esri energy infrastructure data from Living Atlas)
  • Real-Time ArcGIS REST API Data Processing: Backend MCP server architecture that handles ArcGIS Online metadata retrieval, Esri REST endpoint queries, and ArcGIS WebMap JSON generation with UTF-8 encoding support for global Living Atlas datasets
  • React-Based ArcGIS Visualization Framework: Modern frontend implementation using Esri ArcGIS Map Components that renders AI-generated ArcGIS Online WebMaps without requiring direct ArcGIS REST API calls from the client
  • Configuration-Driven ArcGIS Architecture: JSON-based ArcGIS WebMap definitions that enable rapid iteration and modification while maintaining compatibility with enterprise Esri ArcGIS Online environments

Technical Innovation Highlights:

The ArcGIS Online webmap automation system leverages a sophisticated three-tier Esri architecture:

  1. AI Agent Layer: Conversational interface that interprets user requests and orchestrates ArcGIS WebMap generation
  2. MCP Server Backend: Python-based service handling Esri ArcGIS REST API interactions, ArcGIS Online metadata retrieval, and ArcGIS WebMap JSON generation. Currently configured to work with ArcGIS Living Atlas, but easily customizable to integrate with enterprise ArcGIS data warehouses, Esri cloud storage systems, or any Esri REST-compliant geospatial services
  3. React Visualization Frontend: Modern web application that renders AI-generated ArcGIS Online WebMaps using official Esri ArcGIS Map Components

This approach solves critical challenges in enterprise geospatial workflows:

  • Reduces time-to-visualization from hours to minutes for complex geospatial analyses
  • Eliminates technical barriers for non-GIS professionals to create sophisticated maps
  • Ensures data consistency through automated metadata validation and layer configuration
  • Maintains enterprise security by operating within existing ArcGIS authentication frameworks

 

Some of the Eye-Catching Outputs

The webmap automation system operates through an intelligent agent framework powered by GitHub Copilot integrated within the VSCode development environment. The architecture implements a structured instruction set defined in .github/copilot-instructions.md, enabling precise control over agent behavior, output formatting, edge case handling, and result validation protocols.

Core Components:

The system architecture consists of three primary layers:

  1. Agent Instruction Layer: Markdown-based system directives that define agent reasoning processes, expected outputs, and workflow requirements
  2. MCP Server Integration: Custom Model Context Protocol server configured via .vscode/mcp.json that provides specialized geospatial tooling accessible to the AI agent
  3. Conversational Interface: Natural language processing layer that interprets user requests, orchestrates tool execution, and generates properly formatted webmap configurations

Operational Workflow:

When a user submits a geospatial query, the AI agent executes the following automated sequence:

  • Analyzes user intent and identifies required data sources
  • Queries ArcGIS Living Atlas through MCP server tools to locate relevant datasets
  • Retrieves layer metadata and field schemas from REST endpoints
  • Generates appropriate definition expressions for data filtering
  • Constructs standards-compliant webmap JSON configurations
  • Validates output format and writes results to configuration files

The agent operates autonomously through the entire workflow, handling context management, tool invocation, result interpretation, and output generation without manual intervention. This autonomous operation is enabled by the comprehensive instruction set that defines reasoning patterns and decision-making criteria.

Example Use Case:

An analyst needs to compare fossil fuel versus renewable energy infrastructure using ArcGIS Living Atlas data. They request "show me the coal power plants" and the AI agent automatically searches Esri's Living Atlas, identifies the appropriate ArcGIS Online energy infrastructure dataset, and filters it to display only coal-fired power generation facilities across the operational area in an ArcGIS WebMap.

Output:

 

Following up with "Now show me the wind power plants," the system intelligently adds a second filtered ArcGIS layer from Living Atlas with a spatial constraint, applying both facility type and geographic boundary filters to the ArcGIS Online WebMap. This demonstrates the system's ability to understand sequential Esri mapping requests, maintain context across ArcGIS interactions, and automatically generate complex ArcGIS definition expressions combining attribute and spatial filters—a task that traditionally requires writing SQL-like queries and understanding ArcGIS Living Atlas dataset schemas.

Output:

 

A look under the hood

Model Context Protocol Server: The Intelligence Behind ArcGIS WebMap Automation

Our MCP server architecture implements a suite of specialized tools that form the backbone of intelligent ArcGIS Online WebMap generation. Built on the FastMCP framework, this Python-based service provides ArcGIS REST API integration with sophisticated error handling and UTF-8 encoding support for global Living Atlas datasets.

Core ArcGIS Automation Tools:

1. Living Atlas Discovery Engine

The search-living-atlas tool utilizes ArcGIS Living Atlas dataset discovery by implementing intelligent search algorithms that query Esri's Living Atlas repository using natural language terms:

@mcp.tool(name='search-living-atlas', description='Search for the relevant layers from the ARCGIS Living Atlas REST endpoint.')
def search_living_atlas(title=None):
    try:
        url = 'https://www.arcgis.com/sharing/rest/content/groups/47dd57c9a59d458c86d3d6b978560088/search'
        params = {
            'f': 'json',
            'start': 1,
            'num': 5,
            'q': f'(title:{title}) (type: "Feature Collection" OR type: "Feature Service" OR type: "Map Service" OR type: "Vector Tile Service" OR type: "Image Service" OR type: "WMS" OR type: "Group Layer")',
            'categories': '/Categories'
        }
        response = requests.get(url, params=params, timeout=10)
        response.raise_for_status()
        res = response.json()
        output = [{k:v for k,v in item.items() if k in ['name','url','id','tags']} for item in res.get('results',[])]
        return output
    except Exception as e:
        print(f"Error occurred while searching Living Atlas: {str(e)}")
        return None
This tool automatically searches across multiple Esri service types including Feature Services, Map Services, and Vector Tile Services, filtering results to return only the most relevant ArcGIS Living Atlas datasets based on user intent. The intelligent query construction eliminates the need for manual ArcGIS Online catalog navigation.

2. ArcGIS REST Metadata

The get-layers-info tool provides comprehensive ArcGIS layer metadata extraction, enabling intelligent field analysis and automated definition expression generation:

@mcp.tool(name='get-layers-info', description='Get layer available within feature server from the REST endpoint.')
def get_layers_info(feature_server_url):
    try:
        params = {'f': 'pjson'}
        response = requests.get(feature_server_url, params=params, timeout=10)
        response.raise_for_status()
        res = response.json()
        output = res['layers'] or []

        return output
    except Exception as e:
        print(f"Error occurred while fetching sublayer info: {str(e)}")
        return None
This tool automatically parses ArcGIS REST endpoint metadata, extracting field schemas, data types, and service identifiers essential for intelligent WebMap layer configuration. The metadata intelligence enables the AI agent to understand dataset structure without manual field analysis.

3. Advanced Sublayer Analysis Framework

The get-sublayer-info tool provides specialized capabilities for analyzing complex ArcGIS Feature Services with multiple sublayers, enabling intelligent navigation of hierarchical dataset structures:

def get_sublayer_info(layer_url):
    try:
        response = requests.get(f'{layer_url}?f=pjson', timeout=10)
        response.raise_for_status()
        res = response.json()
        fields = res.get('fields', [])
        result = []
        for field in fields:
            description = json.loads(field.get('description')) if field.get(
                'description') else {}
            result.append({
                'name': field.get('name'),
                'itemId': field.get('serviceItemId'),
                'actualType': field.get('actualType'),
                'alias': field.get('alias'),
                'description': description.pop('description', description),
            })
        return result
    except Exception as e:
        print(f"Error occurred while fetching layer info: {str(e)}")
        return None

This tool enables the AI agent to intelligently navigate complex ArcGIS Living Atlas datasets that contain multiple thematic sublayers, automatically identifying and extracting relevant sublayer configurations for targeted WebMap visualization. The sublayer analysis capability is essential for handling enterprise-scale ArcGIS Feature Services where different data themes are organized as sublayers within a single service endpoint.

4. Enterprise WebMap Persistence

The save-webmap tool implements secure ArcGIS WebMap JSON serialization with enterprise-grade UTF-8 encoding support:

@mcp.tool(name="save-webmap", description="Save a webmap JSON to a file.")
def save_webmap(webmap_dict):
    try:
        output_filepath = 'data/custom_webmap.json'
        with open(output_filepath, "w", encoding="utf-8") as f:
            json.dump(webmap_dict, f, indent=4, ensure_ascii=False)
        return output_filepath
    except Exception as e:
        print(f"Error occurred while saving webmap: {str(e)}")
        return None
This tool ensures consistent ArcGIS WebMap JSON formatting while maintaining compatibility with international character sets and special symbols commonly found in global Living Atlas datasets. The automatic file management eliminates manual JSON manipulation requirements.
 

5. Enterprise ArcGIS Online Integration (Future Enhancement)

Advanced MCP server capabilities can be implemented to enable direct ArcGIS Online WebMap publishing and management through sophisticated enterprise integration tools. With secure ArcGIS Online authentication established, the AI agent can intelligently process conversational requests, generate compliant ArcGIS WebMap JSON configurations, and automatically publish results directly to enterprise ArcGIS Online environments for immediate visualization and collaboration. The intelligent agent determines whether to create new ArcGIS Online WebMap items or update existing enterprise content based on organizational context and user intent.

This advanced capability transforms the system from a development and prototyping framework into a production-grade ArcGIS Online content management solution that seamlessly integrates with enterprise Esri workflows. Organizations can leverage conversational AI not only for creating sophisticated ArcGIS WebMap configurations but also for managing the complete lifecycle of published ArcGIS Online items within established enterprise governance frameworks. Teams can maintain comprehensive version control of enterprise WebMaps, programmatically update published ArcGIS Online content based on evolving business requirements, and integrate AI-driven ArcGIS automation directly into enterprise ArcGIS Online governance workflows while maintaining full compliance with organizational security protocols.

Implementation requires secure credential management through environment variables and appropriate ArcGIS Online organizational permissions. This architecture ensures that AI-assisted WebMap creation can seamlessly integrate with existing enterprise GIS infrastructure while maintaining security and governance standards.

Enterprise Integration Capabilities:

The MCP server architecture is designed for seamless integration with existing enterprise Esri ArcGIS Online infrastructures. The modular tool design allows for rapid customization to support:

  • Custom ArcGIS Enterprise environments through modified REST endpoint configurations
  • Enhanced security protocols including OAuth2 and SAML integration for enterprise ArcGIS Online authentication
  • Advanced Esri data processing with support for complex spatial queries and geoprocessing workflows
  • Scalable deployment patterns supporting high-availability ArcGIS automation scenarios

This sophisticated MCP server foundation enables the AI agent to perform complex ArcGIS operations that traditionally require deep technical expertise in Esri REST APIs, ArcGIS Online authentication, and WebMap JSON specification standards.

Intelligent JSON Configuration Processing

The AI agent employs advanced natural language processing to automatically translate user requests into properly formatted ArcGIS WebMap JSON configurations that strictly adhere to Esri specifications. When a user provides instructions like "show me coal power plants in California," the agent intelligently processes this request through multiple stages: first searching the Living Atlas for relevant energy infrastructure datasets, then extracting field metadata to understand available filtering attributes, and finally generating a compliant WebMap JSON structure with appropriate definition expressions (e.g., PrimSource = 'coal' AND State = 'California'). The system enforces configuration rules including mandatory basemap layers, UTF-8 encoding for international character support, proper layer identification schemes, and ArcGIS compatibility standards. This intelligent processing eliminates the need for manual JSON editing while ensuring that every generated WebMap maintains full compatibility with ArcGIS Online and ArcGIS Enterprise environments, automatically handling complex scenarios like sequential layer additions, contextual filtering modifications, and multi-criteria definition expressions that would traditionally require deep technical knowledge of Esri WebMap specifications and SQL-like query syntax.

Limitations

While the AI-driven ArcGIS WebMap automation system provides powerful capabilities for natural language-based map creation, there are inherent constraints when applying custom styling and symbology to features. The ArcGIS Feature Layer rendering architecture prioritizes symbols defined at the service level within the Living Atlas datasets themselves. This means that while the AI agent can filter datasets and control layer visibility, custom color schemes, symbol sizes, and visual styling defined through the automation workflow may be overridden by the symbology embedded in the Living Atlas Feature Layer. Organizations requiring complete control over feature visualization may need to publish custom ArcGIS Feature Services with modified renderers or implement client-side rendering overrides in the React application layer.