get_loan_rate_data
Retrieve benchmark loan rate data for financial analysis and market research. Specify date ranges and output formats to access historical lending rates.
Instructions
Benchmark loan rates.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | No | ||
| end_date | No | ||
| limit | No | ||
| format | No | markdown |
Implementation Reference
- src/tools/macroeconomic.py:33-39 (handler)The MCP tool handler for 'get_loan_rate_data'. Decorated with @app.tool(), it wraps the use case execution in run_tool_with_handling for shared validation and error handling.@app.tool() def get_loan_rate_data(start_date: Optional[str] = None, end_date: Optional[str] = None, limit: int = 250, format: str = "markdown") -> str: """Benchmark loan rates.""" return run_tool_with_handling( lambda: fetch_loan_rate_data(active_data_source, start_date=start_date, end_date=end_date, limit=limit, format=format), context="get_loan_rate_data", )
- mcp_server.py:55-55 (registration)Registration of macroeconomic tools, including 'get_loan_rate_data', by calling the register_macroeconomic_tools function on the FastMCP app instance.register_macroeconomic_tools(app, active_data_source)
- src/use_cases/macroeconomic.py:16-20 (helper)Helper use case function that fetches loan rate data from the FinancialDataSource, validates format, and formats the output as markdown table.def fetch_loan_rate_data(data_source: FinancialDataSource, *, start_date: Optional[str], end_date: Optional[str], limit: int, format: str) -> str: validate_output_format(format) df = data_source.get_loan_rate_data(start_date=start_date, end_date=end_date) meta = {"dataset": "loan_rate", "start_date": start_date, "end_date": end_date} return format_table_output(df, format=format, max_rows=limit, meta=meta)
- src/baostock_data_source.py:668-670 (helper)Concrete implementation in BaostockDataSource that queries the Baostock API for loan rate data using the shared _fetch_macro_data helper.def get_loan_rate_data(self, start_date: Optional[str] = None, end_date: Optional[str] = None) -> pd.DataFrame: """Fetches benchmark loan rates using Baostock.""" return _fetch_macro_data(bs.query_loan_rate_data, "Loan Rate", start_date, end_date)
- src/data_source_interface.py:103-105 (schema)Abstract method definition in FinancialDataSource interface, specifying the expected signature and return type for loan rate data fetching.@abstractmethod def get_loan_rate_data(self, start_date: Optional[str] = None, end_date: Optional[str] = None) -> pd.DataFrame: """Fetches benchmark loan rates."""