Skip to main content
Glama
file_metadata.py1.46 kB
from fastmcp import FastMCP from typing import Dict, Any from ..services import get_file_service from ..core.exceptions import FileOperationError, ValidationError import logging def register_file_metadata_resource(server: FastMCP): """Register the file metadata resource with the FastMCP server.""" @server.resource("gemini://files/{name}") def file_metadata(name: str) -> Dict[str, Any]: """ Fetch Files API metadata by file 'name' (like 'files/abc123'). """ logger = logging.getLogger(__name__) try: logger.debug(f"Fetching metadata for file: {name}") # Get service file_service = get_file_service() # Get file metadata metadata = file_service.get_file_metadata(name) logger.debug(f"Successfully retrieved metadata for: {name}") return metadata except ValidationError as e: logger.error(f"Validation error in file_metadata: {e}") return {"error": "validation_error", "message": str(e), "name": name} except FileOperationError as e: logger.error(f"File operation error in file_metadata: {e}") return {"error": "file_operation_error", "message": str(e), "name": name} except Exception as e: logger.error(f"Unexpected error in file_metadata: {e}") return {"error": "unexpected_error", "message": str(e), "name": name}

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/zhongweili/nanobanana-mcp-server'

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