Skip to main content
Glama
CREIntel

NDI-MCP-Server

Northeast Deal Intel — MCP Server

Connect any MCP-compatible LLM (Claude, Cursor, Continue) to 9,400+ AI-scored commercial real estate deals and 118,000+ closed comps across the Northeast US.

What You Can Do

Ask your LLM natural language questions like:

  • "Find industrial deals in CT over 7% cap rate under $2M"

  • "I have a $1.4M 1031 exchange closing in 45 days. What NNN retail fits?"

  • "Compare the cap rate on this Hartford warehouse to recent comps"

  • "Score this deal: 215 Main St, Windsor CT, $3.2M industrial, 7.8% cap"

  • "Score these 5 deals and rank them by investment quality"

  • "What's the submarket profile for Hartford Metro industrial right now?"

  • "Find Opportunity Zone deals in CT with 1031 crossover potential"

Related MCP server: nyc-property-intel

Tools Exposed

Core Tools (API Key or x402)

Tool

Description

x402 Price

search_deals

Find active listings by state, type, score, price, cap rate

$0.02

get_deal

Full deal details + scoring breakdown + sell signal

$0.02

search_comps

118K+ closed transactions for benchmarking

$0.03

score_deal

Submit any deal for AI scoring

$0.10

get_market_benchmarks

Cap rate + PSF benchmarks by state/type

$0.02

find_1031_candidates

Ranked replacement properties for 1031 exchange

$0.05

get_sell_signal

Sell probability for a specific listing

$0.05

get_market_summary

State-level market overview

$0.02

New x402 Pay-Per-Call Tools

Tool

Description

x402 Price

get_comps

Closed comp lookup — 118K+ records, up to 10/call

$0.03

get_submarket_intel

Submarket profile: cap rates, comp velocity, score dist

$0.03

get_oz_deals

Opportunity Zone deals + OZ+1031 crossover flags

$0.02

find_1031_candidates

Ranked 1031 replacement properties

$0.05

batch_score_deals

Score up to 10 deals in one call

$0.05

get_access

Pricing, tier info, x402 setup instructions

free

Access Options

Option 1 — API Key Subscription (best for regular use)

Tier

Price

Daily Limit

Agent Starter

$49/mo

500 req/day

Agent Pro

$149/mo

5,000 req/day

Enterprise

$499/mo

50,000 req/day

Get an API key

Option 2 — x402 Pay-Per-Call (no subscription)

Pay in USDC on Base mainnet. No signup. No API key. Pay only for what you use.

  • Network: Base mainnet (eip155:8453)

  • Pay to: 0x24FAcafEB49b4e3FACF0B3e69604A2F4640c9bf2

  • Discovery: https://api.northeastdealintel.com/.well-known/x402

Pricing ranges from $0.02 to $0.10 per call depending on endpoint. Call get_access(tier='x402') from within your MCP client for setup details.

Setup

1. Install dependencies

pip install mcp httpx

2. Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "northeast-deal-intel": {
      "command": "python3",
      "args": ["/path/to/ndi_mcp_server.py"],
      "env": {
        "NDI_API_KEY": "your_api_key_here"
      }
    }
  }
}

Restart Claude Desktop. You'll see NDI tools in the tool picker.

3. Other MCP clients

Cursor: Add to .cursor/mcp.json in your project root.

Continue: Add to ~/.continue/config.json under mcpServers.

The server uses stdio transport — any MCP-compatible client works the same way.

Example Conversations

1031 Exchange

"I sold a CT strip center for $1.8M and need a replacement property within 45 days. Find me NNN retail with cap rates above 7% priced between $1.5M and $2.2M."

Batch Portfolio Screen

"Here are 8 deals I'm looking at this week. Score them all and tell me which 3 are worth pursuing."

Market Research

"What's the average cap rate for industrial in Hartford Metro right now? How does it compare to the last 90 days of closed transactions?"

Opportunity Zone

"Find me CT deals that qualify for both Opportunity Zone treatment and a 1031 exchange — what's the crossover inventory look like?"

Submarket Deep Dive

"Give me the full picture on Fairfield County multifamily — active listings, comp velocity, score distribution."

API Reference

Base URL: https://api.northeastdealintel.com

x402 Discovery: https://api.northeastdealintel.com/.well-known/x402

OpenAPI Docs: https://api.northeastdealintel.com/docs

Questions

hello@northeastdealintel.com · northeastdealintel.com

Available Tools

8 tools
find_1031_candidatesA

