Skip to main content
Glama

Magic-API MCP Server

by Dwsy
demo_resource_manager.py5.43 kB
#!/usr/bin/env python3 """ Magic-API 资源管理器演示脚本 演示如何使用 MagicAPIResourceManager 进行目录分组管理 """ from magic_api_resource_manager import MagicAPIResourceManager def demo_resource_manager(): """演示资源管理器的基本功能""" # 配置连接信息 BASE_URL = "http://127.0.0.1:10712" USERNAME = "admin" PASSWORD = "123456" print("🚀 Magic-API 资源管理器演示") print("=" * 50) # 创建资源管理器 print(f"📡 连接到: {BASE_URL}") manager = MagicAPIResourceManager(BASE_URL, USERNAME, PASSWORD) print("\n" + "=" * 50) print("演示步骤:") print("=" * 50) try: # 1. 获取并显示资源树 print("\n1️⃣ 获取资源树结构:") tree_data = manager.get_resource_tree() if tree_data: manager.print_resource_tree(tree_data) else: print("❌ 获取资源树失败") return print() # 2. 创建新分组 print("2️⃣ 创建新分组:") group_id = manager.create_group( name="演示分组", parent_id="0", group_type="api", path="/demo", options={"description": "这是演示用的分组", "author": "demo_script"} ) print() # 3. 创建子分组 if group_id: print("3️⃣ 创建子分组:") sub_group_id = manager.create_group( name="子分组", parent_id=group_id, group_type="api", path="/sub" ) print() # 4. 复制分组 print("4️⃣ 复制分组:") copied_group_id = manager.copy_group(group_id, "0") print() # 5. 锁定和解锁资源 print("5️⃣ 资源锁定操作:") if sub_group_id: manager.lock_resource(sub_group_id) print(" 锁定子分组成功") manager.unlock_resource(sub_group_id) print(" 解锁子分组成功") print() # 6. 删除测试资源 print("6️⃣ 清理测试资源:") if copied_group_id: manager.delete_resource(copied_group_id) print(" 删除复制的分组成功") if sub_group_id: manager.delete_resource(sub_group_id) print(" 删除子分组成功") manager.delete_resource(group_id) print(" 删除演示分组成功") print() # 7. 再次获取资源树查看变化 print("7️⃣ 最终资源树结构:") tree_data = manager.get_resource_tree() if tree_data: manager.print_resource_tree(tree_data) else: print("❌ 获取资源树失败") print() print("✅ 演示完成!") print("📚 更多功能请参考 README.md") except KeyboardInterrupt: print("\n⏹️ 演示被用户中断") except Exception as e: print(f"❌ 演示异常: {e}") def demo_api_operations(): """演示API操作功能""" print("\n" + "=" * 50) print("API 操作演示:") print("=" * 50) # 配置连接信息 BASE_URL = "http://127.0.0.1:10712" USERNAME = "admin" PASSWORD = "123456" # 创建资源管理器 manager = MagicAPIResourceManager(BASE_URL, USERNAME, PASSWORD) try: # 获取文件详情示例 print("\n📋 获取文件详情:") # 注意:这里需要实际的文件ID,实际使用时请替换为真实的ID # file_detail = manager.get_file_detail("actual_file_id") # if file_detail: # print(f"📄 文件信息: {file_detail}") print(" 提示:需要提供实际的文件ID才能查看详情") print() # 保存API文件示例 print("📦 保存API文件:") # 注意:实际使用时请提供真实的API数据 # api_data = { # "name": "demo_api", # "method": "GET", # "path": "/demo/api", # "script": "return 'Hello from demo API';" # } # file_id = manager.save_api_file("api", api_data, auto_save=True) # if file_id: # print(f"✅ API文件保存成功,文件ID: {file_id}") print(" 提示:需要提供真实的API数据才能保存") print() print("✅ API操作演示完成!") except Exception as e: print(f"❌ API操作异常: {e}") if __name__ == "__main__": print("🎯 Magic-API 资源管理器功能演示") print(" 本演示将展示资源管理器的基本功能") # 询问用户是否继续 try: input("\n按 Enter 键开始演示,或 Ctrl+C 取消...") except KeyboardInterrupt: print("\n👋 演示已取消") exit(0) demo_resource_manager() demo_api_operations() print("\n" + "=" * 50) print("🎉 演示完成!") print("=" * 50) print("📖 如需了解更多用法,请查看 README.md") print("💻 命令行使用示例:") print(" python3 magic_api_resource_manager.py --help") print(" python3 magic_api_resource_manager.py --list-tree") print(" python3 magic_api_resource_manager.py --create-group '测试分组'")

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/Dwsy/magic-api-mcp-server'

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