Scaflog Zoho MCP Server

# src_scaflog_zoho_mcp_server/resource_config.py from typing import Dict, List, Optional from pydantic import BaseModel class FieldConfig(BaseModel): """Configuration for a whitelisted field.""" display_name: str description: Optional[str] = None required: bool = False class FormConfig(BaseModel): """Configuration for a whitelisted form.""" link_name: str display_name: str description: Optional[str] = None fields: Dict[str, FieldConfig] class ReportConfig(BaseModel): """Configuration for a whitelisted report.""" link_name: str display_name: str description: Optional[str] = None fields: Dict[str, FieldConfig] # Define the whitelisted resources WHITELISTED_RESOURCES = { "forms": { "Company_Info": FormConfig( link_name="Company_Info", display_name="Company Information", description="Core company details and profile", fields={ "Company_Name": FieldConfig( display_name="Company Name", description="Legal name of the company", required=True ), "Phone": FieldConfig( display_name="Phone Number", description="Primary contact number" ), "Email": FieldConfig( display_name="Email", description="Primary contact email" ), "Industry": FieldConfig( display_name="Industry", description="Company's primary industry" ) } ), # Add more forms as needed }, "reports": { "Company_All_Data": ReportConfig( link_name="Company_All_Data", display_name="Company Overview", description="Comprehensive view of company information", fields={ "Company_Name": FieldConfig( display_name="Company Name", description="Legal name of the company" ), "Industry": FieldConfig( display_name="Industry", description="Company's primary industry" ), "Status": FieldConfig( display_name="Status", description="Current company status" ) } ), # Add more reports as needed } }