Find deals suitable for a 1031 exchange. Filters for income-producing properties with clean structures, appropriate price bands, and NNN/NN lease profiles. Pass the exchanger's target price range and timeline for best results.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoTarget state (or omit for all states)
max_priceNoExchange value / max replacement price
min_priceNoMinimum price (usually 80% of relinquished value)
min_cap_rateNoMinimum cap rate as decimal
property_typeNoPreferred property type (optional)
limitNoMax results (default 10)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions filtering criteria and hints at optimization ('for best results'), it lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, or what the output format looks like. For a search tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences, with the first stating the purpose and key filters, and the second providing usage guidance. Every phrase adds value without redundancy, making it easy to parse and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a 1031 exchange tool with 6 parameters and no output schema, the description is adequate but incomplete. It covers the purpose and basic usage but lacks details on behavioral traits (due to no annotations) and output expectations. The high schema coverage helps, but more context on results format or limitations would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal value beyond the schema by implying that 'max_price' and 'min_price' relate to exchange value and timeline, but it doesn't provide additional syntax, format details, or clarify relationships between parameters like 'min_cap_rate' and the 1031 context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Find deals suitable for a 1031 exchange') and resource ('income-producing properties'), with explicit criteria like clean structures, price bands, and lease profiles. It distinguishes from siblings by focusing on 1031 exchange suitability rather than general deal retrieval or analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('for a 1031 exchange') and includes best practice guidance ('Pass the exchanger's target price range and timeline for best results'). However, it does not explicitly state when not to use it or name specific alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dealA

Get full details for a specific deal by ID, including complete AI scoring breakdown, green/red flags, sell probability signal, distress tier, and 1031 suitability.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesThe deal ID from search_deals results

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It describes the return content (AI scoring, flags, etc.), which adds value beyond the input schema. However, it doesn't disclose behavioral traits like error handling, permissions required, or rate limits, leaving gaps for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence with zero waste—every word contributes to clarifying purpose and output details. It's front-loaded with the core action and efficiently lists the specific data returned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description partially compensates by detailing return content. However, for a tool that retrieves complex data (AI scoring, flags, etc.), it lacks information on response structure, error cases, or prerequisites, leaving the agent with incomplete context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 'deal_id' parameter. The description adds context by noting the ID comes from 'search_deals results', which is helpful but doesn't provide additional syntax or format details beyond the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('full details for a specific deal by ID'), distinguishing it from siblings like 'search_deals' (which lists multiple deals) or 'score_deal' (which focuses on scoring). It specifies the exact scope of details returned, including AI scoring breakdown, green/red flags, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need comprehensive details for a known deal ID, contrasting with 'search_deals' for finding deals or 'score_deal' for scoring. However, it lacks explicit when-not-to-use guidance or named alternatives, such as not using it for bulk retrieval or when only basic info is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_benchmarksA

Get cap rate and price/SF benchmarks for a state and property type, derived from closed comps. Use to determine if a deal is priced above or below market.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes2-letter state code
property_typeNoProperty type

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the data source ('derived from closed comps') but lacks details on behavioral traits like rate limits, error handling, or response format. This leaves gaps for a tool that likely involves data retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose and followed by usage context. Every sentence adds value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is adequate for a simple lookup tool but lacks completeness. It explains the purpose and usage but omits details on output format, data freshness, or potential limitations, which could be important for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents the parameters (state and property_type). The description adds context by linking parameters to benchmarks, but does not provide additional syntax or format details beyond what the schema offers, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('cap rate and price/SF benchmarks'), and the source ('derived from closed comps'), distinguishing it from siblings like get_market_summary or search_comps by focusing on benchmarks rather than summaries or raw comps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a clear context for use ('to determine if a deal is priced above or below market'), which helps guide when to apply this tool. However, it does not explicitly mention when not to use it or name alternatives among siblings, such as get_market_summary for broader data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_summaryB

Get a market summary for a state: total active listings, score distribution, average cap rate, deal count by property type, and top submarkets.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes2-letter state code

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the data returned but doesn't mention critical traits like whether this is a read-only operation (implied by 'Get'), potential rate limits, authentication requirements, data freshness, or error handling (e.g., for invalid state codes). The description adds minimal context beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Get a market summary for a state') and immediately lists the key data points. There is no wasted verbiage, repetition, or unnecessary elaboration—every word contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (aggregating multiple market metrics) and lack of annotations or output schema, the description is adequate but has clear gaps. It specifies what data is returned but not the format (e.g., JSON structure), handling of missing data, or time range for the summary. For a tool with no structured output documentation, more detail on return values would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting the single required parameter 'state' as a '2-letter state code'. The description adds no parameter-specific details beyond what the schema provides, such as examples of valid state codes or formatting requirements. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get') and resource ('market summary for a state'), listing the exact data points returned (total active listings, score distribution, average cap rate, deal count by property type, and top submarkets). It distinguishes itself from siblings like 'get_deal' (individual deals) or 'search_deals' (filtered searches) by focusing on aggregated market-level statistics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., state must be valid), exclusions, or comparisons to siblings like 'get_market_benchmarks' (which might offer different metrics) or 'search_comps' (for property-level comparisons). Usage is implied only by the tool's name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sell_signalA

