When to use the MCP server
Use the MCP server when you want to:- Ask an LLM questions about location scores, permit activity, or market trends without writing API calls
- Build AI-powered workflows that pull real-time CRE or maritime intelligence
- Let analysts interact with Axiom data conversationally
Prerequisites
- Node.js 18 or later
- An Axiom Locus API key (get one at app.axiomlocus.io)
- An MCP-compatible client (Claude Desktop, Cursor, or similar)
Installation
Install the MCP server package:Configuration
The server reads configuration from environment variables:| Variable | Required | Description |
|---|---|---|
AXIOM_LOCUS_API | No | Locus API base URL. Defaults to https://axiomlocus.io. |
AXIOM_LOCUS_API_KEY | Yes | Your Locus API key for authenticated endpoints. |
LOCUS_SUPABASE_URL | No | Direct Supabase URL for discovery and ranking queries. Falls back to NEXT_PUBLIC_SUPABASE_URL. |
LOCUS_SUPABASE_KEY | No | Supabase service key. Falls back to SUPABASE_SERVICE_KEY. |
OVERWATCH_SUPABASE_URL | No | Enables maritime intelligence tools when set. |
OVERWATCH_SUPABASE_KEY | No | Supabase key for Overwatch data. |
Claude Desktop
Add the server to your Claude Desktop configuration file:Cursor
Add the server in your Cursor MCP settings:Available tools
The MCP server exposes the following tools to connected LLMs.Locus tools
These tools provide location intelligence across 22 US metros.| Tool | Description |
|---|---|
axiom_score_location | Score any location across 8 signal groups. Returns composite score (0—100), tier label, confidence, and per-group breakdown. Supports scoring profiles: general, qsr, retail, office, self_storage, data_center. |
axiom_discover_locations | Filter locations by metro, composite score range, and individual signal group minimums. |
axiom_get_rankings | Curated top-25 lists: top-overall, fastest-growing, safest-urban, most-business-active, best-for-restaurants, strongest-economies, best-accessibility, development-hotspots. |
axiom_search_permits | Search building permits by metro, with optional date filter. Returns permit type, status, address, and estimated cost. |
axiom_get_council_decisions | City council decisions on rezoning, variances, conditional use, site plans, and demolitions. Captures development intent months before permits are filed. |
axiom_get_metro_pulse | Market intelligence for a metro: average signal group scores across all scored cells. |
axiom_list_metros | List all 22 tracked US metros with slugs. |
axiom_nearby_intelligence | Everything known about a location across all data types: permits, POIs, schools, council decisions, clinical trials, FDA events, OSHA, EPA, zoning, and NIH grants. |
axiom_get_score_trends | Historical score trends for a metro or specific H3 cell over a configurable lookback period. |
axiom_get_clinical_trials | Clinical trial facility data filtered by state, sponsor, or phase. |
axiom_get_zoning | Zoning district rules: allowed uses, height limits, FAR, setbacks, and parking requirements. |
axiom_get_school_ratings | K-12 school quality ratings, enrollment, and student-teacher ratios near a location. |
axiom_get_weather | Current weather observations from personal weather stations near a location. |
axiom_get_weather_station | Weather data from a specific station by ID. |
axiom_search_bids | Government bid and procurement opportunities from SAM.gov, filtered by state, keyword, NAICS code, or bid type. |
axiom_get_bid_detail | Details for a specific government bid by notice ID. |
Overwatch tools
These tools are available whenOVERWATCH_SUPABASE_URL and OVERWATCH_SUPABASE_KEY are configured.
| Tool | Description |
|---|---|
axiom_track_vessel | Track a vessel by IMO, MMSI, or name. Returns details, risk score, and port call history. |
axiom_get_positions | Latest AIS vessel positions at a grain export port. |
axiom_get_export_estimates | Weekly grain/commodity export tonnage estimates derived from vessel draft changes. |
axiom_get_congestion | Port congestion index: vessels waiting, median wait times, and trends. |
axiom_get_risk_vessels | Vessels ranked by 13-factor risk score, including dark fleet and sanctions factors. |
axiom_get_dark_events | AIS transmission gap events with risk scoring and proximity to ship-to-ship transfer hotspots. |
axiom_get_trade_flows | Bilateral commodity trade flow data from UN Comtrade. |
axiom_get_mirror_discrepancies | Cases where exporters and importers report different volumes for the same commodity pair. |
axiom_get_sanctioned_vessels | Vessels matched against OFAC sanctions via IMO, MMSI, or name-based entity resolution. |
axiom_get_commodity_prices | Commodity price data for wheat, corn, soybeans, crude oil, and more. |
axiom_list_ports | All 34 grain export ports monitored by Overwatch. |
axiom_get_disruptions | Real-time disruption signals from GDELT: port closures, sanctions, trade disputes, weather events. |
axiom_get_river_levels | Real-time USGS river water levels for waterways critical to grain barge transport. |
axiom_get_alerts | Active platform alerts: sanctions matches, river level warnings, dark fleet events. |
axiom_check_sar_coverage | Check if Sentinel-1 radar satellite imagery exists near a location and time for dark fleet verification. |
Example prompts
Once the MCP server is connected, you can ask your LLM questions like:- “Score the location at 35.2271, -80.8431 for a QSR site”
- “Show me the top 25 fastest-growing locations across all metros”
- “What building permits were filed in Charlotte in the last 30 days?”
- “What council rezoning decisions happened in Austin recently?”
- “Find locations in Miami with a composite score above 80 and strong business vitality”
- “Are there any government bids for construction in Texas?”
- “What’s the current weather near 37.7749, -122.4194?”
- “Track vessel IMO 9321483”
- “What’s the congestion like at the port of Santos?”
- “Show me dark fleet events in the last week”
- “What are the current river levels on the Mississippi?”