Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.
New
Only available in EnglishUS πŸ‡ΊπŸ‡Έ and Canada πŸ‡¨πŸ‡¦

Local Logic MCP Server

The Local Logic MCP Server lets AI assistants and agents query Local Logic's location intelligence directly β€” neighborhood scores, demographics, points of interest, schools, commute times, and more β€” using natural language, through the open Model Context Protocol (MCP).

Once connected, tools like Claude, Cursor, and other MCP-compatible clients can answer questions like "Which neighborhoods in Montreal are most similar to Little Italy?" or "What drives property values in this ZIP code?" by calling Local Logic data in real time β€” without building a custom integration to Local Logic's APIs.

Key characteristics:

  • Hosted (remote) server. There is nothing to install or run locally. Local Logic hosts and operates the server; you connect your MCP client to a URL.
  • Read-only. All tools retrieve data. The server cannot create, modify, or delete anything in your account or in Local Logic systems.
  • US and Canada coverage. Same geographic coverage as the underlying Local Logic APIs. Some tools are US-only (noted in the tool reference).

Server details​

Server URLhttps://api.locallogic.co/mcp
TransportStreamable HTTP, operating statelessly β€” each request is self-contained, so no Mcp-Session-Id handshake is required. Responses are server-sent-event framed; send Accept: application/json, text/event-stream. The deprecated HTTP+SSE transport (2024-11-05) is not supported, and the server does not emit progress notifications.
AuthenticationA dedicated MCP key in an Authorization: MCP <key> request header β€” see Authentication. This is a separate credential from the API key used by the REST API and SDKs.
AccessAccess to specific MCP tools and geographic areas is based on your underlying access to Local Logic's API products. The permissions required for each tool are outlined below.

Quickstart​

Choose your client below. All clients connect to the same remote server URL.

You will need an MCP key β€” a credential dedicated to this server, distinct from the API key you use for the REST API or SDKs. See Authentication to request one. Every client sends it in an Authorization: MCP <key> header.

claude mcp add local-logic --transport http https://api.locallogic.co/mcp \
--header "Authorization: MCP $LOCAL_LOGIC_MCP_KEY"

To share the server with a project's collaborators instead, add it to a .mcp.json file at the root of the repository:

{
"mcpServers": {
"local-logic": {
"type": "http",
"url": "https://api.locallogic.co/mcp",
"headers": {
"Authorization": "MCP ${LOCAL_LOGIC_MCP_KEY}"
}
}
}
}

Claude Code expands ${LOCAL_LOGIC_MCP_KEY} from the environment at load time, so the key itself stays out of the file and the file is safe to commit.

Start a session and run /mcp to confirm the server is connected and its tools are listed.

Verify the connection​

Ask your assistant something simple, for example:

"Using Local Logic, what are the quality-of-life scores for the Plateau-Mont-Royal in Montreal?"

You should see the client call search_geographies followed by get_scores.

Many clients select MCP tools on their own. Naming Local Logic in the prompt, as above, removes any ambiguity while you are verifying the connection.


Authentication and authorization​

The Local Logic MCP Server authenticates with a dedicated MCP key β€” a credential issued specifically for this server, separate from the API key you use for the REST API or client-side SDKs. Request one from support@locallogic.co; we provision it against your account and it does not expire.

Your MCP key is not interchangeable with your Local Logic API key: each is only accepted at the endpoint it was issued for. This is intentional. SDK-issued API keys are designed to run in a browser, where anyone can read them out of network traffic β€” fine for the SDK's own scoped use, but not a credential you want to also unlock an MCP server with. Keeping the two separate means a key exposed on a public web page can never be used to call your MCP tools.

There is one exception. The Anthropic Messages API accepts only Bearer tokens, so on that surface you must first exchange your client credentials for an OAuth access token β€” see OpenAI and Anthropic APIs.

Supply the key in an Authorization request header:

Authorization: MCP <your-mcp-key>
The scheme is MCP, not V3 or Bearer

Enter the value exactly as shown, including the space after MCP. Your Local Logic API key (the V3 <key> scheme used by the REST API and SDKs) is not accepted here β€” sending V3 <your-api-key> will fail authentication. Bearer is reserved for short-lived OAuth access tokens; see OpenAI and Anthropic APIs.

One key for your whole organization​

The MCP server uses organization-level authentication. An administrator configures the connector once with your organization's MCP key, and everyone on the team can use it β€” individual users do not sign in, and never see or handle the key.

This applies wherever a shared configuration is possible: a Claude.ai or Claude Desktop connector (subject to the Request headers availability noted above), a committed .mcp.json or .cursor/mcp.json, or your own backend calling a platform API.

