Skip to main content
Glama

Skill Management MCP Server

by fkesheh
yaml_parser.py1.98 kB
"""YAML frontmatter parsing utilities.""" import yaml from typing import Optional, Dict, Any def parse_yaml_frontmatter(content: str) -> Optional[Dict[str, Any]]: """ Extract and parse YAML frontmatter from markdown content. Frontmatter is expected to be between --- markers at the start of the file: --- name: skill-name description: A description of the skill --- Args: content: File content with optional YAML frontmatter Returns: Dictionary with parsed YAML, or None if no frontmatter found """ if not content.startswith("---"): return None try: # Find the closing --- marker lines = content.split("\n") if len(lines) < 2: return None # Find end of frontmatter end_index = None for i in range(1, len(lines)): if lines[i].strip() == "---": end_index = i break if end_index is None: return None # Extract and parse YAML frontmatter_content = "\n".join(lines[1:end_index]) data = yaml.safe_load(frontmatter_content) return data if isinstance(data, dict) else None except yaml.YAMLError: return None def get_skill_description(metadata: Optional[Dict[str, Any]]) -> str: """ Extract description from skill metadata. Args: metadata: Parsed YAML frontmatter Returns: Description string, or empty string if not found """ if not metadata: return "" return metadata.get("description", "") def get_skill_name(metadata: Optional[Dict[str, Any]]) -> str: """ Extract skill name from metadata. Args: metadata: Parsed YAML frontmatter Returns: Name string, or empty string if not found """ if not metadata: return "" return metadata.get("name", "")

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/fkesheh/skill-mcp'

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