Skip to main content
Glama
ivossos

FCCS MCP Agentic Server

by ivossos

query_local_metadata

Retrieve dimension members from the local metadata cache using SQL-like filters to support Oracle EPM Cloud FCCS consolidation and reporting tasks.

Instructions

Query the local metadata cache for dimension members / Consultar cache local de metadados

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dimensionNoDimension name (e.g., Account, Entity)
member_filterNoSQL LIKE pattern for member name (e.g., 'FCCS_Net%')

Implementation Reference

  • The main handler function that executes the tool logic: queries local SQLite metadata cache for dimensions/members with optional filters.
    def query_local_metadata(
        dimension: Optional[str] = None,
        member_filter: Optional[str] = None,
        property_filter: Optional[str] = None
    ) -> dict[str, Any]:
        """Query the local metadata cache using SQLite.
        
        Args:
            dimension: Optional dimension name to filter by.
            member_filter: SQL LIKE pattern for member name (e.g., 'FCCS_%').
            property_filter: Optional JSON property filter (not implemented in this simplified version).
            
        Returns:
            dict: List of matching members and their properties.
        """
        cache = get_cache_service()
        if not cache:
            return {"status": "error", "error": "Cache service not initialized"}
            
        try:
            results = []
            with cache.Session() as session:
                from fccs_agent.services.cache_service import MetadataCache
                query = session.query(MetadataCache)
                
                if dimension:
                    query = query.filter(MetadataCache.dimension == dimension)
                if member_filter:
                    query = query.filter(MetadataCache.member.like(member_filter))
                    
                items = query.limit(100).all()
                for item in items:
                    results.append({
                        "dimension": item.dimension,
                        "member": item.member,
                        "properties": json.loads(item.properties)
                    })
                    
            return {
                "status": "success",
                "count": len(results),
                "data": results,
                "source": "local_sqlite"
            }
        except Exception as e:
            return {"status": "error", "error": str(e)}
  • Tool definition including name, description, and input schema for validation.
    TOOL_DEFINITIONS = [
        {
            "name": "query_local_metadata",
            "description": "Query the local metadata cache for dimension members / Consultar cache local de metadados",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "dimension": {
                        "type": "string",
                        "description": "Dimension name (e.g., Account, Entity)",
                    },
                    "member_filter": {
                        "type": "string",
                        "description": "SQL LIKE pattern for member name (e.g., 'FCCS_Net%')",
                    },
                },
            },
        },
    ]
  • Registers the tool name to its handler function in the central TOOL_HANDLERS dictionary used by execute_tool.
        # Local Data
        "query_local_metadata": local_data.query_local_metadata,
    }
  • Includes the tool definitions (schemas) from local_data in the aggregated ALL_TOOL_DEFINITIONS for the MCP server.
    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