Skip to main content
Glama
build.py2 kB
#!/usr/bin/env python3 """ MCP Recommender 构建脚本 使用uv构建Python包 """ import subprocess import sys from pathlib import Path def run_command(cmd, description): """运行命令并处理错误""" print(f"🔄 {description}...") try: result = subprocess.run(cmd, shell=True, check=True, capture_output=True, text=True) print(f"✅ {description}成功") if result.stdout: print(f"输出: {result.stdout.strip()}") return True except subprocess.CalledProcessError as e: print(f"❌ {description}失败") print(f"错误: {e.stderr}") return False def main(): """主构建流程""" print("🚀 MCP Recommender 包构建开始") print("=" * 50) # 检查uv是否安装 if not run_command("uv --version", "检查uv版本"): print("请先安装uv: pip install uv") sys.exit(1) # 同步依赖 if not run_command("uv sync", "同步依赖"): sys.exit(1) # 运行测试 print("\n🧪 运行测试...") if not run_command("uv run -m mcp_recommender --test", "功能测试"): print("⚠️ 测试失败,但继续构建...") # 清理旧的构建文件 dist_dir = Path("dist") if dist_dir.exists(): print("\n🧹 清理旧构建文件...") import shutil shutil.rmtree(dist_dir) # 构建包 if not run_command("uv build", "构建Python包"): sys.exit(1) # 检查构建结果 print("\n📦 构建结果:") if dist_dir.exists(): for file in dist_dir.iterdir(): size = file.stat().st_size / 1024 # KB print(f" - {file.name} ({size:.1f} KB)") print("\n🎉 构建完成!") print("\n📋 后续步骤:") print(" 1. 检查构建文件: ls -la dist/") print(" 2. 测试安装: pip install dist/*.whl") print(" 3. 发布到PyPI: uv publish") return True if __name__ == "__main__": main()

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/bxzymy/mcp-recommend'

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