Skip to main content
Glama

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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 tools
get_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.
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateNo
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states that the tool returns summary statistics, but it does not clarify important behaviors such as whether state and county_fips are mutually exclusive, how invalid inputs are handled, or what data source is used. The lack of detail beyond the immediate return format leaves the agent uncertain about edge cases and constraints.

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: a one-line summary, a sentence on return values, and a compact args list. Every sentence provides necessary information without redundancy or fluff. The front-loaded summary immediately orients the agent.

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?

The description explains the purpose, return values, and parameter formats, which is decent for a retrieval tool. However, it lacks guidance on how state and county_fips interact (e.g., are they alternatives, or can both be provided?), and it does not mention any usage limitations. Since an output schema exists, return structure is covered, but the missing parameter relationship is a notable gap.

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

Parameters4/5

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

Schema description coverage is 0%, leaving the description to carry the full burden. The description provides meaningful parameter details: state is 'Two-letter US state abbreviation (e.g. 'CA', 'TX')', county_fips is 'Five-digit county FIPS code (e.g. '06037' for LA County)', and year has a default. This adds clear format and example information, though it does not explain parameter dependencies or whether at least one is required.

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

Purpose4/5

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

The description clearly states the tool's function: 'Get aggregate mortgage lending statistics for a geographic area.' It specifies the resource (aggregate stats) and the verb (get), and mentions returns such as applications, originations, denials, and loan amounts. It does not explicitly differentiate from sibling tools like get_denial_reasons or get_lending_by_race, but the 'aggregate' scope provides implicit distinction.

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 gives a clear use case: 'Useful for understanding overall lending activity in a state or county.' This indicates when to use the tool but does not provide exclusions or references to alternatives like the sibling tools. No explicit when-not-to-use guidance is given, so it falls short of a 5.

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateNo
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 clearly states that the tool returns a distribution of denial reasons, implying a read-only operation. It does not mention any side effects, permissions, or error behaviors, but for a 'Get' tool this is adequate. However, it omits details about parameter combinations (e.g., whether state and county_fips are both required), which could affect behavior.

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 concise and well-structured: three short sentences plus an Args list. The first sentence states the core function, the second explains the output, and the third provides context. Every sentence has clear value with no padding.

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?

The description covers the tool's purpose, output type, use case, and all parameters with examples. An output schema exists, so return value details are not needed. However, it does not clarify whether state and county_fips are individually sufficient or must be used together, nor does it explain the implications of leaving all parameters optional. This is a minor but notable gap.

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

Parameters5/5

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

Schema description coverage is 0%, but the description's Args section fully compensates. Each parameter is explained with format and examples: state is 'two-letter US state abbreviation', county_fips is 'five-digit county FIPS code (e.g. 06037)', and year is 'data year (e.g. 2022)' with a default. This is exemplary parameter documentation.

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: 'Get mortgage denial reasons breakdown for a geographic area.' This specifies a concrete action ('Get') and resource ('mortgage denial reasons breakdown') with a geographic scope, which distinguishes it from sibling tools like get_aggregate_stats or 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.

Usage Guidelines4/5

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

The description provides a clear use case: 'Useful for identifying barriers to homeownership in specific communities.' This gives context for when to apply the tool, though it does not explicitly contrast with sibling tools or state when not to use it. The guidance is sufficient but lacks direct exclusions or alternative recommendations.

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.
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateNo
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions that it returns origination and denial data and that year defaults to 2022, but it omits critical details such as data source, geographic aggregation level, permission requirements, or what happens when only part of the arguments are supplied. This is a significant transparency 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 concise and well-structured: a front-loaded purpose sentence, a brief return/use-case sentence, and a neatly formatted Args section. Every sentence earns its place with no redundancy or filler.

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?

The presence of an output schema reduces the need to explain return values. However, the tool has three optional parameters with no stated interactions or minimum required combination, and there are no annotations for safety or side effects. The description covers the basics but leaves gaps about data scope and partial-argument behavior.

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

Parameters4/5

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

The schema provides no parameter descriptions (0% coverage), but the description adds meaningful context for each parameter: state uses two-letter abbreviation examples, county_fips uses a five-digit example, and year includes a default. This compensates well, though the relationship between state and county_fips is not explained.

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 opens with 'Get mortgage lending patterns disaggregated by race and ethnicity' — a specific verb and resource with a clear modifier. This distinguishes it from siblings like get_aggregate_stats (aggregate) and get_denial_reasons (denial-focused), leaving no ambiguity about its purpose.

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 explicitly states 'Useful for fair lending analysis and identifying disparities in mortgage access,' providing a clear context for when to use this tool. It doesn't explicitly name alternative tools or exclusions, but the use case is sufficiently distinct from siblings.

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).
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
limitNo
stateNo
loan_typeNo
county_fipsNo
action_takenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, placing full burden on the description. It discloses that the tool 'Returns mortgage application and origination records', which is useful, but does not mention potential behaviors like pagination, rate limits, or error handling when no filter is supplied. The recommendation to limit results hints at data volume but doesn't go further.

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 a concise second sentence on what it returns and a recommendation. The Args list is structured and each parameter explanation earns its place. No fluff or redundancy.

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?

For a data retrieval tool with six parameters and no annotations, the description covers parameter semantics, defaults, and a usage recommendation. However, it lacks details about pagination, max limit enforcement, or behavior when no geographic filter is given. Since an output schema exists, return values are not needed here, but more operational context would make it fully complete.

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

Parameters5/5

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

The Args section thoroughly explains every parameter: state and county_fips formats, year default, action_taken codes with meanings, loan_type codes, and limit default/max. This adds substantial meaning beyond the bare schema, compensating fully for the 0% schema_description_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 identifies the tool as retrieving 'Home Mortgage Disclosure Act (HMDA) loan-level data', distinguishing it from sibling tools like get_aggregate_stats by explicitly stating 'loan-level data'. The verb 'Get' and resource specificity make the purpose unambiguous.

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?

Provides explicit guidance that 'At least one geographic filter (state or county_fips) is recommended to limit results', which is a clear usage instruction. However, it does not explicitly mention alternatives or when to prefer this over sibling tools, though the loan-level vs aggregate distinction implies it.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for querying lender-level FHA denial statistics from the 2025 HMDA record, exposing tools to get national, lender, state, and door-effect summaries.
    5
    235
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Query 13,000+ US consumer lenders with eligibility criteria, rates, CFPB complaints, and ratings. Find matching lenders by borrower profile, get full profiles, compare lenders, and check eligibility.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides educational fixed-rate loan estimates with mortgage and auto loan calculators.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources