Skip to main content
Glama

MCP PDF Server

by Dev-91
file_utils.py1.83 kB
import os import colorlog import logging # colorlog가 설치되어 있지 않다면: pip install colorlog handler = colorlog.StreamHandler() handler.setFormatter(colorlog.ColoredFormatter( '%(log_color)s%(asctime)s [%(levelname)s] %(name)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S', log_colors={ 'DEBUG': 'cyan', 'INFO': 'green', 'WARNING': 'yellow', 'ERROR': 'red', 'CRITICAL': 'bold_red', } )) logger = colorlog.getLogger('file_utils') logger.addHandler(handler) logger.setLevel(logging.INFO) def get_folder_tree(root_path, rel_path=""): # 최상위 폴더는 항상 'datasheets'로 표시 if rel_path == "": folder_name = "datasheets" else: folder_name = os.path.basename(root_path) tree = { "name": folder_name, "type": "folder", "relpath": rel_path, "children": [] } try: logger.info(f"Building folder tree for: {root_path}") for entry in sorted(os.listdir(root_path)): # 숨김 파일/폴더 무시 if entry.startswith('.'): continue full_path = os.path.join(root_path, entry) child_relpath = os.path.join(rel_path, entry) if rel_path else entry if os.path.isdir(full_path): tree["children"].append(get_folder_tree(full_path, child_relpath)) elif os.path.isfile(full_path): tree["children"].append({ "name": entry, "type": "file", "relpath": child_relpath }) logger.info(f"Folder tree built for: {root_path}") except Exception as e: logger.error(f"Error building folder tree for {root_path}: {str(e)}") tree["error"] = str(e) return tree

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/Dev-91/MCP_PDF_Server'

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