Feature_analysis

The Feature_analysis tool is a custom MCP wrapper around an asynchronous ArcGIS Geoprocessing Service that exposes feature-analysis tasks—currently Merge and buffer and Spatial sampled Thiessen Polygons. The MCP tool itself is not directly invokable; instead, callers submit a specific task on the underlying GPServer and receive a jobId to poll later.


Tool Name

Feature_analysis


Tool Alias

Feature Analysis


Objective

Submit an asynchronous geoprocessing task hosted on the Feature_analysis GPServer—either Merge and buffer or Spatial sampled Thiessen Polygons—after first inspecting the task's schema with get_gp_task_definition, and receive a jobId that can be polled via get_gp_task_job_status.


Description

Feature_analysis represents an asynchronous ArcGIS Geoprocessing Service Web Tool. The tool itself is not an MCP-invokable operation in its own right. Instead, it groups one or more individual geoprocessing tasks that the agent can submit. Each task has its own name, description, and input/output schema.

Submitting a task through Feature_analysis returns a single value: the jobId. The actual task results are produced asynchronously and must be retrieved separately.

Important: this is an asynchronous tool

Submitting a task returns only a jobId—it does not return the task's final output. To learn the task's status and retrieve its results once it has completed, the agent must call Get GP Task Job Status with that jobId. Only poll job status on explicit user request—do not poll automatically in the background.

Important: call get_gp_task_definition first

Before submitting any task on this GPServer, the agent must first call Get GP Task Definition to retrieve the specific task's input and output schema. To prove that this happened, the submission must include inputSchemaNonce — the name of any field defined in the retrieved input schema. Submitting this tool without first calling get_gp_task_definition is treated as a failed run.

Available tasks

This GPServer exposes two tasks. Use the corresponding URL as taskUrl when submitting the tool.

Merge and buffer

https://mcpbeta.webgistesting.net/server/rest/services/Feature_analysis/GPServer/Merge%20and%20buffer

Combines (merges) input feature inputs and produces buffered output geometry. For the exact set of input parameters and output shape, call Get GP Task Definition on the task URL above.

Spatial sampled Thiessen Polygons

https://mcpbeta.webgistesting.net/server/rest/services/Feature_analysis/GPServer/Spatial%20sampled%20Thiessen%20Polygons

Generates Thiessen (Voronoi) polygons from a spatially sampled point set. For the exact set of input parameters and output shape, call Get GP Task Definition on the task URL above.

Invocation pattern

Because this tool is asynchronous, the full flow is a three-tool sequence:

  1. Discover the task schema — call Get GP Task Definition with the desired task URL to retrieve the task's input and output schema.
  2. Submit the task — invoke Feature_analysis with:
  3. taskUrl — the task URL from step 1.
  4. inputSchemaNonce — the name of any field present in the input schema returned by step 1 (proof that you fetched it).
  5. inputs — the input argument object that conforms to the task's schema.

The response contains a single field, jobId. 3. Wait for the user, then poll the job — when the user asks for the result (or asks whether the job is finished), call Get GP Task Job Status with the taskUrl from step 1 and the jobId from step 2 to retrieve the current status and—when the job has succeeded—the final results.

When to use

  • The client wants to merge and buffer input features.
  • The client wants to generate Thiessen polygons from a spatially sampled point set.
  • The client expects the operation to take time and is willing to receive a job identifier they can come back to.

When not to use

  • The client expects an immediate (synchronous) result. Feature_analysis only returns a jobId; results require a follow-up poll.
  • The agent has not yet called Get GP Task Definition for the chosen task.
  • The user has not asked for the job's status. Do not poll job status automatically; poll only when the user explicitly requests results or progress.

Schema

The full JSON Schema definitions for the input parameters accepted by Feature_analysis and the output payload it returns are provided as separate files alongside this document.

Input schema

The input schema describes the three required parameters: taskUrl (the fully qualified GPServer task URL), inputSchemaNonce (the proof-of-schema-fetch field name), and inputs (the task-specific input arguments).

Download or view FeatureAnalysisToolInputSchema.json

Output schema

The output schema describes the response object: a single jobId string returned by GPServer task submission. Use this jobId together with the original taskUrl when calling Get GP Task Job Status to check the execution state and retrieve final results once the job has completed.

Download or view FeatureAnalysisToolOutputSchema.json


Sample prompts to test the tool

Send any of the prompts below to your MCP-compatible AI client to verify that Feature_analysis is working correctly. The prompts are grouped by task—the Merge and buffer task combines feature inputs and produces buffered output geometry, while the Spatial sampled Thiessen Polygons task generates Voronoi polygons from a sampled point set.

Reminder Feature_analysis is asynchronous. Each prompt below produces a three-tool flow: (1) Get GP Task Definition to retrieve the task schema, (2) Feature_analysis to submit the task and receive a jobId, and (3) Get GP Task Job Status to poll for completion and read the result when the user asks for it.

Merge and buffer

  • Find the SF fire stations and hospitals layers, then merge them with a 1000 ft buffer.
  • Merge SF fire stations, hospitals, and stores into a single dataset and apply a 1 mile buffer.
  • Merge California airports and cities with a population over 100,000 and apply a 2 kilometer buffer to the combined result.
  • Merge SF fire stations and hospitals with an 800 meter buffer and save the result as a hosted feature service named SF_Emergency_Buffer.

Spatial sampled Thiessen Polygons

  • Generate Thiessen polygons for the SF fire stations to map each station's nearest coverage zone.
  • Create Thiessen polygons from SF hospitals to show which areas of the city are closest to each hospital.
  • Generate Thiessen polygons from California airports only, to map the nearest airport service area across the state.
  • Create Thiessen polygons from SF hospitals and save the result as a hosted feature service named SF_Hospital_Coverage_Zones.
  • First merge SF fire stations and hospitals into one dataset, then use the merged result as the study area to generate Thiessen polygons showing each emergency facility's nearest coverage zone.