Skip to main content
Glama
config.py1.74 kB
#!/usr/bin/env python3 """ Configuration and initialization module for ESP-IDF MCP Server """ import fastmcp import os import subprocess from pathlib import Path # 创建 FastMCP 实例 mcp = fastmcp.FastMCP(name="ESP-IDF Helper Server") # ESP-IDF路径约定 ESP_IDF_PATH = Path.home() / "esp/esp-idf" SOURCE_SCRIPT = ESP_IDF_PATH / "export.sh" # 全局环境变量 ESP_IDF_ENV = None def init_esp_idf_env(): """使用ESP-IDF的export.sh脚本初始化环境变量""" global ESP_IDF_ENV # 如果已初始化,直接返回 if ESP_IDF_ENV is not None: return ESP_IDF_ENV # 检查export.sh是否存在 if not SOURCE_SCRIPT.exists(): raise FileNotFoundError(f"ESP-IDF export.sh script not found at {SOURCE_SCRIPT}") # 使用bash执行source命令并输出环境变量 command = f"source {SOURCE_SCRIPT} >/dev/null 2>&1 && env" result = subprocess.run( command, shell=True, capture_output=True, text=True, executable='/bin/bash' ) if result.returncode != 0: raise RuntimeError(f"Failed to source ESP-IDF environment: {result.stderr}") # 解析环境变量 env = {} for line in result.stdout.splitlines(): if '=' in line: key, value = line.split('=', 1) # 忽略空键或只包含空白字符的键 if key.strip(): env[key] = value # 保存环境变量 ESP_IDF_ENV = env return env # 在服务启动时初始化ESP-IDF环境变量 try: init_esp_idf_env() print("ESP-IDF environment initialized successfully") except Exception as e: print(f"Warning: Failed to initialize ESP-IDF environment: {e}")

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/jasper-zsh/espidf-mcp'

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