M
MESURA BI
Field Notes · Practical Manual

Connecting Claude to ArcGIS Online

A hands-on guide to letting a large language model query, filter, and update your ArcGIS spatial data — built for humanitarian information managers, NGO field teams, and analysts who need answers faster than a full GIS workflow allows.

Traditional GIS work assumes a trained analyst working inside a desktop application. That assumption is fine when your organization has skilled GIS staff sitting next to the requester — but for most humanitarian and NGO operations, it isn't the norm. The result is a familiar bottleneck: field teams and program officers who need a quick spatial answer, and a single overloaded GIS focal point who becomes the gatekeeper for every map, every query, every update.

MCP-mediated LLM access to ArcGIS Online opens a new lane. A non-specialist can now ask a plain-English question — "which of our health facilities are inside the current flood-affected polygon?" — and get an answer without opening any GIS software. This is not a replacement for ArcGIS Pro or QGIS. It is a productive complement, especially for the read-heavy, quick-turn queries that dominate humanitarian information management.

This manual walks through the setup end to end, shows what is and is not possible today, gives you a starter library of prompts drawn from real sessions, and is honest about the limitations — including the data-protection considerations that any humanitarian organization has to weigh before adopting this pattern.

SECTION 01

What "connecting an LLM to ArcGIS Online" actually means

The connection relies on three components chained together. Understanding this chain matters because it shapes what's possible, what's secure, and what fails.

Claude is the large language model — it parses your natural-language question, decides which tool to call, and interprets the result for you. Pipedream is a hosted MCP (Model Context Protocol) broker — it maintains OAuth tokens for hundreds of services and translates Claude's structured tool calls into authenticated API requests. ArcGIS Online is Esri's cloud platform where your hosted Feature Services actually live.

MCP (Model Context Protocol) is an open standard from Anthropic that defines how LLMs discover and call external services in a structured, permissioned way. Rather than every developer building custom integrations, MCP lets a single standard work across many models and many services. Pipedream is one of several MCP hubs offering ArcGIS Online as a connector; the same architectural pattern would apply through other brokers.

Claude Parses intent Selects tool Interprets response Pipedream MCP broker Holds OAuth token Routes calls ArcGIS Online Feature Services Executes query Returns GeoJSON tool call REST + token result JSON You Plain-English question Answer Natural-language synthesis
Figure 1 · The three-layer stack. Solid arrows: request path. Dashed arrows: response path.

In practice, a "connection" means you authorize Pipedream to talk to ArcGIS Online once, via OAuth. Pipedream stores an access token. From that point on, when Claude calls a tool, Pipedream executes it against your account using that token. Your ArcGIS Online username and password never pass through the chat. This is important: the security boundary is enforced by OAuth, not by the LLM.

Note

Whatever ArcGIS Online account you connect defines what Claude can see and edit. Connect a personal Individual account and Claude sees your personal items. Connect an Organization account with elevated privileges and Claude inherits those privileges. Choose your connected identity deliberately.
SECTION 02

What can (and cannot) be done today

Being explicit about scope prevents disappointment. The current ArcGIS Online MCP connector exposes a specific set of read and write operations. Everything outside that set requires a different tool.

✓ Available operations

  • List Feature Services in your account, organization, or public catalog
  • List layers inside a Feature Service, with geometry type and layer type
  • List fields on a layer, with data type, alias, and editability flag
  • Search features by column where a field equals a value (equality only)
  • Spatial intersect by OBJECTID — find features in target layers that intersect a known source feature
  • Spatial intersect by geometry — pass a geometry directly
  • Spatial intersect by SQL WHERE — filter the source feature then run the intersect
  • Update a single attribute on a single feature by OBJECTID

✗ Not available today

  • Publishing new services or uploading source files
  • Bulk edits — multi-row inserts, updates, or deletes
  • Geoprocessing — buffers, spatial joins as tables, cost surfaces, network analysis
  • Cartographic output — the LLM returns data, not rendered map images
  • Range and comparison queries on a single layer as a first-class operation (workaround via the WHERE-clause spatial variant)
  • Multi-account switching within one session
  • Local geodatabase access — data must already be on ArcGIS Online

