Skip to main content
Glama
discovery.py1.72 kB
"""File discovery for checklist markdown files. Discovers markdown files in the configured checklist directory. """ from __future__ import annotations from typing import TYPE_CHECKING from sso_mcp_server import get_logger if TYPE_CHECKING: from pathlib import Path _logger = get_logger("file_discovery") def discover_checklists(checklist_dir: Path) -> list[Path]: """Discover all markdown checklist files in a directory. Finds all .md files in the given directory (not recursive). Hidden files (starting with .) are ignored. Args: checklist_dir: Directory to search for checklist files. Returns: List of Path objects for discovered markdown files. Returns empty list if directory doesn't exist or is empty. """ if not checklist_dir.exists(): _logger.debug("directory_not_found", path=str(checklist_dir)) return [] if not checklist_dir.is_dir(): _logger.warning("not_a_directory", path=str(checklist_dir)) return [] # Find all .md files (case-insensitive) md_files = [] for pattern in ["*.md", "*.MD", "*.Md", "*.mD"]: md_files.extend(checklist_dir.glob(pattern)) # Remove duplicates (in case of case-insensitive filesystems) seen = set() unique_files = [] for f in md_files: if f.resolve() not in seen: seen.add(f.resolve()) unique_files.append(f) # Filter out hidden files visible_files = [f for f in unique_files if not f.name.startswith(".")] # Return absolute paths result = [f.resolve() for f in visible_files] _logger.debug("files_discovered", count=len(result), directory=str(checklist_dir)) return result

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/DauQuangThanh/sso-mcp-server'

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