On Claude Team and Enterprise plans, only an Owner or Primary Owner can add a custom connector:

  1. An Owner or Primary Owner adds the connector under Admin settings β†’ Connectors, entering the server URL and the Authorization header.
  2. Members then go to Settings β†’ Connectors, find it labelled Custom, and select Connect.

Because a single key represents the whole organization, usage is attributed at the organization level rather than per individual user.

Entering the key in your client​

claude mcp add local-logic --transport http https://api.locallogic.co/mcp \
--header "Authorization: MCP $LOCAL_LOGIC_MCP_KEY"

OpenAI and Anthropic APIs​

If you are building your own product on OpenAI or Anthropic models, you can have the model provider connect to our server on your behalf, rather than configuring an MCP client yourself. Each provider takes a different credential, for reasons outside our control.

OpenAI Responses API​

The mcp tool accepts arbitrary headers, so pass your MCP key directly:

{
"type": "mcp",
"server_label": "local_logic",
"server_url": "https://api.locallogic.co/mcp",
"headers": { "Authorization": "MCP <your-mcp-key>" },
"require_approval": "never"
}

OpenAI discards header values after each request and retains only the scheme and domain of server_url, so include the headers block every time you configure the MCP tool rather than treating it as stored configuration.

The headers field is documented in the Responses API reference rather than the prose guide, which mentions only authorization.

This is a different surface from the ChatGPT app, which cannot connect to this server β€” see the ChatGPT tab in the Quickstart. Building on OpenAI models through the Responses API is fully supported; installing the server as a ChatGPT connector is not.

Anthropic Messages API​

The MCP connector exposes a single authorization_token field and no custom headers. Anthropic sends that value to our server as Authorization: Bearer <authorization_token>, adding the Bearer prefix for you.

This is the one surface where neither your Local Logic API key nor your MCP key works: Anthropic always sends Bearer, and neither the V3 nor the MCP scheme can be expressed here. Use an access token from the client-credentials flow instead β€” POST https://api.locallogic.co/oauth/token with your client_id and client_secret, then pass the returned access_token as authorization_token.

A server definition must be paired with an mcp_toolset entry in tools that references it by name. Sending mcp_servers on its own is a validation error:

{
"mcp_servers": [
{
"type": "url",
"url": "https://api.locallogic.co/mcp",
"name": "local_logic",
"authorization_token": "<your-access-token>"
}
],
"tools": [
{ "type": "mcp_toolset", "mcp_server_name": "local_logic" }
]
}

Send this with the anthropic-beta: mcp-client-2025-11-20 header. Check Anthropic's documentation for the current beta identifier before you build β€” this feature is in beta and an earlier version, mcp-client-2025-04-04, is already deprecated.

Pass the token on its own β€” do not prepend Bearer yourself, or the header arrives double-prefixed and authorization fails. Access tokens expire, so fetch a fresh one rather than storing it as static configuration; see Getting Started for the request shape, lifetime, and how client_id / client_secret are provisioned.

Permissions model​

The MCP server is read-only by design: no tool can write, update, or delete data. Access to individual tools mirrors your API entitlements. If your contract does not include Demographics, demographics tools return an authorization error. If your contract only allows you access to data for South Carolina, data in Tennessee will not be returned.

MCP access is additive to your existing entitlements: your account must have the MCP product enabled, and your existing per-product permissions then determine which tools you can call through it. Contact support@locallogic.co to enable MCP on your account and receive your MCP key.


Tool reference​

22 tools return data today, grouped below by product area. Coverage is US and Canada.

Your client's tool list will show more than 22. Some roadmap tools are already registered on the server, so they appear in tools/list and your assistant can call them β€” they respond with "available": false rather than data. Others are not registered at all and will be absent from the list entirely. Both kinds carry a Coming soon marker below; everything unmarked is live.

The practical consequence: count the unmarked tools, not the entries in your client's tool picker, when checking what your connection can do.

Tool availability also varies by contract entitlement β€” see Permissions model. Several tools combine more than one product in a single call, and need all of the listed permissions to succeed; they return an authorization error rather than a partial result if any one is missing.

ToolWhat it doesPermissions required
search_geographiesSearch for geographies by name (city, neighborhood, region) and return matches with IDs.Geographies
get_geographiesReturn the named geographies containing a coordinate, from smallest to largest.Geographies
get_geographyReturn details for a single geography by its geog_id.Geographies
get_locationReturn the country and state/province for a coordinate.Geographies
list_neighborhoods_in_geography Coming soonList all active neighborhoods within a city or metro.Geographies

Scores, profiles, and measures​

