Skip to main content
Glama
__init__.py2.46 kB
#!/usr/bin/python3 # -*- coding: utf-8 -*- # # Copyright (C) 2025 - Present Sepine Tam, Inc. All Rights Reserved # # @Author : Sepine Tam # @Email : sepinetam@gmail.com # @File : __init__.py import locale import os from .string import frame def _get_system_lang() -> str: """ Get the system language and return mapped language code. Returns: str: 'cn' for Chinese, 'en' for English (default) """ LANG_MAPPING = { "zh-CN": "cn", "en_US": "en" } system_language, _ = locale.getdefaultlocale() _lang = os.getenv( "STATA_MCP_PROMPT_LANGUAGE", system_language ) return LANG_MAPPING.get(_lang, "en") # Default to English if not set or invalid class Prompt: def __init__(self): self.prompts = {} self.lang = "en" def set_lang(self, lang): self.lang = lang def add_prompt(self, prompt_id: str, lang: str, prompt: str): if prompt_id not in self.prompts: self.prompts[prompt_id] = {} self.prompts[prompt_id][lang] = prompt def get_prompt(self, prompt_id: str, lang: str = None): if lang is None: lang = self.lang if prompt_id not in self.prompts: return "" if lang not in self.prompts[prompt_id]: lang = "en" if lang not in self.prompts[prompt_id]: return "" return self.prompts[prompt_id][lang] @staticmethod def extract(var_name: str): name_list = var_name.split("_") lang = name_list[-1] prompt_id = "_".join(name_list[:-1]) return prompt_id, lang def auto_extract(self, prompts_dict: dict): for key, prompt in prompts_dict.items(): prompt_id, lang = Prompt.extract(key) self.add_prompt(prompt_id=prompt_id, lang=lang, prompt=prompt) def filter_system_vars(dictionary): exclude_prefixes = ["__"] exclude_vars = ["inspect", "frame"] filtered_dict = {} for key, value in dictionary.items(): if ( not any(key.startswith(prefix) for prefix in exclude_prefixes) and key not in exclude_vars ): filtered_dict[key] = value return filtered_dict prompts_dict: dict = filter_system_vars(frame.f_locals) pmp = Prompt() pmp.auto_extract(prompts_dict) pmp.set_lang(_get_system_lang()) # Auto-detect and set system language on initialization __all__ = [ "pmp", ]

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/SepineTam/stata-mcp'

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