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
| 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."""