ToolWhat it doesPermissions required
get_scoresQuality-of-life scores (0–5 scale) for a location.Location Scores
get_neighborhood_profileNarrative profile of a neighborhood.Profiles
get_measures50+ fine-grained proximity and access measures for a coordinate.Location Snapshot
get_typologiesBuilt-environment typology for a coordinate.Typologies
get_value_driversTop features driving property values in a neighborhood.Value Drivers
rank_neighborhoods_by_score Coming soonTop neighborhoods in a city or metro, ranked by a Local Logic score.Location Scores
find_neighborhoods_by_score_threshold Coming soonNeighborhoods in a city meeting a minimum score threshold.Location Scores

Similar neighborhoods and matching​

ToolWhat it doesPermissions required
get_similar_neighborhoodsNeighborhoods most similar to a given geography, within the same metro (or 100 km).Similar Neighborhoods
get_affordable_alternativesSimilar neighborhoods enriched with scores and a housing profile, filtered for affordability.Similar Neighborhoods
Location Scores
Profiles
Market Stats
get_neighborhood_comparisonSide-by-side comparison of two neighborhoods (scores, profile, demographics, POIs).Location Scores
Profiles
Demographics
POIs
get_similar_neighborhoods_in_geography Coming soonMost similar neighborhoods within a destination city or metro.Similar Neighborhoods
get_similar_neighborhoods_by_commute Coming soonSimilar neighborhoods within a commute-time limit.Similar Neighborhoods
get_cross_city_alternatives Coming soonNeighborhoods in a destination city most similar to an origin neighborhood.Similar Neighborhoods

Cross-city matching is on the roadmap. Until get_cross_city_alternatives ships, get_similar_neighborhoods and get_affordable_alternatives prioritize results in the origin's own metro area, or within 100 km where no metro is defined.

Points of interest​

ToolWhat it doesPermissions required
get_enhanced_poisPOIs near a coordinate or within a geography, sorted by relevance.POIs
get_neighborhood_poisPOIs of requested types near a neighborhood, with walkability context.POIs
Location Scores
get_poi_categoriesFull list of available POI category identifiers.POIs
get_poi_brandsFull list of available POI brand identifiers (2,000+).POIs
get_poi_tagsFull list of available POI tag identifiers.POIs

Demographics and schools​

ToolWhat it doesPermissions required
get_demographicsDemographic data for a neighborhood or geography.Demographics
get_schoolsNearby primary and high schools for a neighborhood.Schools

Housing and market data β€” US only​

ToolWhat it doesPermissions required
get_market_statsReal estate market statistics for a US geography.Market Stats
get_market_stats_statusAvailability and last-updated timestamp for market statistics data.Market Stats
get_typical_home_price Coming soonTypical price of a specific kind of home in a US geography.Market Stats
get_housing_stock Coming soonCount-based summary of housing inventory in a US geography.Market Stats
get_housing_pool_snapshot Coming soon3-year snapshot of the housing pool in a US geography.Market Stats
find_neighborhoods_by_budget Coming soonFind and rank neighborhoods by home price for a property type and area.Market Stats

The four listing-level housing tools are exposed by the server but not yet backed by data in production β€” they return {"available": false} rather than an error. get_market_stats and get_market_stats_status are fully live.

Mobility and commute​

ToolWhat it doesPermissions required
get_transit_optionsTransit context for a location in a single call β€” mobility scores, the transport section of the neighborhood profile, and nearby transit POIs.Location Scores
Profiles
POIs
get_commute_time Coming soonTravel time and distance between two coordinates.included
get_commute_time_named Coming soonTravel time between two named places β€” no coordinates needed.included

Point-to-point routing is not yet available. get_transit_options describes how well-connected a location is, but does not compute travel time between two places.

Risk​

ToolWhat it doesPermissions required
get_climate_risk Coming soonClimate risk data for a property location.Climate Risk

Prompts​

Alongside its tools, the server ships four MCP prompts β€” reusable, multi-step templates your client can offer as slash commands or presets. Each one chains several tools into a finished piece of analysis.

PromptArgumentsWhat it produces
neighborhood_reportlat, lngFull neighborhood report: scores, profile, demographics, and measures.
compare_neighborhoodstwo coordinatesStructured comparison of two locations.
family_friendly_analysislat, lngHow family-friendly an area is: schools, daycares, parks, and demographics.
investment_potentialgeog_idReal estate investment brief: value drivers, market stats, and comparables.

Prompt support varies by client β€” in Claude Code they appear under /, while some clients do not surface prompts at all.


Example prompts​