The pattern to internalize: this is a read-heavy, single-target interface. It shines for exploratory questions, targeted lookups, and small-scale updates. It is not built for batch pipelines or map production.

SECTION 03

Why do it this way — the case against alternatives

Every capability listed above is achievable through other means. What LLM-mediated access changes is the cost of access — who can do it, how fast, and with what tooling installed. The honest comparison looks like this:

AlternativeWhere this pattern winsWhere the alternative wins
ArcGIS Pro (desktop) Zero training, no license per user, immediate answers Cartography, geoprocessing, offline work, full analytical stack
ArcGIS Online web UI Multi-step queries in one sentence, cross-service joins in the same session Visual map editing, sharing configuration, dashboard authoring
Python arcgis API No code, no auth boilerplate, LLM introspects the schema for you Reproducibility, batch operations, version control, complex pipelines
Direct REST calls No parameter memorization, natural-language field references Rate control, precise error handling, integration into apps
Power BI ArcGIS integration Exploratory questions across ArcGIS, Slack, Drive, and Gmail in one session Persistent dashboards, scheduled refresh, business-user access

The value proposition for humanitarian operations is specific: a field team member who needs a spatial answer this minute can get one without asking a GIS colleague, opening any software, or writing any code. That is a genuine unlock for organizations where the ratio of requesters to GIS analysts is high — which is most humanitarian settings.

SECTION 04

Setup guide

Setup is a four-step sequence. Budget about thirty minutes for a first-time run, most of which is authorization and account setup rather than technical work.

1 2 3 4 ArcGIS Online Account + hosted layer Pipedream Create account OAuth Authorize connector Test in Claude First query ~ 10 min ~ 5 min ~ 2 min ~ 1 min
Figure 2 · Setup timeline. Total elapsed time depends on how quickly you get through account creation and email verification.

A. ArcGIS Online prerequisites

You need an ArcGIS Online account with at least one hosted Feature Service for the connector to have something to work with. An empty account will authenticate but return zero results — not helpful for a first test.

  1. Confirm you have an ArcGIS Online account

    Individual is enough for personal experimentation. Organization is required for shared work and collaboration. Sign in at arcgis.com.

  2. Publish at least one hosted Feature Service

    Upload a shapefile, CSV with coordinates, GeoJSON, or file geodatabase via Content → New item → From your computer. Uploading is not enough — you must then click Publish on the item page to convert it into a queryable Feature Service. If you only see the source file type in Content, the publish step is still pending.

  3. Confirm the published item type

    In Content, the item type column should read Feature Service or Feature Layer (hosted). Anything else won't be visible to the connector.

ArcGIS Online Content page showing a hosted Feature Layer item type
Screenshot 1ArcGIS Online Content page. Look for the Item type column reading "Feature Layer (hosted)" — this is what the connector can query.
ArcGIS Online item detail page with the Publish button highlighted
Screenshot 2The item detail page for an uploaded source file. Clicking Publish converts the source file into a hosted Feature Layer — the step most first-time users miss.

Credit consumption

Publishing a hosted Feature Layer consumes ArcGIS Online storage credits. Individual accounts come with a limited pool. Small test layers will barely dent it; large or frequent publishes will.

B. Pipedream setup

  1. Create a Pipedream account

    Sign up at pipedream.com. A free tier is sufficient for personal experimentation and light usage.

  2. Locate the ArcGIS Online connector

    In the Pipedream dashboard, search the connector catalog for "ArcGIS Online" and select it.

  3. Authorize via OAuth

    Pipedream will redirect you to ArcGIS Online's sign-in page. Enter your ArcGIS Online username and password there — not in Pipedream, and never in Claude. After successful sign-in, ArcGIS Online will ask you to grant Pipedream permission to access your account. Confirm.

  4. Verify the connection

    Back in Pipedream, the ArcGIS Online connector should show as connected and healthy. Note the connection name — you may need to reference it later.

