list_information_reports
Retrieve a paginated list of information reports for a firm, filtered by company or information request ID.
Instructions
List all information reports associated with the firm.
Args: company_id: Filter by company ID information_request_id: Filter by information request ID page: Page number for pagination (default: 1) per_page: Results per page (default: 100, max: 100)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | ||
| information_request_id | No | ||
| page | No | ||
| per_page | No |
Implementation Reference
- src/tools.py:287-308 (handler)MCP tool handler that is decorated with @mcp.tool. Accepts optional company_id, information_request_id, page, and per_page; delegates to StandardMetrics client.
@mcp.tool async def list_information_reports( company_id: str | None = None, information_request_id: str | None = None, page: int = 1, per_page: int = 100, ) -> PaginatedInformationReports: """List all information reports associated with the firm. Args: company_id: Filter by company ID information_request_id: Filter by information request ID page: Page number for pagination (default: 1) per_page: Results per page (default: 100, max: 100) """ async with StandardMetrics() as client: return await client.list_information_reports( company_id=company_id, information_request_id=information_request_id, page=page, page_size=per_page, ) - src/_client.py:281-296 (helper)Client-side helper that makes the actual HTTP GET request to 'v1/information-reports/' endpoint with query parameters and returns a PaginatedInformationReports model.
async def list_information_reports( self, *, company_id: str | None = None, information_request_id: str | None = None, page: int = 1, page_size: int = 100, ) -> PaginatedInformationReports: """List all information reports associated with the firm.""" params: dict[str, Any] = {"page": page, "page_size": page_size} if company_id: params["company_id"] = company_id if information_request_id: params["information_request_id"] = information_request_id response = await self._request("GET", "v1/information-reports/", params=params) return PaginatedInformationReports.model_validate(response) - src/_types.py:223-231 (schema)Pydantic model defining the schema for an InformationReport (the response type).
class InformationReport(pydantic.BaseModel): id: str information_request_id: str company_id: str status: str submitted_at: dt.datetime | None = None documents: list[dict[str, str]] = [] metrics: list[dict[str, str]] = [] - src/_types.py:284-284 (schema)Type alias for the paginated response wrapping InformationReport objects.
PaginatedInformationReports = PaginatedResponse[InformationReport] - src/server.py:74-77 (registration)Registration of all tools via import of src.tools module, which defines functions decorated with @mcp.tool (including list_information_reports).
mcp = fastmcp.FastMCP[Any]( "smx-mcp", instructions=_MCP_INSTRUCTIONS, )