HMDA Mortgage Data
Server Details
Home mortgage lending patterns, denial rates, and fair lending data
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 4 of 4 tools scored.
Each tool has a clearly distinct purpose with no overlap: get_aggregate_stats provides summary statistics, get_denial_reasons focuses on denial breakdowns, get_lending_by_race analyzes racial disparities, and get_mortgage_data returns detailed loan-level records. The descriptions clearly differentiate their specific analytical functions within the HMDA domain.
All tools follow a consistent verb_noun pattern with 'get_' prefix followed by descriptive nouns (aggregate_stats, denial_reasons, lending_by_race, mortgage_data). The naming convention is perfectly uniform throughout the toolset, making them predictable and easy to understand.
Four tools is reasonable for a mortgage data analysis server, covering key analytical perspectives (aggregate statistics, denial analysis, racial disparities, and detailed data). However, the scope feels slightly thin - additional tools for filtering by lender, property type, or income brackets could enhance completeness without being excessive.
The toolset covers the core analytical needs for HMDA data exploration with different granularities and perspectives. Minor gaps exist: there's no tool specifically for lender-level analysis, no ability to compare multiple geographies simultaneously, and no specialized tools for time-series analysis across years. However, agents can work around these limitations using the existing tools effectively.
Available Tools
4 toolsget_aggregate_statsAInspect
Get aggregate mortgage lending statistics for a geographic area.
Returns summary statistics including total applications, originations,
denials, and loan amounts. Useful for understanding overall lending
activity in a state or county.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'TX').
county_fips: Five-digit county FIPS code (e.g. '06037' for LA County).
year: Data year (e.g. 2022). Defaults to 2022 if not specified.| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| state | No | ||
| county_fips | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses default year behavior (2022) and return value structure (summary statistics), but misses other behavioral details like parameter interdependencies or data availability constraints; no annotations to contradict.
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?
Well-structured with purpose front-loaded, followed by return values, usage context, and parameter details; every sentence earns its place without excess verbosity.
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?
Adequate for tool complexity (3 flat parameters, output schema exists); covers geographic scope and return summary, though could note that all parameters are optional (unusual constraint).
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?
Excellent compensation for 0% schema description coverage by providing detailed Args section with formats (Two-letter, Five-digit) and concrete examples ('CA', '06037') for each parameter.
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?
Clear verb-resource pair ('get aggregate mortgage lending statistics') and identifies geographic scope, though lacks explicit differentiation from sibling tools like get_mortgage_data or get_denial_reasons.
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?
Provides implied usage context ('useful for understanding overall lending activity') but lacks explicit when-to-use/when-not-to-use guidance or comparison with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_denial_reasonsAInspect
Get mortgage denial reasons breakdown for a geographic area.
Returns the distribution of denial reasons for mortgage applications
that were denied. Useful for identifying barriers to homeownership
in specific communities.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'TX').
county_fips: Five-digit county FIPS code (e.g. '06037' for LA County).
year: Data year (e.g. 2022). Defaults to 2022 if not specified.| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| state | No | ||
| county_fips | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses default year behavior (2022) and scope (denied applications only), but lacks info on data coverage limits or error conditions.
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?
Well-structured with purpose first, then return value, use case, and parameter details; every sentence earns its place.
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?
Adequate given output schema exists; covers geographic and temporal parameters, though data source attribution 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?
Fully compensates for 0% schema description coverage with detailed Args section including formats, examples, and default behavior.
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?
Specific verb+resource ('Get mortgage denial reasons breakdown') clearly distinguishes from siblings like get_aggregate_stats and get_lending_by_race.
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?
Provides use case ('identifying barriers to homeownership') but lacks explicit when/when-not guidance relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lending_by_raceAInspect
Get mortgage lending patterns disaggregated by race and ethnicity.
Returns mortgage origination and denial data broken down by the
race/ethnicity of the applicant. Useful for fair lending analysis
and identifying disparities in mortgage access.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'TX').
county_fips: Five-digit county FIPS code (e.g. '06037' for LA County).
year: Data year (e.g. 2022). Defaults to 2022 if not specified.| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| state | No | ||
| county_fips | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return content (origination/denial data) compensating for missing annotations, but omits rate limits, auth requirements, or pagination behavior.
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?
Well-structured with purpose front-loaded, followed by return details, use case, and parameter docs; every sentence adds value.
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?
Adequately complete given simple 3-parameter schema and existence of output schema; covers the critical gap of parameter semantics effectively.
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?
Excellent compensation for 0% schema description coverage via Args section providing formats (Two-letter, Five-digit), examples ('CA', '06037'), and default values.
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?
Clear specific purpose (mortgage lending by race/ethnicity) with implicit differentiation from siblings via 'disaggregated' focus, though explicit comparisons would strengthen it.
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?
Identifies use case (fair lending analysis) but lacks explicit when-not-to-use guidance or comparisons to sibling tools like get_aggregate_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mortgage_dataAInspect
Get Home Mortgage Disclosure Act (HMDA) loan-level data.
Returns mortgage application and origination records reported by
financial institutions under HMDA. At least one geographic filter
(state or county_fips) is recommended to limit results.
Args:
state: Two-letter US state abbreviation (e.g. 'CA', 'TX').
county_fips: Five-digit county FIPS code (e.g. '06037' for LA County).
year: Data year (e.g. 2022). Defaults to 2022 if not specified.
action_taken: Loan action code: '1' (originated), '2' (approved not
accepted), '3' (denied), '4' (withdrawn), '5' (incomplete).
loan_type: Loan type code: '1' (conventional), '2' (FHA-insured),
'3' (VA-guaranteed), '4' (USDA/RHS).
limit: Maximum number of records to return (default 100, max 1000).| Name | Required | Description | Default |
|---|---|---|---|
| year | No | ||
| limit | No | ||
| state | No | ||
| loan_type | No | ||
| county_fips | No | ||
| action_taken | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses default values (2022 for year, 100 for limit) and maximum constraint (1000) not fully captured in schema, and warns about data volume implications of unfiltered queries.
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?
Efficient structure with purpose front-loaded, followed by behavioral notes and detailed Args section; every sentence adds value without redundancy.
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?
Sufficiently complete for a 6-parameter tool with output schema; description appropriately focuses on parameter semantics and filtering strategy rather than return values.
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?
Comprehensive compensation for 0% schema description coverage by documenting all 6 parameters with formats, examples, and code mappings (action_taken/loan_type enums) in the Args section.
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?
Explicitly states it retrieves HMDA loan-level data (specific verb+resource) and distinguishes from sibling 'get_aggregate_stats' by emphasizing individual records vs aggregates.
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?
Provides specific recommendation to use geographic filters to limit results, though lacks explicit comparison to siblings for when to choose loan-level over aggregate or demographic views.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!