Skip to main content
Glama
ivossos
by ivossos

generate_report

Generate FCCS reports for Task Manager, Supplemental Data, or Enterprise Journal to support financial consolidation and close processes in Oracle EPM Cloud.

Instructions

Generate FCCS report (Task Manager, Supplemental Data, Enterprise Journal) / Gerar relatorio FCCS

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
group_nameYesGroup name the report is associated with (e.g., 'Task Manager')
report_nameYesName of the report to generate
generated_report_file_nameNoUser-specified name for the generated report
parametersNoReport-specific parameters (Schedule, Period, etc.)
formatNoReport format (default: PDF)
moduleNoModule: FCM (Task Manager) or SDM (Supplemental Data Manager)
emailsNoComma-separated email addresses to receive the report
run_asyncNoRun asynchronously (recommended for larger reports)

Implementation Reference

  • The primary handler function for the 'generate_report' MCP tool. It processes input parameters, constructs the API payload, and delegates to the FCCS client for report generation.
    async def generate_report( group_name: str, report_name: str, generated_report_file_name: Optional[str] = None, parameters: Optional[dict[str, Any]] = None, format: str = "PDF", module: str = "FCM", emails: Optional[str] = None, run_async: bool = False ) -> dict[str, Any]: """Generate FCCS report (Task Manager, Supplemental Data, Enterprise Journal) / Gerar relatorio FCCS. Args: group_name: Group name the report is associated with (e.g., 'Task Manager'). report_name: Name of the report to generate. generated_report_file_name: User-specified name for the generated report. parameters: Report-specific parameters (Schedule, Period, etc.). format: Report format - HTML, PDF, XLSX, CSV (default: PDF). module: Module - FCM (Task Manager) or SDM (Supplemental Data Manager). emails: Comma-separated email addresses to receive the report. run_async: Run asynchronously (recommended for larger reports). Returns: dict: Report generation result or job ID if async. """ report_params = { "groupName": group_name, "reportName": report_name, "format": format, "module": module, "runAsync": run_async, } if generated_report_file_name: report_params["generatedReportFileName"] = generated_report_file_name if parameters: report_params["parameters"] = parameters if emails: report_params["emails"] = emails result = await _client.generate_report(report_params) return {"status": "success", "data": result}
  • JSON schema defining the input parameters, types, descriptions, enums, and required fields for the generate_report tool.
    "name": "generate_report", "description": "Generate FCCS report (Task Manager, Supplemental Data, Enterprise Journal) / Gerar relatorio FCCS", "inputSchema": { "type": "object", "properties": { "group_name": { "type": "string", "description": "Group name the report is associated with (e.g., 'Task Manager')", }, "report_name": { "type": "string", "description": "Name of the report to generate", }, "generated_report_file_name": { "type": "string", "description": "User-specified name for the generated report", }, "parameters": { "type": "object", "description": "Report-specific parameters (Schedule, Period, etc.)", }, "format": { "type": "string", "enum": ["HTML", "PDF", "XLSX", "CSV"], "description": "Report format (default: PDF)", }, "module": { "type": "string", "enum": ["FCM", "SDM"], "description": "Module: FCM (Task Manager) or SDM (Supplemental Data Manager)", }, "emails": { "type": "string", "description": "Comma-separated email addresses to receive the report", }, "run_async": { "type": "boolean", "description": "Run asynchronously (recommended for larger reports)", }, }, "required": ["group_name", "report_name"], }, },
  • Maps the 'generate_report' tool name to its handler function (reports.generate_report) in the central TOOL_HANDLERS registry used by the agent.
    # Reports "generate_report": reports.generate_report, "get_report_job_status": reports.get_report_job_status, "generate_report_script": reports.generate_report_script,
  • Aggregates tool definitions from all modules, including reports.TOOL_DEFINITIONS containing the generate_report schema, for exposure via get_tool_definitions().
    ALL_TOOL_DEFINITIONS = ( application.TOOL_DEFINITIONS + jobs.TOOL_DEFINITIONS + dimensions.TOOL_DEFINITIONS + journals.TOOL_DEFINITIONS + data.TOOL_DEFINITIONS + reports.TOOL_DEFINITIONS + consolidation.TOOL_DEFINITIONS + memo.TOOL_DEFINITIONS + feedback.TOOL_DEFINITIONS + local_data.TOOL_DEFINITIONS )
  • Helper function to initialize the global FCCS client instance used by the generate_report handler.
    def set_client(client: FccsClient): global _client _client = client async def generate_report( group_name: str, report_name: str, generated_report_file_name: Optional[str] = None, parameters: Optional[dict[str, Any]] = None, format: str = "PDF", module: str = "FCM", emails: Optional[str] = None, run_async: bool = False ) -> dict[str, Any]: """Generate FCCS report (Task Manager, Supplemental Data, Enterprise Journal) / Gerar relatorio FCCS. Args: group_name: Group name the report is associated with (e.g., 'Task Manager'). report_name: Name of the report to generate. generated_report_file_name: User-specified name for the generated report. parameters: Report-specific parameters (Schedule, Period, etc.). format: Report format - HTML, PDF, XLSX, CSV (default: PDF). module: Module - FCM (Task Manager) or SDM (Supplemental Data Manager). emails: Comma-separated email addresses to receive the report. run_async: Run asynchronously (recommended for larger reports). Returns: dict: Report generation result or job ID if async. """ report_params = { "groupName": group_name, "reportName": report_name, "format": format, "module": module, "runAsync": run_async, } if generated_report_file_name: report_params["generatedReportFileName"] = generated_report_file_name if parameters: report_params["parameters"] = parameters if emails: report_params["emails"] = emails result = await _client.generate_report(report_params) return {"status": "success", "data": result}
  • Low-level FCCSClient method invoked by the tool handler to make the REST API call for report generation.
    async def generate_report( self, parameters: dict[str, Any] ) -> dict[str, Any]: """Generate report / Gerar relatorio.""" if self.config.fccs_mock_mode: return { "type": parameters.get("module", "FCM"), "status": -1 if parameters.get("runAsync") else 0, "details": "In Process" if parameters.get("runAsync") else f"{parameters.get('reportName')}.pdf", "links": [] } payload = { "groupName": parameters.get("groupName"), "reportName": parameters.get("reportName"), "format": parameters.get("format", "PDF"), "module": parameters.get("module", "FCM"), "runAsync": parameters.get("runAsync", False), } if parameters.get("generatedReportFileName"): payload["generatedReportFileName"] = parameters["generatedReportFileName"] if parameters.get("parameters"): payload["parameters"] = parameters["parameters"] if parameters.get("emails"): payload["emails"] = parameters["emails"] response = await self._fcm_client.post("/report", json=payload) response.raise_for_status() return response.json()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ivossos/fccs-mcp-ag-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server