Get the sell probability signal for a listed property — the likelihood it transacts in the next 6 months based on days-on-market, ownership age, distress tier, and score. High sell signal = motivated seller, potential to negotiate. Requires agent_starter tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
listing_idYesListing ID from search_deals

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's function, output meaning ('High sell signal = motivated seller, potential to negotiate'), and a key constraint ('Requires agent_starter tier'), covering essential behavioral traits without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with two sentences that efficiently convey purpose, signal components, interpretation, and tier requirement. Every sentence adds value without redundancy, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single input, no output schema, no annotations), the description is largely complete: it explains what the tool does, the signal's basis and meaning, and a tier requirement. However, it lacks details on output format or error handling, which could be useful for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter 'listing_id' with its type and description. The description doesn't add any parameter-specific information beyond what the schema provides, such as format examples or source details, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Get') and resource ('sell probability signal for a listed property'), including what the signal represents ('likelihood it transacts in the next 6 months based on days-on-market, ownership age, distress tier, and score'). It distinguishes from siblings by focusing on sell probability rather than market data, deal scoring, or searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for assessing sell probability of a property, with a prerequisite ('Requires agent_starter tier'). However, it doesn't explicitly state when not to use it or name alternatives among siblings, such as when to use score_deal instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

score_dealA

Submit a deal for AI scoring. Returns a 1-10 score, green flags, red flags, market benchmarks, and investment thesis. Use when evaluating a deal not yet in the NDI database. Requires agent_pro tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoProperty address
stateYes2-letter state code
property_typeYesProperty type
asking_priceYesAsking price in dollars
cap_rateNoCap rate as decimal (e.g. 0.07 = 7%)
noiNoNet Operating Income in dollars
price_per_sfNoPrice per square foot
descriptionNoListing description with any green/red flag language

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the return format (score, flags, benchmarks, thesis) and a tier requirement, but lacks details on rate limits, error handling, or data persistence. It adequately covers the core behavior but misses advanced operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by output details and usage guidelines in two efficient sentences. Every sentence adds value without redundancy, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (AI scoring with 8 parameters) and no annotations/output schema, the description is mostly complete—it covers purpose, output, and usage context. However, it lacks details on behavioral aspects like rate limits or error cases, leaving minor gaps for a tool with significant functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds no additional parameter semantics beyond implying the tool uses these inputs for scoring. Baseline 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Submit a deal for AI scoring') and the resource ('deal'), distinguishing it from siblings like 'get_deal' (retrieval) or 'search_deals' (search). It explicitly mentions the comprehensive output (score, flags, benchmarks, thesis), making the purpose distinct and well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use ('when evaluating a deal not yet in the NDI database') and includes a prerequisite ('Requires agent_pro tier'), which helps differentiate it from alternatives like 'get_deal' (for existing deals) or 'search_comps' (for comparisons). No exclusions are stated, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_compsA

Search 100,000+ closed commercial transactions for comp data. Use to benchmark a deal's price/SF or cap rate against actual recent sales. Requires agent_starter tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes2-letter state code
property_typeNoindustrial, multifamily, retail, office, land
min_priceNoMinimum sale price
max_priceNoMaximum sale price
min_dateNoEarliest sale date YYYY-MM-DD
submarketNoFilter by submarket
min_price_per_sfNoMin price per SF
max_price_per_sfNoMax price per SF
limitNoMax results (default 20, max 100)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the data source size ('100,000+ closed commercial transactions') and a tier requirement ('agent_starter tier'), adding useful context. However, it lacks details on rate limits, pagination, error handling, or the format of results, which are important for a search tool with no output schema. The description does not contradict any annotations, as none are given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, consisting of two sentences that efficiently convey the tool's purpose and usage context. Every sentence earns its place: the first defines the search scope and purpose, and the second adds critical usage guidelines and prerequisites. There is no redundant or verbose language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 9 parameters, no annotations, and no output schema, the description is moderately complete. It covers the purpose and basic usage but lacks details on behavioral aspects like result format, limitations, or error handling. The high schema coverage helps, but without annotations or output schema, the description should do more to compensate, such as explaining what the search returns or how results are structured.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description does not add specific parameter semantics beyond what the schema provides, such as explaining how 'state' or 'property_type' affect the search. It implies filtering for benchmarking but does not detail parameter interactions. With high schema coverage, the baseline score of 3 is appropriate, as the description adds minimal value over the structured data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching a large database of closed commercial transactions for comparable data. It specifies the exact resource ('100,000+ closed commercial transactions') and verb ('Search'), and distinguishes itself from siblings by focusing on comp data for benchmarking price/SF or cap rates against actual recent sales, unlike tools like 'search_deals' or 'get_market_benchmarks' which may have different scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: to benchmark a deal's price/SF or cap rate against actual recent sales. It mentions a prerequisite ('Requires agent_starter tier'), which helps guide usage. However, it does not explicitly state when not to use it or name specific alternatives among the sibling tools, such as when to choose 'search_deals' instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_dealsA

