Curagent
This MCP server lets you check Curagent coverage and credits, then submit real estate title/closing PDFs for AI risk analysis.
Check supported jurisdictions, document types, maturity, and pricing with
check_coverage(no API key required).Retrieve your remaining Curagent credit balance and tier with
get_credit_balance.Analyze one or more base64-encoded PDFs—deeds, title commitments, mortgages, closing disclosures, surveys, payoff letters, HOA estoppels, or a full closing package.
Receive a structured risk report with a 0–100 risk score (higher is safer), risk level, findings with verbatim evidence and cure guidance, extracted Schedule B-I requirements, and
jurisdictionApplied.Enable cross-document checks for contradictions in parcel ID, address, and party names when submitting multiple documents.
Analyze properties in all 50 states and DC; statute citations appear only for production-maturity jurisdictions.
Use sandbox free analyses or paid credits per analysis.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
AI-powered title risk analysis for real estate closing documents, exposed as an MCP server.
Curagent analyzes real estate title documents — deeds, title commitments, mortgages, closing disclosures, surveys, payoff letters, HOA estoppels, and full closing packages — and returns a structured risk report with a composite score, individual findings, and AI-generated cure guidance.
This MCP server lets AI agents and MCP-compatible clients (Claude, Cursor, and others) call Curagent directly.
Coverage: Curagent analyzes properties in all 50 states and DC. Each jurisdiction has a maturity level, and every analysis reports the one it applied in
jurisdictionApplied:
production: full analysis, validated against real documents from the state, with hand-verified statute citations in cure guidance. Currently Florida.
draft: full analysis (every check, cross-document contradiction detection and cure guidance) using the state's own terminology, such as deed of trust vs. mortgage. Statute citations are added as each state is validated.
Call
check_coveragefor the live list. It reads from the same registry the API uses, so it's always current.
Connection
This is a hosted remote MCP server, so there's nothing to install or run. Point your MCP client at:
https://mcp.curagent.io/Transport: Streamable HTTP
Authentication
Curagent authenticates with an API key, passed as an X-API-Key header on the connection. You configure it once when you set up the connection; the server forwards it to the Curagent API on each call.
Create an account at curagent.io to get a key. New accounts include 3 free analyses.
Example client configuration
{
"mcpServers": {
"curagent": {
"url": "https://mcp.curagent.io/",
"transport": "streamable-http",
"headers": {
"X-API-Key": "cur_live_your_key_here"
}
}
}
}Configuration format varies by client. Consult your MCP client's documentation for how it accepts a remote server URL and custom headers.
Running locally (stdio)
The hosted endpoint is the recommended way to connect. If your client only supports local servers that it launches itself, the server can also run as a local process over stdio. It still calls the hosted Curagent API, so analyses use your credits as usual.
Requires the .NET 9 SDK.
git clone https://github.com/ksh0rt/curagent-mcp
cd curagent-mcp
dotnet publish -c Release -o ./publishThen configure your client to launch it, with your key in the CURAGENT_API_KEY environment variable:
{
"mcpServers": {
"curagent": {
"command": "dotnet",
"args": ["/full/path/to/curagent-mcp/publish/Curagent.Mcp.dll", "--stdio"],
"env": {
"CURAGENT_API_KEY": "cur_live_your_key_here"
}
}
}
}In stdio mode the key is read only from CURAGENT_API_KEY. The hosted server reads it only from the X-API-Key header, so a key configured for one is never used by the other.
Related MCP server: MCP Mortgage Server
Tools
The server exposes three tools, designed so an agent can confirm fit and available balance before running an analysis.
check_coverage
Returns what Curagent supports: every analyzed jurisdiction with its maturity and whether statute citations are enabled, plus document types and pricing. No API key required. Call this first to see how the property's state is supported.
get_credit_balance
Returns the caller's remaining credit balance and tier. Requires an API key. Call this before analyzing to confirm available usage.
analyze_title_documents
Analyzes one or more title documents and returns a structured risk report: risk score and level, findings with verbatim evidence and cure guidance, extracted Schedule B-I requirements, and the jurisdiction applied (jurisdictionApplied). Requires an API key.
Input: one or more PDF documents, each as a base64-encoded string.
Cost: uses one of your 3 free analyses (sandbox tier) or 1 credit (paid tiers).
Scope: all 50 states and DC. Statute citations appear only for jurisdictions at production maturity.
How it works
Curagent's risk engine evaluates a closing package the way a title professional would — checking for issues like unresolved liens, undisclosed easements, encroachments, probate and authority questions, legal description mismatches, expired documents, and party-name inconsistencies, and cross-document contradictions in parcel ID, address, and party names across a full package — then returns a scored, itemized report with guidance on how to cure each finding.
The MCP server is a thin layer over the Curagent API. Your API key flows through it to the API, which does the analysis and meters usage.
Pricing
Sandbox tier — 3 free analyses to start, for evaluation.
Credit bundles — prepaid credits, 1 per analysis. Credits don't expire.
Volume — for higher-throughput or platform use, get in touch.
See curagent.io for current details and to request access.
Links
Website: curagent.io
API base:
https://api.curagent.ioMCP endpoint:
https://mcp.curagent.io/
Curagent is a product of Caldira LLC.
Available Tools
3 toolsanalyze_title_documentsAInspect
Analyzes US real estate title and closing documents and returns a structured risk report: a risk score (0-100, higher is safer) and level, findings with verbatim evidence from the documents and guidance on how to cure each one, the Schedule B-I requirements extracted from any title commitment in the package, and the jurisdiction applied (jurisdictionApplied). Accepts one or more PDF documents as base64 strings (deed, title commitment, mortgage, closing disclosure, survey, payoff letter, HOA estoppel, etc.), including a single PDF containing a whole closing package, which is split into its constituent instruments. Submitting several documents together also enables cross-document checks for contradictions in parcel ID, address, and party names. Properties in all 50 states and DC are analyzed; statute citations appear only for jurisdictions at production maturity, so call check_coverage to see each state's maturity. Uses one of your 3 free analyses (sandbox tier) or 1 credit (paid tiers); call get_credit_balance first to confirm available credits.
| Name | Required | Description | Default |
|---|---|---|---|
| documentsBase64 | Yes | One or more PDF documents, each as a base64-encoded string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavior well beyond the annotations: the exact cost model (one of 3 free sandbox analyses, or 1 credit on paid tiers), that a single PDF closing package is automatically split into constituent instruments, that multi-document submissions trigger cross-document parcel/address/party contradiction checks, and that statute citations only appear for production-mature jurisdictions. The credit consumption is consistent with readOnlyHint=false rather than contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool does and returns before moving to input format, coverage scope, and billing. It is dense but every sentence carries information an agent needs; only the cost/jurisdiction details in the tail could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description fully enumerates the return payload (risk score 0-100 with higher-is-safer semantics, level, findings with evidence and cures, Schedule B-I, jurisdictionApplied). Input format, geographic scope limits, prerequisites, and cost are all covered, leaving nothing material for an agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single documentsBase64 parameter, so the baseline is 3. The description adds real meaning: it lists the accepted document types (deed, title commitment, mortgage, closing disclosure, survey, payoff letter, HOA estoppel) and clarifies that multiple PDFs may be supplied and that a bundled package PDF is handled via splitting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (analyzes US real estate title and closing documents) and enumerates the exact outputs: risk score and level, findings with verbatim evidence plus cure guidance, Schedule B-I requirements, and jurisdictionApplied. It is unmistakably distinct from the siblings check_coverage and get_credit_balance, which are meta/utility tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operational guidance: call check_coverage to inspect per-state maturity before relying on statute citations, and call get_credit_balance first to confirm credits. It also explains that submitting multiple documents together unlocks cross-document checks. It stops short of explicit when-not-to-use exclusions, but the routing signals are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_coverageARead-onlyIdempotentInspect
Returns what Curagent supports: every analyzed US jurisdiction with its maturity, which document types, and how analysis is priced. Curagent runs its full analysis for properties in all 50 states and DC using each state's own terminology; jurisdictions at production maturity also include hand-verified statute citations in cure guidance. No API key is needed for this call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description adds real context beyond that: the call needs no API key, covers all 50 states plus DC, uses each state's own terminology, and that production-maturity jurisdictions include hand-verified statute citations — material for interpreting the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the returned content before maturity and auth details. Some phrasing ('using each state's own terminology') leans promotional, but every sentence carries information an agent could act on, so size is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of describing the return, and it does so reasonably: covered jurisdictions, maturity levels, supported document types and pricing. A finer picture of the response shape is missing, but nothing needed to call the tool correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The description correctly implies a no-argument, fetch-everything call, and there is nothing parameter-related left to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Returns what Curagent supports,' then enumerates the exact payload (jurisdictions, maturity, document types, pricing). This is unmistakably distinct from the sibling tools analyze_title_documents and get_credit_balance, so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a pre-flight/discovery call, but the description never explicitly says when to call it or when not to. It names no alternatives and gives no conditions beyond the note that no API key is needed, which is helpful but is not when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credit_balanceARead-onlyIdempotentInspect
Returns the caller's remaining Curagent credit balance and tier. Call this before analyzing to confirm available usage. Sandbox tier includes 3 free analyses total, not a recurring allowance; paid tiers use 1 credit per analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the safety profile is covered. The description adds non-obvious business rules: the sandbox tier grants 3 total (non-recurring) analyses while paid tiers consume 1 credit per analysis, which materially affects how an agent interprets the returned balance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero waste: purpose, when to call, and the credit/tier semantics are front-loaded in that order. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument read tool with no output schema, the description covers what is returned (balance and tier) plus the accounting model behind it. It stops short of describing response shape or formatting, but nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the caller's remaining Curagent credit balance and tier'), which an agent can distinguish from analyze_title_documents and check_coverage without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly prescribes when to call it ('Call this before analyzing to confirm available usage'), giving a clear triggering condition. It doesn't name a when-not or an alternative, but the timing guidance is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
analyze_title_documents - First observed
check_coverage - First observed
get_credit_balance
TDQS
Scored across 3 tools
The three tools serve clearly separate purposes: document analysis, coverage lookup, and credit balance. There is no overlap, and each description states its distinct role, with the analysis tool even cross-referencing the other two.
All tools use a consistent snake_case verb_noun pattern (analyze_title_documents, check_coverage, get_credit_balance). The convention is predictable and readable.
Three tools is on the low end, but each earns its place in a tightly scoped analysis service: one core operation plus two supporting lookups. Nothing feels redundant or missing at this scope.
The surface covers the full workflow of checking coverage, confirming credits, and running the analysis. Minor gaps exist around retrieving past analyses or re-fetching individual findings, but the primary lifecycle is complete.
Maintenance
Related MCP Connectors
Review contracts for risks: summary, severity-rated flags, key terms, and clause coverage.
Check if a Florida address can build an ADU: county GIS zoning, eligibility verdict, local rules.
AI-powered foreclosure auction intelligence for Florida counties via MCP tools.
Checks certificates of insurance (ACORD 25) against your requirements. Pay per call, x402 USDC.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAnalyzes financial contract PDFs to extract clauses, flag risk terms, and compare contract versions, producing structured risk briefs for legal and risk teams.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to parse and analyze mortgage documents (Loan Estimates & Closing Disclosures), converting them into structured MISMO-compliant JSON and checking for TRID compliance violations.2MIT
- AlicenseAqualityCmaintenanceEnables agents to analyze contract excerpts and receive calibrated risk annotations across 10 default risk classes, including presence probabilities, overall risk levels, and human review recommendations.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables scanning of enterprise MSAs, NDAs, and vendor SOWs to detect high-risk clauses such as unlimited indemnity, one-sided IP assignment, perpetual non-compete, and evergreen auto-renewal traps. Computes composite risk scores with an overall contract health rating and generates precise legal redlines and executive memos.7MIT