get_lender_profile
Get a bounded HMDA profile for one canonical lender key returned by search_lenders.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | ||
| lender | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | Yes |
Get a bounded HMDA profile for one canonical lender key returned by search_lenders.
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | ||
| lender | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the description adds limited behavioral context. The term 'bounded' hints at limited data but is not elaborated. No contradiction with annotations.
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?
Single sentence that is both concise and front-loaded with the key information. No unnecessary words, and every word 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?
There is an output schema, so return values are covered. However, the description fails to mention the top_n parameter and does not clarify what 'bounded' means in terms of HMDA profile data. For a simple tool, it is adequate but not fully complete.
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 description coverage is 0%, and the description does not explain the top_n parameter or its purpose. The lender parameter is self-explanatory, but the lack of explanation for top_n (defaults, maximum, effect) leaves the agent with incomplete information.
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?
Clearly states the verb 'Get', the resource 'bounded HMDA profile', and specifies it's for one canonical lender key returned by search_lenders, distinguishing it from sibling tools like search_lenders (which returns multiple lenders) and compare_lenders.
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?
Directly tells the agent to use this tool after search_lenders to get a profile for a specific lender key. While it doesn't explicitly state when not to use, the context is clear, and the mention of 'bounded' implies limitations. No alternatives are listed, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools target clearly distinct data domains: lender search/profile/compare cluster around HMDA lender analytics, while market snapshot, loan performance, servicer analytics, and SEC filing tools are separate. The only minor ambiguity is between get_lender_profile, compare_lenders, and search_lenders which all deal with lender keys, though their intents (search vs. profile vs. comparison) are distinct.
Tools follow a consistent get_/search_/compare_ verb pattern with clear noun targets (lenders, market_snapshot, loan_performance, sec_filing). The one deviation is that search_lenders, search_sec_filings, and compare_lenders use non-get verbs while the rest use get_, but this is a sensible pattern matching read vs. search semantics.
At 9 tools, this is well within the ideal 3-15 range and each tool appears to represent a meaningful consumer capability for a mortgage analytics domain. The count feels appropriately scoped without redundancy or bloat.
The surface covers market data, SEC filings, lender profiles, loan performance, and servicer analytics, but there are notable gaps: there's no mutation capability (all read-oriented), no way to combine or join across these domains, and no search tool for loan performance or market data topics - those are limited to pre-bounded topics. Some domains feel like they have single query points rather than full browsing coverage.