Query an Arkansas GIS Layer: Attributes by Where Clause (Arkansas GIS Office)
arkansasgis/query-layer
Queries one layer of an Arkansas GIS Office FeatureServer or MapServer and returns its attributes (no geometry) as rows, filtered by a SQL where clause, 1 to 100 per call with an offset for the next page. Example: layer 48 of FEATURESERVICES/Boundaries is the county boundary layer with county, FIPS code, historic and 2020 population and area in square miles. Find layer ids and their credit line with the service layers tool; layers can carry their own credit lines. A bad where clause or field name is reported as an error. Arkansas GIS Office data, passed through unmodified and served by Eden Engine; not an official Arkansas GIS Office product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Data from the Arkansas GIS Office (https://gis.arkansas.gov), the State of Arkansas geographic information office. No licence terms are published for the server; individual layers can carry their own credit lines in their service metadata. Courtesy credit: Arkansas GIS Office. Served by Eden Engine; not an official Arkansas GIS Office product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "arkansasgis/query-layer" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "arkansasgis/query-layer" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "arkansasgis/query-layer", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "arkansasgis/query-layer", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 24, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"folder",
"service",
"server_type",
"layer_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Rows to return, 1 to 100. Defaults to 10."
},
"where": {
"type": "string",
"default": "1=1",
"maxLength": 500,
"minLength": 1,
"description": "SQL where clause on the layer's fields, for example county='Pulaski' or pop2020>100000. Defaults to 1=1 (all rows). String values are case sensitive and wrapped in single quotes."
},
"folder": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,64}$",
"description": "Service folder name exactly as listed by the folder list tool, for example FEATURESERVICES, AGFC, DIS or Locator."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Rows to skip, for the next page. Defaults to 0."
},
"service": {
"type": "string",
"pattern": "^[A-Za-z0-9_]{1,80}$",
"description": "Service name without its folder, for example Boundaries for FEATURESERVICES/Boundaries."
},
"layer_id": {
"type": "integer",
"maximum": 9999,
"minimum": 0,
"description": "Layer id from the service layers tool, for example 48 (COUNTY_BOUNDARY in FEATURESERVICES/Boundaries)."
},
"out_fields": {
"type": "string",
"default": "*",
"pattern": "^(\\*|[A-Za-z0-9_]+(,[A-Za-z0-9_]+){0,29})$",
"description": "Comma separated field names to return, for example county,countyfips,pop2020, or * for all. Defaults to *."
},
"server_type": {
"enum": [
"FeatureServer",
"MapServer"
],
"type": "string",
"description": "The service type as listed beside the service: FeatureServer or MapServer. Both answer the same layer queries for vector layers."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"features"
],
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "The returned columns with name, alias and type."
},
"features": {
"type": "array",
"items": {
"type": "object",
"properties": {
"attributes": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "One entry per row; `attributes` holds the field values."
},
"geometryType": {
"type": "string"
},
"objectIdFieldName": {
"type": "string"
},
"exceededTransferLimit": {
"type": "boolean",
"description": "True when more rows match than were returned; request the next page with offset."
}
},
"description": "The layer rows as ArcGIS sends them, without geometry.",
"additionalProperties": true
}