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 thatjobId. Only poll job status on explicit user request—do not poll automatically in the background.Important: call
get_gp_task_definitionfirstBefore 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 callingget_gp_task_definitionis 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:
- Discover the task schema — call Get GP Task Definition with the desired task URL to retrieve the task's input and output schema.
- Submit the task — invoke
Feature_analysiswith: taskUrl— the task URL from step 1.inputSchemaNonce— the name of any field present in the input schema returned by step 1 (proof that you fetched it).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_analysisonly returns ajobId; 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_analysisis asynchronous. Each prompt below produces a three-tool flow: (1) Get GP Task Definition to retrieve the task schema, (2)Feature_analysisto submit the task and receive ajobId, 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.