Zeitro is an AI mortgage workstation for loan officers, brokers and lenders. Its guideline library is open to AI agents: an MCP server and a REST API that return the verbatim text of the agency mortgage guidelines, with the document, version date and page behind every passage. No account or key is needed.
Endpoints
| What | Where |
|---|---|
| MCP server (streamable HTTP) | https://strata-mcp.zeitro.com/mcp |
| REST API | https://api.zeitro.com/public/v1 |
| OpenAPI 3.1 description | https://api.zeitro.com/public/v1/openapi.json |
| Summary for language models | https://www.zeitro.com/llms.txt |
| Code examples (curl, Python, JavaScript) | https://github.com/Zeitro/zeitro-mortgage-tools |
What it covers
The free tools search these documents, as published by each agency:
- Fannie Mae Single Family Selling Guide and Eligibility Matrix
- Freddie Mac Single-Family Seller/Servicer Guide
- HUD Handbook 4000.1 (FHA)
- VA Lender's Handbook, VA Pamphlet 26-7
- USDA HB-1-3555
Results are the guideline text itself. Nothing is generated or summarized by a model on our side: your model reads the passages and answers, with the citation in hand. Lender program guides and lender overlays are not part of the free tools; they are in Zeitro Strata.
Connect over MCP
The MCP server is called Zeitro. It needs no sign-in: wherever your client asks for authentication, choose none. All of its tools are read-only.
Claude Code
claude mcp add --transport http zeitro https://strata-mcp.zeitro.com/mcpClaude (web and desktop)
Settings → Connectors → Add custom connector, then paste https://strata-mcp.zeitro.com/mcp.
ChatGPT
With developer mode turned on (Settings → Apps & Connectors → Advanced settings), create a connector with the server URL https://strata-mcp.zeitro.com/mcp and no authentication.
Cursor
In ~/.cursor/mcp.json:
{
"mcpServers": {
"zeitro": { "url": "https://strata-mcp.zeitro.com/mcp" }
}
}VS Code
In .vscode/mcp.json:
{
"servers": {
"zeitro": { "type": "http", "url": "https://strata-mcp.zeitro.com/mcp" }
}
}Anything else
Any client that speaks MCP over streamable HTTP works. To try the tools by hand, run npx @modelcontextprotocol/inspector and connect to https://strata-mcp.zeitro.com/mcp. A plain JSON-RPC call works too:
curl https://strata-mcp.zeitro.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search_guidelines",
"arguments":{"question":"FHA student loan monthly payment","lenders":["FHA"],"top_k":1}}}'Tools
Each tool is also a REST endpoint under https://api.zeitro.com/public/v1 that takes the same parameters as a query string and returns the same JSON. The OpenAPI operationId is the tool name.
search_guidelines
Searches the agency guidelines and returns the most relevant verbatim passages, each with its document, version date, page and citation. REST: GET /guidelines/search.
| Parameter | Meaning |
|---|---|
question (required) | A focused question, for example 'FHA student loan monthly payment calculation'. Up to 1,000 characters. |
lenders | Restrict to agencies: 'Fannie Mae', 'Freddie Mac', 'FHA', 'VA', 'USDA'. Over REST, repeat the parameter or separate with commas. |
doc_ids | Restrict to documents, by doc_id from earlier results. |
top_k | Number of passages, 1 to 10. Default 6. |
get_document_pages
Returns the full text of up to 5 consecutive pages of one document. Useful when a passage is cut off or a table continues onto the next page. REST: GET /guidelines/documents/{doc_id}/pages.
| Parameter | Meaning |
|---|---|
doc_id (required) | From search results or the document list. |
start_page (required) | First page, 1-based. |
end_page | Last page, inclusive. Defaults to start_page. At most 5 pages per call. |
list_documents
Lists one agency's guideline documents: doc_id, title, version date and the agency's official link. REST: GET /guidelines/documents.
| Parameter | Meaning |
|---|---|
lender (required) | 'Fannie Mae', 'Freddie Mac', 'FHA', 'VA' or 'USDA'. |
calculate_dti
Calculates front-end and back-end debt-to-income ratios and compares them with Fannie Mae, Freddie Mac, FHA, VA and USDA limits, each with its guideline citation. With loan_amount, state and family_size it also returns VA's minimum residual income. An estimate, not an underwriting decision. REST: GET /calculators/dti.
| Parameter | Meaning |
|---|---|
monthly_income (required) | Gross monthly qualifying income of all borrowers, in dollars. |
housing_payment (required) | Proposed total monthly housing payment: principal and interest, taxes, insurance, mortgage insurance and HOA dues. |
auto_loans, student_loans, credit_cards, installment_loans, alimony_child_support, other_debts | Monthly payments by type. Default 0. |
loan_amount, state, family_size, residual_income | For VA's residual income check. |
calculate_fha_mip
Calculates the FHA upfront and annual mortgage insurance premium (rates, dollar amounts, first-year monthly premium and how long it lasts) from the HUD rate schedule in force on the case number date, with citations. An estimate, not a loan approval. REST: GET /calculators/fha-mip.
| Parameter | Meaning |
|---|---|
base_loan_amount (required) | Base loan amount in dollars, before any financed upfront premium. |
ltv (required) | Loan-to-value ratio as a percent, for example 96.5. |
term_months | Loan term in months. Default 360. |
case_number_date, endorsement_date | YYYY-MM-DD. The case number date selects the rate schedule; default today. |
interest_rate | Note rate as an annual percent; gives the first-year premium on the average scheduled balance. |
refinances_loan_endorsed_before_june_2009 | True for a Streamline or Simple Refinance of an FHA loan endorsed on or before May 31, 2009. |
Example
curl "https://api.zeitro.com/public/v1/guidelines/search?question=FHA%20student%20loan%20monthly%20payment&lenders=FHA&top_k=1&client=my-agent"The answer (passage text shortened here):
{
"question": "FHA student loan monthly payment",
"documents_searched": 1,
"passages": [
{
"doc_id": "8850a99d7ea73ec3",
"lender": "FHA",
"document": "HUD Handbook 4000.1, FHA Single Family Housing Policy Handbook",
"version": "2026-08-12",
"page": null,
"score": 0.9651,
"text": "## **(2) Standard** \n\nThe Mortgagee must include all Student Loans in the Borrower's liabilities, regardless of the payment type or status of payments. …",
"truncated": true,
"cite_as": "HUD Handbook 4000.1 II.A.4.b, version 2026-08-12, page not identified (via Zeitro Strata, https://www.zeitro.com/guidelines/hud-handbook-4000-1/ii-a-4-b?utm_source=agent&utm_medium=my-agent&utm_campaign=api&utm_content=hud-handbook-4000-1)",
"url": "https://www.zeitro.com/guidelines/hud-handbook-4000-1/ii-a-4-b?utm_source=agent&utm_medium=my-agent&utm_campaign=api&utm_content=hud-handbook-4000-1",
"source_url": "https://www.hud.gov/hud-partners/single-family-handbook-4000-1"
}
],
"attribution": "Powered by Zeitro Strata, https://www.zeitro.com/strata?utm_source=agent&utm_medium=my-agent&utm_campaign=api&utm_content=attribution",
"disclaimer": "Guideline text quoted as published by the agency. The latest published version governs. This is not an underwriting decision.",
"source": "Zeitro Strata guideline library: agency guides (Fannie Mae, Freddie Mac, FHA, VA, USDA) as published by each agency.",
"asOf": "2026-11-10T22:41:01Z"
}When a question or the lenders parameter names a lender, the agency passages still come back, and the answer adds:
"not_included": "Lender guidelines and overlays for UWM are not in the free tier. They are in Zeitro Strata (free account): https://lo.zeitro.com/signup?utm_source=agent&utm_medium=my-agent&utm_campaign=api&utm_content=not-included"More examples in curl, Python and JavaScript are in github.com/Zeitro/zeitro-mortgage-tools.
What comes back
| Field | Meaning |
|---|---|
text | The guideline passage, verbatim. It may contain Markdown headings and HTML tables, as extracted from the published document. |
document, version, page | Which document, which published version, and the page. page is null when it cannot be pinned down reliably: we leave it out rather than guess. |
cite_as | A ready-made citation for the passage, with its section and a link. Quote it when you show the passage. |
url | The passage's section on zeitro.com, with the agency text, version and page, and a link to the official source. |
source_url | The agency's official page for the document, for checking the original. |
truncated | true when the passage was cut at 3,000 characters. Read the whole page with get_document_pages. |
not_included | Present when the question or the lenders parameter names a lender. Lender guidelines and overlays are not in the free tier; they are in Zeitro Strata. |
attribution | The credit line to show with results ("Powered by Zeitro Strata" and a link). |
disclaimer, source, asOf | How to read the text, where it comes from, and when the document index was built (UTC). |
error.code, error.message, error.hint | On errors. hint says in one sentence what to change. |
Every link carries utm_source=agent&utm_medium=<client>&utm_campaign=api, so we can see which agents send people to Zeitro. Over MCP the client is the name your client gives in the MCP handshake. Over REST, pass ?client=your-agent or an X-Client-Name header; otherwise we use the User-Agent.
Errors
Errors have a code, a message and a hint the model can act on:
{
"error": {
"code": "invalid_parameter",
"message": "Missing required parameter: question.",
"hint": "Parameters of this endpoint: question, lenders, doc_ids, top_k (question required). The OpenAPI description is at https://api.zeitro.com/public/v1/openapi.json."
}
}| error.code | HTTP | When |
|---|---|---|
invalid_parameter | 400 | A parameter is missing or out of range. hint lists the parameters. |
not_found | 404 | No agency document with that doc_id, or the page is past the end. |
rate_limited | 429 | Too many requests this minute. Retry-After says how many seconds to wait. |
daily_limit_reached | 429 | The free tier reached its total for the day. Retry-After counts to midnight UTC. |
requires_api_key | — | MCP only: list_lenders and set_lenders need a key. |
unavailable | 503 | The guideline search is down for a moment. Try again shortly. |
Over MCP the same errors come back as tool results marked isError, so the model sees the hint and can try again.
Limits
Without a key: 30 requests a minute per IP address, MCP and REST together, and a daily total for all free use. Over a limit you get a 429 with rate_limited or daily_limit_reached and a Retry-After header. The daily total counts searches and page reads, not document lists. REST answers can be cached for 5 minutes.
Terms of use
- When you show results to people, credit Zeitro and link to the passage's
url, for example with itscite_asor theattributionline. - Keep the citation (document, version, page) with the guideline text, and do not present the text as your own.
- Do not use the free tools to copy the guideline library in bulk. Write to us if you need more.
- Use of the website and the tools is also subject to the Terms & Conditions.
Free API key
A free API key raises the limits to 120 calls a minute and 2,000 searches and page reads a day. It covers the same tools and the agency guidelines; lender guidelines are in Zeitro Strata. Send it as X-API-Key: zk_… or Authorization: Bearer zk_…. Keys go to work email addresses only.
Data, privacy and disclaimer
The guideline text is quoted as published by each agency; the agencies own their guides, and source_url links to the official version. The latest published version governs. Results are not an underwriting decision, and Zeitro is not a lender.
We log each call with the tool, its parameters and your client name, to run the service, enforce limits and improve search. Do not put borrower names, Social Security numbers or other personal information in a question. See the Privacy Policy. Zeitro is SOC 2 audited.
More in Zeitro Strata
The free tools cover the agency guides. Zeitro Strata, part of the Zeitro workstation, adds lender program guides and overlays, more than 2,000 programs from over 100 mortgage investors, and answers scenario questions in a full conversation with every rule cited. Loan officers can create a free account and try Zeitro Strata, the Pricing Engine and the Digital 1003. Questions about the API: support@zeitro.com.
Also from Zeitro
bluerate (www.bluerate.ai), also from Zeitro, has a free API and MCP server that finds licensed US mortgage loan officers by state, city, ZIP code, loan type or language. See the bluerate developer guide.