MCP works best when users phrase goals, not API calls. These examples exercise common tool combinations:

  • "What are the quality-of-life scores for Ansley Park in Atlanta, and what does the neighborhood feel like?" β€” search_geographies β†’ get_scores β†’ get_neighborhood_profile
  • "I love Montreal's Little Italy but it's out of budget. What else in the city is similar and cheaper?" β€” search_geographies β†’ get_affordable_alternatives
  • "How's the housing market in this Denver ZIP code β€” is it moving fast, and at what prices?" β€” search_geographies β†’ get_market_stats
  • "What drives property values in this neighborhood, and how does it compare to the one next door?" β€” get_value_drivers β†’ get_neighborhood_comparison
  • "Which grocery stores and cafΓ©s are within walking distance of this listing?" β€” get_enhanced_pois
  • "How well-connected is Park Slope for someone without a car?" β€” get_transit_options

Usage and rate limits​

MCP tool usage is tied to the underlying calls to Local Logic APIs and counts toward the monthly API usage tier in your contract. Some of the MCP tools listed above can make 2–3 API calls to produce a complete response.

Customers are limited to 500 API queries per second, which will also apply to queries from MCP tools.


Security and data handling​

  • Read-only scope. No tool exposed by this server can modify data. Even if an AI agent behaves unexpectedly, its impact is limited to reading data within your existing permissions.
  • Your permissions apply. Tool responses are limited to the products and regions in your contract.
  • Data residency. The Local Logic MCP Server is hosted in AWS us-east-1.
  • Prompt injection awareness. When using this server alongside other MCP servers or web-browsing tools, we recommend enabling human confirmation of tool calls in your client. Content retrieved from other sources should not be able to silently trigger tool calls against your data.
  • Query logging. We do not train models on your queries. We do log tool usage to improve our products, prioritize data updates in areas with more queries, and support billing.

Troubleshooting​

Authentication fails (401). Check the header value format. It must be MCP β€” the word MCP, then a space, then your MCP key. A common cause is sending your Local Logic API key (the V3 <key> used by the REST API and SDKs) instead β€” that scheme is not accepted here. Bearer <token> will also not work outside the OAuth flow described in OpenAI and Anthropic APIs. Confirm the header name is Authorization and that your MCP key has not been rotated.

The connector saves but no tools appear. Confirm MCP is enabled on your account β€” MCP access is granted per contract. Contact support@locallogic.co if you are unsure.

My client doesn't support remote MCP servers. Use the mcp-remote bridge shown under Other clients in the Quickstart, or upgrade to a client version with native Streamable HTTP support.

A tool returns an authorization or "not entitled" error. Your API contract may not include that product. Note that several tools combine multiple products in one call β€” get_transit_options, for example, needs Location Scores, Profiles, and POIs β€” so a missing entitlement on any one of them fails the whole call. The tool reference lists the full set each tool requires. Contact support@locallogic.co to discuss access.

A tool listed in these docs isn't in my client's tool list. Check whether it is marked Coming soon in the tool reference. Those tools are documented ahead of release and are not callable yet.

A tool returns "available": false. The tool is exposed but its data is not yet enabled in production β€” this applies to the listing-level housing tools. It is not an error with your key or your entitlements.

The model isn't calling Local Logic tools at all. Verify the connector is enabled for the current conversation, then name it explicitly in your prompt (e.g., "Using Local Logic, …"). Most clients let you inspect available tools to confirm the connection is live.


FAQ​

What is MCP? The Model Context Protocol is an open standard that lets AI applications securely connect to external tools and data sources. Local Logic's MCP server exposes our location intelligence as tools that any MCP-compatible AI client can call.

Is this the same data as the REST API? Yes β€” the MCP server is a layer over the same underlying data products. Endpoints available via MCP are marked with the Available via MCP πŸ”Œ badge on their documentation pages; those with MCP support still in development are marked Coming soon via MCP πŸ”Œ.

Can the MCP server change anything in my account? No. Every tool is read-only.

Why does the MCP server use a different key than my Local Logic API key? Your Local Logic API key is designed to be used from a browser (via our SDKs), where it's visible to anyone inspecting network traffic on the page. That's an acceptable exposure for the SDK's own scoped use, but not a credential that should also unlock a general-purpose MCP server. Issuing a separate MCP key β€” one you configure only in trusted clients like Claude Code, Cursor, or your own backend, never in front-end code β€” keeps the two exposure surfaces independent. Request your MCP key from support@locallogic.co.

Can I use this with ChatGPT or other OpenAI models? Through the OpenAI Responses API and Codex CLI, yes β€” both accept the Authorization header this server requires. The ChatGPT app itself, no: its custom connectors support only OAuth or no authentication, with no field for an API key or custom header. See the ChatGPT tab in the Quickstart.

Which regions are covered? The US and Canada, matching the underlying APIs.

How is MCP usage billed? MCP usage counts toward the same monthly API usage limit defined in your contract.

Where do I report issues or request new tools? support@locallogic.co