返回市场
<中文翻译>
亚特兰蒂斯-mcp功能示例

<中文翻译> 亚特兰蒂斯-mcp功能示例

作者:ProjectAtlantis-dev2 星标更新:2025-11-22

项目介绍

Atlantis MCP 函数示例

一组适用于 Atlantis MCP 服务器 的生产就绪示例函数。这些示例帮助 AI 编码代理了解可能的功能,并展示在 Atlantis 系统中构建动态函数的最佳实践。

📖 概述

此仓库作为开发者使用 Atlantis MCP 构建应用程序的学习资源和模板库。每个示例都是完全可运行的,并展示了实际应用场景,包括:

  • 营销自动化 - 社交媒体内容生成、品牌管理及多平台发布
  • ComfyUI 集成 - 图像生成、视频创作、音频合成及 AI 助力的图像编辑
  • 错误报告管理 - 智能错误跟踪及自动化解决工作流

🚀 安装

先决条件

设置

  1. 将此仓库克隆到您的 Atlantis MCP 服务器的 dynamic_functions 目录:
cd /path/to/atlantis-mcp-server/python-server/dynamic_functions
git clone https://github.com/ProjectAtlantis-dev/atlantis-mcp-function-examples.git
  1. 您的目录结构应如下所示:
atlantis-mcp-server/
└── python-server/
    └── dynamic_functions/
        └── atlantis-mcp-function-examples/
            ├── marketing/
            ├── comfyui_stuff/
            └── bug_reports/
  1. 配置 API 密钥(如果使用特定示例):
# 对于营销示例
export GEMINI_API_KEY="your-gemini-api-key"

# 添加其他特定示例所需的 API 密钥
  1. 重启您的 Atlantis MCP 服务器以加载新函数。

📚 示例分类

🎯 营销 (/marketing)

完整的 AI 助力内容生成社交媒体管理系统:

  • 多平台发布(Twitter、LinkedIn、Facebook、Instagram)
  • 品牌管理 - 创建和管理多个品牌身份
  • AI 内容生成 - 使用 Gemini AI 生成平台优化的帖子
  • 图像生成 - 为帖子创建自定义视觉效果
  • 分析 - 跟踪互动和性能

关键函数:

  • create_brand() - 设置新的品牌资料
  • generate_social_post() - AI 生成的平台优化内容
  • post_to_twitter(), post_to_linkedin(), post_to_facebook() - 发布内容
  • save_linkedin_token(), save_facebook_token() - OAuth 集成

🎨 ComfyUI 集成 (/comfyui_stuff)

使用 ComfyUI 工作流程进行高级 AI 媒体生成:

  • 视频生成 - 使用文本提示动画图像
  • 音频合成 - 从音频样本中克隆声音
  • 图像放大 - 使用 SeedVR2 进行 AI 助力的 2x 放大
  • 图像编辑 - 使用 Qwen 进行智能图像修改

关键函数:

  • create_video_with_image() - 从图像生成文本到动画
  • create_audio_with_voice() - 克隆声音并生成语音
  • upscale_image_default() - 高质量图像放大
  • qwen_image_edit() - AI 助力的图像编辑

需求:0.0.0.0:8188 上运行的 ComfyUI 服务器,且已安装所需模型

🐛 错误报告 (/bug_reports)

具有 AI 辅助解决方案的智能错误跟踪系统:

  • 智能错误分类 - 自动分类严重性和优先级
  • 文件跟踪 - 将代码文件与错误报告关联
  • AI 解决建议 - 获取自动修复建议
  • 状态工作流 - 跟踪从报告到解决的错误

关键函数:

  • create_bug_report() - 提交带有自动分类的新错误
  • list_bugs() - 查看并筛选错误数据库
  • update_bug_status() - 管理错误生命周期
  • get_bug_details() - 深入具体问题

🔧 如何使用这些示例

1. 作为学习资源

研究代码以理解:

  • 如何使用 @visible 装饰器结构 Atlantis 函数
  • 异步/等待模式用于用户界面交互
  • 使用 base64 编码处理文件上传
  • 注入 HTML/CSS/JavaScript 以创建自定义用户界面
  • 数据库集成模式
  • 外部 API 集成(ComfyUI、社交媒体 API)

