API access
Your AI client reaches DoD Military Installations and Ranges through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes no credentials of your own.
Where it came from
Freshness and coverage
What this source cannot tell you
- ⚠ Anything outside United States and its territories, including DC, Guam, Puerto Rico, and the U.S. Virgin Islands. A request past that edge comes back empty rather than approximated.
- ⚠ A current-state site list rather than a history. Site inclusion traces to the 2015 Base Structure Report reporting decision, but names and boundaries are maintained: the layer carries both the 2023 renames and the 2025 reversions.
- ⚠ Anything U.S. Department of Defense — Military Installations, Ranges, and Training Areas (MIRTA) does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
- ⚠ Boundaries are unclassified, publicly released administrative outlines and may be generalized. They are not survey boundaries, not fence lines, and not a title product. Every row is published with its controlled-unclassified-information flag set to No, which is why the layer is releasable at all.
- ⚠ Proximity to an installation is context, not a determination. This is not a noise finding, not an AICUZ or Accident Potential Zone assignment, not an avigation or restrictive easement, and not a disclosure obligation. AICUZ studies, noise contours, and clear zones are separate products this dataset does not carry.
- ⚠ No operational information exists in this dataset. It carries an outline, a name, a service branch, an operational status code, and two flags. There is nothing here about units, missions, schedules, activity, capability, or personnel, and nothing about anything inside the installation boundary.
- ⚠ The FIRRMA flag is DoD designating a site, not a CFIUS determination about a transaction. Whether a purchase falls inside CFIUS real-estate jurisdiction depends on the parties, the property, the distance rule that applies, and the regulation in force. Treat the flag as a reason to ask counsel, never as the answer.
- ⚠ Coverage is the United States and its territories only; countryName is USA on every row. A zero outside that footprint is out of coverage rather than a finding.
- ⚠ Installation name is not a unique key, and the upstream primary-key field MIRTALOCATIONSIDPK is blank on every row, so no stable federal identifier is available. Every matching row is returned rather than one being chosen, and objectId is view-local and can change on republish.
- ⚠ Some listed sites are headquarters organizations published with a token polygon of a few square metres rather than a real boundary. Those rows are flagged so a distance measured to them is not mistaken for a setback.
- ⚠ Some sites appear in the MIRTA points layer with no boundary polygon at all, so a boundary query cannot see them. A zero means no listed boundary matched, which is narrower than "no military land". The service-info method names the boundaryless sites it observed.
- ⚠ Rows come from the Esri U.S. Federal Datasets organization, which republishes the DoD NGDA feed and names DOD as the source. Roughly twenty third-party copies of these layers exist on ArcGIS Online with differing counts and vintages; none is used here.
Methods (4)
A method is one call your agent can make against this source.
findInstallationsNearPoint
readFind DoD installations near a point, measured to the boundary rather than the centroid.
What you must providelatitudelongitudeRecords returnedmilitary installation boundaryHow to get more resultsnone (limitField: limit)UnitsradiusMiles: mile · boundaryDistanceMiles: mile · areaAcres: acreCoordinate systemEPSG:4326FreshnessScheduled · every year (source-level)Input schema
{ "type": "object", "properties": { "latitude": { "type": "number", "minimum": -90, "maximum": 90, "description": "WGS84 latitude of the parcel point being screened." }, "longitude": { "type": "number", "minimum": -180, "maximum": 180, "description": "WGS84 longitude of the parcel point being screened." }, "radiusMiles": { "type": "number", "exclusiveMinimum": 0, "maximum": 100, "description": "Search radius in miles, measured to the nearest point of an installation boundary rather than to its centroid. Defaults to 10. A radius around a supplied coordinate is a screening signal, not a determination about the parcel." }, "status": { "type": "string", "enum": [ "active", "inactive", "closed", "excess", "caretaker", "semiActive", "all" ], "description": "Filters on the reported operational status. inactive covers closed, excess, caretaker, and semi-active together. Defaults to all." }, "component": { "type": "string", "enum": [ "USA", "USAF", "USN", "USMC", "USAR", "USNR", "USMCR", "AFR", "Army National Guard", "Air National Guard", "WHS", "Other" ], "description": "Reporting component, which is the service branch that reports the site. The values listed here are the complete published vocabulary." }, "firrmaDesignatedOnly": { "type": "boolean", "description": "Restrict to sites DoD flags as FIRRMA designated, the designation foreign-buyer land rules turn on." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 } }, "required": [ "latitude", "longitude" ], "additionalProperties": false }- ⚠ boundaryDistanceMiles is measured to the nearest point of the published boundary and is 0 when the queried point is inside. Boundaries are fetched generalized to about 55 m for measurement, so the number is accurate to roughly that.
- ⚠ Distance is measured from the single coordinate supplied, not from a parcel outline. A parcel centroid is not its footprint.
- ⚠ Rows flagged boundaryIsPlaceholder carry a token polygon of a few square metres rather than a boundary; a distance to those is arithmetically correct and practically meaningless.
Radius defaults to 10 miles and is measured to the nearest boundary point.
searchInstallations
readList DoD installations by name, state, branch, status, or FIRRMA designation.
Records returnedmilitary installationHow to get more resultsoffset (offsetField: offset, limitField: limit)UnitsareaAcres: acreCoordinate systemEPSG:4326FreshnessScheduled · every year (source-level)Input schema
{ "type": "object", "properties": { "name": { "type": "string", "maxLength": 120, "description": "Case-insensitive substring of the installation or site name as MIRTA publishes it." }, "state": { "type": "string", "pattern": "^[A-Za-z]{2}$", "description": "Two-letter state or territory code. Territories are covered, including DC, GU, PR, and VI." }, "component": { "type": "string", "enum": [ "USA", "USAF", "USN", "USMC", "USAR", "USNR", "USMCR", "AFR", "Army National Guard", "Air National Guard", "WHS", "Other" ], "description": "Reporting component, which is the service branch that reports the site. The values listed here are the complete published vocabulary." }, "status": { "type": "string", "enum": [ "active", "inactive", "closed", "excess", "caretaker", "semiActive", "all" ], "description": "Filters on the reported operational status. inactive covers closed, excess, caretaker, and semi-active together. Defaults to all." }, "firrmaDesignated": { "type": "boolean", "description": "True returns only FIRRMA designated sites; false returns only the rest." }, "jointBase": { "type": "boolean", "description": "True returns only sites flagged as a joint base." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200 }, "offset": { "type": "integer", "minimum": 0, "maximum": 100000 } }, "required": [], "additionalProperties": false }- ⚠ Rows carry no geometry on this method by design; a single boundary can be tens of thousands of vertices and would dwarf the catalog it describes. Use findInstallationsNearPoint for anything spatial.
- ⚠ A name substring can match more than one site, and four names are carried by two rows each. Name is never a unique key here.
Use status inactive to list the closed, excess, and caretaker inventory.
getInstallationDetail
readLook up every MIRTA row carrying one installation name, with its designations.
What you must providenameRecords returnedmilitary installationUnitsareaAcres: acreCoordinate systemEPSG:4326FreshnessScheduled · every year (source-level)Input schema
{ "type": "object", "properties": { "name": { "type": "string", "maxLength": 120, "description": "Installation name as MIRTA publishes it, e.g. \"Fort Cavazos\". Matched exactly and whitespace-tolerantly, not as a substring." }, "state": { "type": "string", "pattern": "^[A-Za-z]{2}$", "description": "Two-letter state or territory code. Territories are covered, including DC, GU, PR, and VI." } }, "required": [ "name" ], "additionalProperties": false }- ⚠ This is an exact-name lookup. Installations are renamed, so a miss can be a stale name rather than a missing site; search by substring before concluding a site is not listed.
- ⚠ A closed or excess status is a MIRTA reporting status, not a statement about current ownership, environmental condition, remediation, or availability.
Returns every matching row: four names are carried by two sites each.
getServiceInfo
readReport the live MIRTA layers this connector queries, with counts and vocabularies.
Records returnedarcgis layerFreshnessScheduled · every year (source-level)Input schema
{ "type": "object", "properties": { "service": { "type": "string", "enum": [ "boundaries", "sites" ], "description": "Omit to describe both layers this connector queries." } }, "required": [], "additionalProperties": false }- ⚠ The two MIRTA layers disagree on field casing: boundaries publish FEATURENAME and site points publish featureName. Attribute reads here are case-insensitive.
- ⚠ The advertised primary-key field is blank on every row and the feature-description field holds the literal string NA on every row; both are reported rather than surfaced as data.
Also publishes the empty upstream fields and the boundaryless-site gap list.
Where this source is used
- Land research
Parcel records, ground conditions, and what reaches the property line, for raw and rural land.
- Data center siting
Power, water, transport, airspace, and hazard screening for a site before anyone signs anything.
- Commercial real estate
Parcel and assessment records, building programs, and the entity on the other side of the deal.
- Residential real estate
The parcel record, the housing programs that touch an address, and the conditions a buyer asks about.
- Real estate law
Federal rule text, rulemaking dockets, party records, and the property facts a filing has to state.
- Realtors and brokerages
The facts behind a listing, the programs a buyer may qualify for, and your own files in the same place.
- Is this property near a military installation?