Pipedream connector catalog with ArcGIS Online selected for OAuth authorization
Screenshot 3Pipedream's connector catalog. Searching for "ArcGIS Online" surfaces the connector; selecting it starts the OAuth flow.
Pipedream showing the ArcGIS Online connector in a connected, authorized state
Screenshot 4The ArcGIS Online connector in Pipedream, authorized and healthy. From this point on, Pipedream holds the OAuth token — you never have to sign in again during a Claude conversation.

C. Claude setup

Claude connects to Pipedream through its Custom connector feature (currently in beta). This is a one-time setup — after this, every Claude conversation can invoke the ArcGIS Online tools you authorized in Pipedream, along with any other services you have connected there.

  1. Open Claude settings and go to Connectors

    In Claude's sidebar, click Settings → Connectors. This is where all your third-party integrations live.

  2. Click "Add" and choose Custom connector

    From the Add menu in the top right, select Custom connector. A dialog will open where you can enter the connector's details.

  3. Name the connector and paste the Pipedream MCP endpoint

    Give the connector any name you'll recognize — "Pipedream" is a good default. In the URL field, paste this exact value: https://mcp.pipedream.net/v2. This is Pipedream's unified MCP endpoint. It exposes every connector you have authorized inside Pipedream — ArcGIS Online plus anything else — as a single stack of tools to Claude.

  4. Leave OAuth fields blank and click Add

    The advanced OAuth Client ID and Secret fields are optional — leave them blank. Pipedream handles per-service OAuth internally using the tokens it stored during setup step B, so Claude does not need its own credentials. Click Add. Claude will verify the endpoint and mark the connector as active.

  5. Test with a benign first query

    Open a new Claude conversation and ask: "Using the Pipedream ArcGIS connector, list Feature Services accessible to my account." A successful response — even one that returns zero services — confirms the entire chain is working end to end.

Claude's Add custom connector dialog with the Pipedream MCP endpoint URL entered
Screenshot 5Claude's Add custom connector dialog. The name field is user-choice; the URL field must be exactly https://mcp.pipedream.net/v2. Leave OAuth Client ID and Secret blank.
A Claude conversation showing the first successful ArcGIS Online tool call
Screenshot 6A first successful ArcGIS Online tool call in Claude. Even a zero-result response here is a good sign: it confirms authentication and routing worked end to end.
SECTION 05

Useful prompts for humanitarian IM and NGO spatial analysis

Prompts drive the entire experience. The right prompt gets the answer in one call; a vague prompt burns turns on clarifications. This section walks from confirmed real-world prompts (things I have actually run in Claude) through humanitarian-workflow adaptations to broader patterns worth developing over time.

You write a prompt Claude parses intent, picks tool Pipedream attaches OAuth token ArcGIS REST executes query Claude synthesizes natural-language reply "Find X where Y" search-by-column, list-layers, etc. OAuth Bearer token GeoJSON or attributes Human-readable answer Be specific: name service, field, value in quotes
Figure 3 · What happens between your prompt and Claude's answer. Understanding each stage helps you write prompts that hit the target first time.

Start small — prompts have a token cost

Not all prompts below were tested end to end. Each card carries a status badge: ✓ Tested ran successfully in a real session; ◌ Template is a pattern to adapt and verify against your own services; △ Advanced is a direction to develop, and typically token-intensive. Multi-step and cross-service prompts can consume a large share of a session's budget, especially when the model has to retry, diagnose, or clarify. Work up the ladder: run a one-call prompt (list services, list fields) first, confirm the target service and field names exist, then move to filters and spatial joins. A vague or over-ambitious opening prompt can burn most of a session on clarification loops without delivering anything. In one of our own test sessions, a single out-of-scope request — asking for a rendered map, which the connector cannot produce — consumed nearly half the session's budget on diagnostics before the limitation was confirmed.

A. Confirmed working prompts

These are drawn from real Claude + Pipedream + ArcGIS Online sessions. They ran successfully end to end.