2. 作为模板

复制并修改示例以适应您自己的用例:

@visible
async def your_custom_function(param1: str, param2: int = 10):
    """
    您的函数描述

    参数:
        param1: 描述
        param2: 默认值描述
    """
    username = atlantis.get_caller() or "unknown_user"
    await atlantis.client_log(f"开始处理 {username}...")

    # 您的逻辑

    await atlantis.client_log("✅ 完成!")

3. 作为构建模块

混合搭配组件:

  • 重用 UI 组件(文件上传器、进度指示器)
  • 适应您的数据的数据库模式
  • 利用 API 集成模式
  • 在现有工作流基础上构建

🎓 展示的关键概念

Atlantis 客户端 API

# 向用户的界面记录日志
await atlantis.client_log("用户消息")
await atlantis.owner_log("服务器端日志")

# 在用户的界面渲染 HTML/CSS
await atlantis.client_html("<div>自定义 UI</div>")
await atlantis.client_script("// JavaScript 代码")

# 文件上传
await atlantis.client_upload(upload_id, callback_function)

# 获取当前用户
username = atlantis.get_caller()

文件上传模式

uploadId = f"upload_{str(uuid.uuid4()).replace('-', '')[:8]}"

async def process_file(filename, filetype, base64Content):
    # 解码并处理文件
    base64_data = base64Content.split(',')[1] if base64Content.startswith('data:') else base64Content
    file_bytes = base64.b64decode(base64_data)
    # ... 处理文件

await atlantis.client_upload(uploadId, process_file)

UI 注入模式

# 包含占位符的 HTML
html_template = '''
<div id="my_component_{UPLOAD_ID}">
    <!-- 您的 HTML -->
</div>
'''

# 包含事件处理器的 JavaScript
js_template = '''
document.getElementById('button_{UPLOAD_ID}').addEventListener('click', async function() {
    await studioClient.sendRequest("engage", {
        accessToken: "{UPLOAD_ID}",
        mode: "action",
        data: { /* 您的数据 */ }
    });
});
'''

# 替换占位符并注入
await atlantis.client_html(html_template.replace("{UPLOAD_ID}", uploadId))
await atlantis.client_script(js_template.replace("{UPLOAD_ID}", uploadId))

🤖 与 AI 编码代理合作

这些示例特别设计来帮助 AI 编码代理(如 Claude、GPT-4 等)理解:

  1. 函数结构 - 正确的异步模式和装饰器
  2. 错误处理 - 结合用户友好信息的强大 try/catch
  3. UI/UX 模式 - 进度指示器、文件上传、确认
  4. API 集成 - 外部服务、轮询、webhook
  5. 数据持久性 - SQLite 模式、JSON 配置

当与 AI 代理合作时,您可以参考这些示例:

"创建一个类似于 create_audio_with_voice() 的函数,但用于文本转语音而不是声音克隆"

"使用 qwen_image_edit() 中的文件上传模式,但修改它以接受 PDF 文件"

🛠️ 开发

创建您自己的函数

  1. dynamic_functions/ 中创建一个新目录
  2. 添加带有 @visible 装饰器的 Python 文件
  3. 遵循这些示例中展示的模式
  4. 使用 Atlantis MCP 服务器彻底测试
  5. 如果希望贡献,请提交 PR!

最佳实践

  • ✅ 总是使用 async/await 进行 I/O 操作
  • ✅ 提供清晰、描述性的文档字符串
  • ✅ 包括参数类型提示
  • ✅ 记录长时间运行操作的进度
  • ✅ 优雅地处理错误,提供用户友好的消息
  • ✅ 使用环境变量存储敏感数据
  • ✅ 清理临时文件

🤝 贡献

我们欢迎贡献!要添加您自己的示例:

  1. 分叉此仓库
  2. 为您的示例类别创建一个新目录
  3. 添加文档齐全、可工作的代码
  4. 更新此 README 以包含您的示例
  5. 提交拉取请求

📄 许可证

本项目根据 MIT 许可证授权 - 详情见 LICENSE 文件。

简而言之:您可以自由使用、修改、分发,甚至商业使用。只需保留版权声明。

🔗 相关项目

💬 支持


由 ❤️ 为 Atlantis MCP 社区制作