Skip to main content
Glama
ivossos

FCCS MCP Agentic Server

by ivossos

generate_system_pitch

Create a one-page pitch document to explain system capabilities for Oracle EPM Cloud FCCS, helping users understand and communicate features.

Instructions

Generate a one-pager pitch document about the system's capabilities / Gerar documento de apresentacao do sistema

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Core async handler function that generates and saves a professionally formatted one-page DOCX pitch document describing the FCCS MCP Agent system's features and capabilities using python-docx library.
    async def generate_system_pitch() -> dict[str, Any]:
        """Generate a one-pager pitch document about the system's capabilities.
    
        Generate a professional one-page Word document highlighting the FCCS MCP Agent
        system capabilities, features, and value proposition.
    
        Returns:
            dict: Path to generated document and summary.
        """
        if not DOCX_AVAILABLE:
            return {
                "status": "error",
                "error": "python-docx not available. Install with: pip install python-docx"
            }
    
        try:
            # Create document
            doc = Document()
            
            # Set margins for one-pager (narrow margins)
            sections = doc.sections
            for section in sections:
                section.top_margin = Inches(0.4)
                section.bottom_margin = Inches(0.4)
                section.left_margin = Inches(0.5)
                section.right_margin = Inches(0.5)
    
            # Title
            title = doc.add_heading('FCCS MCP Agentic Server', 0)
            title.alignment = WD_ALIGN_PARAGRAPH.CENTER
            title.runs[0].font.color.rgb = RGBColor(31, 71, 136)
            
            subtitle = doc.add_paragraph('AI-Powered Oracle EPM Cloud Financial Consolidation Assistant')
            subtitle.alignment = WD_ALIGN_PARAGRAPH.CENTER
            subtitle_format = subtitle.runs[0].font
            subtitle_format.size = Pt(12)
            subtitle_format.bold = True
            subtitle_format.color.rgb = RGBColor(31, 71, 136)
            
            doc.add_paragraph()  # Spacing
    
            # Value Proposition (condensed)
            value_text = doc.add_paragraph(
                'Transform your financial close process with an intelligent AI assistant that provides '
                'seamless access to Oracle EPM Cloud Financial Consolidation and Close (FCCS) through '
                'natural language. Built on Google ADK with MCP protocol support.'
            )
            value_text_format = value_text.runs[0].font
            value_text_format.size = Pt(10)
            value_text_format.bold = True
            value_text.paragraph_format.space_after = Pt(8)
    
            # Key Capabilities (condensed format)
            capabilities_heading = doc.add_paragraph()
            cap_heading_run = capabilities_heading.add_run('CORE CAPABILITIES')
            cap_heading_run.font.bold = True
            cap_heading_run.font.size = Pt(11)
            cap_heading_run.font.color.rgb = RGBColor(31, 71, 136)
            capabilities_heading.paragraph_format.space_after = Pt(4)
    
            capabilities = [
                ('25+ FCCS Tools', 'Complete Oracle FCCS REST API coverage'),
                ('Dual Access', 'MCP server (Claude Desktop) + FastAPI web server'),
                ('Smart Queries', 'Intelligent 14-dimension cube handling'),
                ('Journal Automation', 'Complete lifecycle: create, approve, post'),
                ('Consolidation', 'Business rules, metadata validation, intercompany matching'),
                ('Report Generation', 'Multi-format: PDF, HTML, XLSX, CSV'),
                ('Bilingual', 'English & Portuguese support'),
                ('Learning System', 'SQLite feedback tracking & metrics')
            ]
    
            for cap_title, cap_desc in capabilities:
                cap_para = doc.add_paragraph()
                cap_run = cap_para.add_run(f'• {cap_title}: ')
                cap_run.font.bold = True
                cap_run.font.size = Pt(9)
                cap_run.font.color.rgb = RGBColor(31, 71, 136)
                desc_run = cap_para.add_run(cap_desc)
                desc_run.font.size = Pt(9)
                cap_para.paragraph_format.space_after = Pt(3)
    
            doc.add_paragraph()  # Spacing
    
            # Technical & Use Cases (combined, condensed)
            tech_heading = doc.add_paragraph()
            tech_heading_run = tech_heading.add_run('TECHNICAL HIGHLIGHTS & USE CASES')
            tech_heading_run.font.bold = True
            tech_heading_run.font.size = Pt(11)
            tech_heading_run.font.color.rgb = RGBColor(31, 71, 136)
            tech_heading.paragraph_format.space_after = Pt(4)
    
            combined_points = [
                'Google ADK + MCP protocol | Docker & Cloud Run ready | Mock mode for testing',
                'Query financial data | Automate journal workflows | Run consolidation rules',
                'Generate reports on-demand | Explore hierarchies | Monitor job execution'
            ]
    
            for point in combined_points:
                point_para = doc.add_paragraph(point, style='List Bullet')
                point_para.runs[0].font.size = Pt(9)
                point_para.paragraph_format.space_after = Pt(2)
    
            # Footer
            doc.add_paragraph()  # Spacing
            footer = doc.add_paragraph()
            footer.alignment = WD_ALIGN_PARAGRAPH.CENTER
            footer_run = footer.add_run(
                f'FCCS MCP Agentic Server | Generated: {datetime.now().strftime("%B %d, %Y")} | '
                'Oracle EPM Cloud Financial Consolidation and Close'
            )
            footer_run.font.size = Pt(8)
            footer_run.font.color.rgb = RGBColor(128, 128, 128)
            footer_run.font.italic = True
    
            # Save document
            filename = f"FCCS_System_Pitch_{datetime.now().strftime('%Y%m%d_%H%M%S')}.docx"
            filepath = Path(filename).absolute()
            doc.save(filename)
    
            return {
                "status": "success",
                "data": {
                    "file_path": str(filepath),
                    "filename": filename,
                    "message": "One-pager system pitch document generated successfully",
                    "note": "Document highlights system capabilities, features, and value proposition"
                }
            }
    
        except Exception as e:
            return {
                "status": "error",
                "error": f"Failed to generate pitch document: {str(e)}"
            }
  • Tool schema definition specifying the tool name, bilingual description, and empty input schema (no parameters required). Part of TOOL_DEFINITIONS list.
    {
        "name": "generate_system_pitch",
        "description": "Generate a one-pager pitch document about the system's capabilities / Gerar documento de apresentacao do sistema",
        "inputSchema": {
            "type": "object",
            "properties": {},
            "required": [],
        },
    },
  • Registration of the generate_system_pitch handler function in the central TOOL_HANDLERS dictionary, mapping the tool name to memo.generate_system_pitch for execution dispatching.
    # Memo
    "generate_system_pitch": memo.generate_system_pitch,
    "generate_investment_memo": memo.generate_investment_memo,
  • Aggregation of all tool definitions including memo.TOOL_DEFINITIONS (containing generate_system_pitch schema) into the central ALL_TOOL_DEFINITIONS list exposed 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
    )

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