List Feature Services accessible to my account Baseline connectivity test. Add "including publicly shared" to broaden the scope to the public ArcGIS Online catalog.
List all layers in the Feature Service "Recent Earthquakes" (item ID 9e2f2b544c954fda9cd13b7f3e6eebce) Always name the service by title or item ID. The item ID is unambiguous; the title can collide with public services of the same name.
List all fields on layer ID 0 in the "Recent Earthquakes" service. Return field name, alias, type, and editability. Schema introspection. Do this before any query so you know which field names actually exist.
Search the "Recent Earthquakes" service, layer 0, for features where the field "alert" equals "orange". Return OBJECTID, mag, place, sig, eventTime, and url. Equality-only filter. The requested field list guides Claude's summary; the underlying tool returns all attributes regardless, and on some runs it will pause to confirm this before executing — budget for one extra round-trip. Verified across two independent sessions.
In the same service, take the source feature at OBJECTID 86107 from layer 0 and find all shake-intensity polygons from layer 1 that spatially intersect it. Return grid_code and grid_value for each. The classic spatial join. This is where GIS shows what it's for.

B. Adapted for humanitarian workflows

These templates translate the pattern to real humanitarian information management questions. Substitute your own service, layer, and field names.

List all publicly shared Feature Services owned by "OCHA" (or "UNHCR", "WHO", or another agency of interest). Discovery. Useful for finding shareable operational layers when you don't already have a service ID. Tested caveat: the major humanitarian agencies distribute operational data primarily via HDX and their own data portals, not official ArcGIS Online org accounts — expect mostly community-derived and derivative layers of mixed vintage in the results. Check the owner and description of each result before relying on it.
Take the country boundary polygon of Sudan from layer X (OBJECTID Y) and find every health facility from the "Health Facilities" layer that falls within it. Return name, operational status, and coordinates. Point-in-polygon join at country scale. Common intake question in a rapid response.
In the "IDP Settlements" service, layer 0, find features where the field "status" equals "active" and return name, population, and last_updated. Equality filter for status changes. Repeat with "planned" or "closed" for other slices.
For the flood extent polygon at OBJECTID X in the "Flood Extent" service, find all schools from the "Education Facilities" layer that spatially intersect it. Return school name, enrollment, and address. Impact assessment. Change "schools" to "health facilities", "water points", "roads" for different sector needs.
Update the field "operational_status" on the camp with OBJECTID 42 in the "Camps" service to the value "inactive". Confirm the change was written. Single-attribute write. Always verify by re-reading the field after the update. ⚠ This template performs a real write against your hosted data and was not tested in our sessions. Before using it on operational layers, run it against a disposable scratch layer (a one-row test service costs negligible credits) and confirm the behavior matches expectations.

C. Patterns worth developing

These are prompt directions rather than concrete prompts — capabilities to build fluency in over weeks of use.

Cross-service session: "Pull the latest sitrep from Google Drive, extract the affected districts mentioned, then look up their boundaries in the 'Admin Boundaries' service and find all health facilities inside those districts." Multi-tool orchestration. This is where MCP really pays off — one session, several services, no context switching.
Weekly rollup: "For each of these six services I care about, list any features updated in the last 7 days and summarize what changed." Change tracking. Combine this with a fixed prompt template for a repeatable weekly report.
Sitrep drafting: "Using the results of the previous three queries, draft a short natural-language situation update in the format we use, with bullet points for affected districts, facility counts, and priority interventions." Downstream writing. Feeds naturally into your existing reporting workflow.

How to write prompts that work first time

SECTION 06

Limitations, cautions, and open questions

Adopting this pattern seriously means being honest about what it is and isn't. The list below covers the technical, operational, data-protection, and cost boundaries — plus what's likely to improve over time.

Technical limits

Operational and organizational

Data protection — the section that matters most

Read this carefully before connecting production data

Data flowing through the connector traverses Pipedream's infrastructure between Claude and ArcGIS Online. Before connecting an account that holds sensitive humanitarian information, your organization must complete its own data-protection review of the entire chain.

Cost

What may improve over time

Try it. Share back.

If you set this up in your own environment — or hit a wall doing so — I'd like to hear about it. The prompt library grows fastest when practitioners contribute what works in their operational context.