frc-mcp
Server Details
Lender-level FHA denial statistics from the full 2025 federal HMDA record. Historical data only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- financeratecalc/frc-mcp
- GitHub Stars
- 0
- Server Listing
- frc-mcp
Available Tools
7 toolscheck_claim_contractAInspect
Certify a proposed use of an FRC statistic against its published Claim Contract BEFORE writing free text. Deterministic verdict (pass/needs_qualifier/block) + reason codes + safe wording + mandatory attribution. Never accepts borrower details.
| Name | Required | Description | Default |
|---|---|---|---|
| passport_id | Yes | ||
| causal_assertion | No | ||
| legal_conclusion | No | ||
| qualifier_dropped | No | ||
| attribution_present | No | ||
| individual_prediction | No | ||
| scope_beyond_universe | No | ||
| personalized_recommendation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure and does well by mentioning deterministic verdict types, reason codes, safe wording, and mandatory attribution. It also clarifies input restrictions. However, it does not cover failure modes or edge cases like missing contracts.
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?
The description is three sentences, tightly written, with the purpose front-loaded. Every sentence contributes 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?
Given the tool has 8 parameters, no output schema, and no annotations, the description is insufficient for an agent to correctly construct a request. It lacks parameter explanations, conditions for each verdict, and details on how to select appropriate inputs.
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 meaning of individual parameters like causal_assertion, legal_conclusion, or passport_id. It only provides high-level context about the tool's purpose, leaving parameter semantics largely unexplained.
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 clearly states the tool certifies a proposed use of an FRC statistic against its published Claim Contract, using the specific verb 'certify' with a clear resource and scope. It distinguishes itself from sibling tools that fetch statistics rather than validate claims.
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 indicates when to use: 'BEFORE writing free text,' which provides a clear context for use. It also notes a limitation ('Never accepts borrower details'), but does not explicitly state alternatives or when not to use the tool relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_door_effect_summaryAInspect
Door Effect: 38% of explainable variation in FHA denial outcomes is lender identity, not the applicant's file (859,090 decisions). Historical observation computed from the public CFPB HMDA 2025 record (actions 1,2,3; loan_type 2). Not a prediction about any individual application. Attribution: FinanceRateCalc, CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full weight. It discloses important behavioral aspects: the finding is a historical observation from a public dataset, not a prediction about individuals, and includes source attribution. This adds context beyond a simple 'returns summary.'
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?
The description is extremely concise, with every sentence providing unique context (the statistic, data source, caveat, attribution). It is front-loaded with the key finding and avoids fluff.
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 tool with no parameters and no output schema, the description fully conveys what the summary contains, its provenance, and its limitations. It is complete for an agent to select and invoke this simple read-only tool.
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 has zero parameters, so the baseline is 4. The description does not need to explain parameters, and the schema covers the (empty) parameter list.
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 clearly identifies the tool as providing a summary of the 'door effect' with specific statistics, but it lacks an explicit verb like 'returns' or 'provides.' It is unambiguous about the resource but could be mistaken for the output content itself rather than a tool description.
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?
No guidance is provided on when to use this tool compared to siblings like get_lender_denial_stats or get_national_fha_stats. It does not state any exclusions or alternative tool recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lender_denial_statsAInspect
FHA denial statistics for one lender by name, slug, or LEI (top-100 by volume). Historical observation computed from the public CFPB HMDA 2025 record (actions 1,2,3; loan_type 2). Not a prediction about any individual application. Attribution: FinanceRateCalc, CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
| lender | Yes | Lender name, slug, or 20-char LEI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It thoroughly explains that the statistics are a 'historical observation computed from the public CFPB HMDA 2025 record', specifies criteria ('actions 1,2,3; loan_type 2'), adds scope limitations ('top-100 by volume'), and explicitly states it is 'not a prediction about any individual application'. This goes well beyond minimal disclosure.
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?
The description is three concise sentences: the first states the core function, the second provides data source and calculation context, and the third gives attribution and a caveat. It is front-loaded and each sentence adds value with no redundant content.
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?
The description is nearly complete for a simple stats tool: it covers data source, calculation criteria, scope, and attribution. The main gap is that it does not specify what the returned statistics actually are (e.g., denial rate, counts, sample size), which would be useful since there is no output schema. Still, it is quite informative.
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 schema covers the single 'lender' parameter completely with 'Lender name, slug, or 20-char LEI'. The description adds no new parameter-specific details, but it does reinforce the accepted input forms. Since schema coverage is 100%, the baseline of 3 is appropriate.
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 clearly states it provides 'FHA denial statistics for one lender' by name, slug, or LEI. This specific verb-resource combination, plus the scope restriction to a single lender, distinguishes it from sibling tools like national or state stats.
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?
The description gives clear context by specifying it is for 'one lender' and 'top-100 by volume', implying it is not for national or state aggregates. However, it does not explicitly name alternatives or state when not to use it, so it stops 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_metro_lender_gapAInspect
Per-metro FHA denial-rate gap between high-volume lenders (>=100 decisioned applications in that metro, 2025), returned as a machine-readable claim passport: lowest and highest door with counts, gap in percentage points, source-record sha256, interpretation boundaries, and a link to its Claim Contract. Covers 184 US metros; smaller markets are excluded by the volume floor. Observed rates, unadjusted for applicant mix. Historical observation computed from the public CFPB HMDA 2025 record (actions 1,2,3; loan_type 2). Not a prediction about any individual application. Attribution: FinanceRateCalc, CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
| metro | Yes | Metro name or slug, e.g. 'Cleveland, OH' or 'cleveland-oh' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations exist, the description carries the full behavioral burden and does so thoroughly. It discloses the source dataset, filtering logic (actions 1,2,3; loan_type 2), the observed-rate caveat, lack of adjustment, the machine-readable claim-passport format, and the no individual prediction limitation.
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?
The description is dense but mostly efficient: core function, output contract, data provenance, limitations, and licensing are all packed into a few loaded sentences. It loses a point for slightly encyclopedic style, but every major clause contributes either a constraint, a caveat, or a usage boundary.
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?
With no output schema present, the description must explain both the output fields and the interpretation. It lists the lowest and highest lender counts, gap percentage points, source-record hash, interpretation boundaries, and a link to the claim contract. Combined with the single-parameter schema, this is fully sufficient for an agent to invoke and interpret the result.
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 input schema already documents the metro parameter at 100% coverage. The description additionally clarifies that valid metros are limited to 184 markets and that smaller markets are excluded by the volume floor—useful context for interpreting invalid or out-of-scope metro 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?
The description opens with a specific object: a per-metro FHA denial-rate gap between high-volume lenders, with a concrete threshold and year. It clearly distinguishes itself from address-level, state-level, or national-level siblings by making the metro scope and comparison-based output explicit.
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?
The description gives clear context for when the tool applies: only to the 184 covered metros and only to high-volume lender gaps. It also states what it is not (a prediction about any individual application), which serves as a when-not boundary. It does not name sibling tools or give explicit alternative conditions, so it stops just short of tournament-level 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_national_fha_statsAInspect
National FHA denial statistics from the 2025 federal record. Historical observation computed from the public CFPB HMDA 2025 record (actions 1,2,3; loan_type 2). Not a prediction about any individual application. Attribution: FinanceRateCalc, CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the data source (CFPB HMDA 2025 record), the specific filter criteria (actions 1,2,3; loan_type 2), and importantly clarifies it is 'not a prediction about any individual application'. This is good behavioral context for a read-only statistics tool.
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?
The description is two sentences, front-loaded with the core purpose in the first sentence, followed by a caveat and attribution. Every sentence adds value with no unnecessary prose.
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 simple, parameterless statistics tool with no output schema, the description provides enough context: data source, scope, and caveat. It does not describe the exact return format, but given the tool's simplicity and the presence of sibling tools, this is not a significant gap.
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 has zero parameters, so the schema fully documents anything relevant. The baseline for 0 params is 4, and the description adds contextual meaning about the fixed data scope, which is sufficient.
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 clearly states the tool provides 'National FHA denial statistics from the 2025 federal record', which is specific to national scope and differentiates from sibling tools like state and lender denial stats. However, it lacks an explicit verb like 'returns' or 'lists', relying on the tool name to imply the action.
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?
The description gives useful context (historical observation, not a prediction) and implies national scope, but it does not explicitly state when to use this tool over alternatives or mention any exclusions, such as 'use get_state_denial_stats for state-level data'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_state_denial_statsAInspect
FHA denial statistics for a US state (two-letter code). Historical observation computed from the public CFPB HMDA 2025 record (actions 1,2,3; loan_type 2). Not a prediction about any individual application. Attribution: FinanceRateCalc, CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the data source (public CFPB HMDA 2025), the specific selection criteria (actions 1,2,3; loan_type 2), and clarifies that it is a historical observation, not a prediction. This provides substantial transparency beyond the bare tool name, though it omits details like response format or rate limits.
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?
The description is three sentences long, with no redundant words. It efficiently packs the tool's purpose, data source, computation criteria, and a disclaimer into a compact, well-ordered format.
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 simple one-parameter tool with no output schema, the description provides sufficient context: what the tool returns (state-level FHA denial statistics), how it is computed, and a caveat about its non-predictive nature. It does not describe the return value structure, but the absence of an output schema and the simplicity of the tool make this acceptable.
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 schema only defines 'state' as a string with length constraints, but the description adds essential meaning by specifying 'US state (two-letter code)'. This clarifies the expected format and domain, compensating for the schema's lack of description and the 0% schema_description_coverage.
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 clearly states 'FHA denial statistics for a US state (two-letter code)' and specifies the exact data source and calculation criteria. This unambiguously identifies the tool's function and distinguishes it from sibling tools like 'get_national_fha_stats' (national scope) and 'get_lender_denial_stats' (lender scope).
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?
The description implies usage for state-level FHA denial statistics through its explicit 'US state' scope, but it does not explicitly contrast with alternatives or state when not to use it. The sibling tool names provide context, but the description itself lacks direct use-case guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_lendersAInspect
List covered FHA lenders sorted by denial rate or volume (2025 span: 1.8% to 78.7%). Historical observation computed from the public CFPB HMDA 2025 record (actions 1,2,3; loan_type 2). Not a prediction about any individual application. Attribution: FinanceRateCalc, CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses that data is a historical observation from the CFPB HMDA 2025 record with specific action/loan_type filters, and explicitly says it is not a prediction about individual applications. This addresses potential misinterpretation. However, it doesn't describe response structure or pagination, but the non-predictive caveat is strong.
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, each with specific content: list purpose, data source/caveat, and licensing attribution. No wasted words.
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?
Given the tool's simplicity (two optional params, no output schema), the description covers the essential facts: what it lists, sorting options, data provenance, and a critical caveat. It could be enhanced by hinting at the returned fields, but the agent has enough to invoke correctly.
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 description explains the sort parameter's semantic (denial rate or volume) which aligns with the enum values. The limit parameter is not mentioned in the description; with 0% schema coverage, the agent must infer its meaning from the name and schema constraints.
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 'List covered FHA lenders sorted by denial rate or volume,' which clearly states the action (list), the resource (covered FHA lenders), and the sorting criterion. This distinguishes it from sibling tools that provide aggregate statistics rather than lender-level listings.
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?
The description implies a ranking use case but does not explicitly state when to choose this tool over get_lender_denial_stats or the state/national stats tools. No exclusions or alternative recommendations are provided, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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!
Related MCP Connectors
Home mortgage lending patterns, denial rates, and fair lending data
Read-only U.S. mortgage market, lender, GSE performance, and servicing analytics.
Insurer denial rates, appeal outcomes by treatment and condition, and appeal rights lookups.
Bank financials, branch locations, deposit data, and failure history from FDIC
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceQuery 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
- AlicenseNot gradedqualityCmaintenanceEnables access to quarterly Call Report financials, bank health metrics, failed bank lists, branch maps, and supervisory designations for every US FDIC-insured bank, with no authentication required.14MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to U.S. HUD datasets covering fair market rents, income limits, USPS vacancy data, public housing, homelessness counts, and CHAS housing statistics.2MIT
- AlicenseAqualityAmaintenancePlain-English access to APRA banking, superannuation, and insurance statistics — every prudentially-regulated entity in Australia.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct data scope: national, state, lender, metro gap, door effect, lender listing, and claim certification. The purposes are clearly separable even though several tools concern FHA denial statistics.
Tool names follow a consistent verb_noun snake_case pattern: get_* for retrievals, list_lenders for enumeration, and check_claim_contract for validation. There are no convention clashes or vague single-word names.
Seven tools is well-scoped for a focused statistics and claim-validation server. Each tool serves a distinct purpose and none feel redundant or bolted on.
The surface covers the main read-only operations: national, state, lender, metro, and door-level stats plus lender listing and claim contract verification. Minor gaps include retrieval of full contract metadata or other statistic categories, but core workflows have no dead ends.