Search active commercial real estate listings across the Northeast. Returns AI-scored deals with cap rates, pricing, green/red flags, and sell signals. Use this to find deals matching an investor's criteria, scout a submarket, or identify opportunities for a 1031 exchange.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNo2-letter state code: CT, MA, NJ, NY, PA, RI, NH, VT, ME
property_typeNoindustrial, multifamily, retail, office, land, development, mixed-use
min_scoreNoMinimum deal score 1-10 (7+ = strong, 9+ = exceptional)
max_scoreNoMaximum deal score
min_priceNoMinimum asking price in dollars
max_priceNoMaximum asking price in dollars
min_cap_rateNoMinimum cap rate as decimal (e.g. 0.07 = 7%)
submarketNoSubmarket name e.g. 'Hartford Metro', 'Fairfield County'
limitNoMax results to return (default 10, max 50)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the output format ('AI-scored deals with cap rates, pricing, green/red flags, and sell signals') and geographic scope ('across the Northeast'), but lacks details on permissions, rate limits, pagination, or error handling. It adds value beyond the schema but does not fully compensate for the absence of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences: the first states the purpose and output, and the second provides usage guidelines. Every sentence earns its place with no wasted words, and key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, no output schema, no annotations), the description is reasonably complete. It covers purpose, output format, and usage scenarios, but could benefit from more behavioral details (e.g., response format, limitations) to fully compensate for the lack of structured metadata. It is adequate but has minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly. The description does not add any parameter-specific information beyond what the schema provides, such as explaining interactions between parameters or default behaviors. The baseline score of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Search active commercial real estate listings'), resource ('across the Northeast'), and output ('Returns AI-scored deals with cap rates, pricing, green/red flags, and sell signals'). It distinguishes this tool from siblings like 'find_1031_candidates' by explicitly mentioning 1031 exchanges as one use case among others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('to find deals matching an investor's criteria, scout a submarket, or identify opportunities for a 1031 exchange'), which helps differentiate it from siblings like 'get_market_summary' or 'search_comps'. However, it does not explicitly state when NOT to use it or name specific alternatives for overlapping functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. For example, find_1031_candidates focuses on filtering for 1031 exchange suitability, while search_deals is a broader search for active listings, and get_deal retrieves detailed information for a specific deal. The descriptions reinforce these unique roles, ensuring agents can easily differentiate between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as find_1031_candidates, get_deal, and search_comps. This uniformity makes the toolset predictable and easy to navigate, with no deviations in naming conventions across the eight tools.

Tool Count5/5

With 8 tools, the count is well-scoped for a commercial real estate analytics server. Each tool serves a specific function, from searching and scoring deals to retrieving market data and benchmarks, ensuring comprehensive coverage without unnecessary bloat or gaps.

Completeness4/5

The toolset provides strong coverage for commercial real estate analysis, including deal discovery, scoring, benchmarking, and market insights. A minor gap exists in update or management operations for deals, but the core workflows for evaluation and research are fully supported, allowing agents to perform essential tasks effectively.

Maintenance

ActivityStale
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Open-source MCP server providing real estate regulatory intelligence (zoning, permits, entitlements, deal scoring) for US properties, enabling AI agents to access 10 callable tools.
    12
    15
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for NYC real estate due diligence. Lets Claude query 22+ NYC public-record databases — DOB/HPD/ECB violations, ACRIS deeds, DOF sales, 311 complaints, FDNY incidents, NYPD complaints, marshal evictions, PLUTO, rent stabilization — in plain English.
    18
    7
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides live commercial real estate data (rates, demographics) and analysis tools (DCF, rent roll parsing, lease abstraction, IC memo generation) within Claude Desktop.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A production-grade MCP server enabling Claude to perform comprehensive NJ real estate workflows including property search, valuation, neighborhood intelligence, investment analysis, and agent tools via 20 tools and 15+ data sources.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CREIntel/ndi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server