Tuba工作流MCP服务器
该项目是一个模型上下文协议(MCP)服务器,充当到 Tuba.ai 平台。
Tuba是一个一体化的AI视觉工作流程构建器,简化了计算机视觉任务的整个生命周期。此服务器将您的Tuba项目的工作流作为一组可调用的工具公开,允许其他应用程序(如AI助手、脚本或Claude Desktop等服务)以编程方式控制您的AI视觉管道并与之交互。
目录
- 本地开发和测试 - Claude桌面配置
特性
此MCP服务器提供以下工具与Tuba工作流API交互:
| 工具 | 说明 |
|---|---|
| run() | 执行项目的工作流 |
| 状态() | 检索当前工作流执行状态 |
| 结果() | 获取工作流结果(下载为 result.zip 如果文件输出) |
| get_workflow_blocks() | 检索所有工作流块的当前配置 |
| update_workflow_blocks_data() | 更新参数并将文件上传到工作流块 |
入门指南
先决条件
- Python 3.10或更高版本 -现代类型提示和异步功能所必需
- 紫外线 -快速Python包安装程序和环境管理器
- Tuba.ai账户 有一个活跃的项目
- TUBA_WORKFLOW_ACCESS_TOKEN -您的项目的API访问令牌
安装
- 克隆存储库:
git clone
cd - 安装紫外线:
- macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh- 窗户:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"- 创建虚拟环境并安装依赖项:
uv venv
uv pip install -r requirements-lock.txt配置
本地开发和测试
对于本地开发,服务器使用以下命令从环境文件加载您的访问令牌 python-dotenv.
- 创建一个
.env文件 在项目根目录中:
touch .env- 添加您的访问令牌:
TUBA_WORKFLOW_ACCESS_TOKEN="your_secret_token_goes_here"> 注: 这 .gitignore file确保此文件永远不会提交到版本控制中。
- 测试服务器:
uv run python tuba_workflow_mcp_server.py- 验证它是否正常工作:
服务器应无错误地启动。您可以通过连接MCP客户端或通过Claude Desktop使用工具来测试它。
Claude桌面配置
要将此服务器与Claude Desktop一起使用,请将以下配置添加到您的 claude_desktop_config.json 文件:
macOS/Linux位置:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows位置:
%APPDATA%\Claude\claude_desktop_config.json配置:
{
"mcpServers": {
"TubaWorkflow": {
"command": "/.local/bin/uv",
"args": [
"run",
"--directory",
"",
"python",
"tuba_workflow_mcp_server.py"
],
"env": {
"TUBA_WORKFLOW_ACCESS_TOKEN": ""
}
}
}
}替换占位符:
- `
-您的主目录路径(例如。,/Users/yourname或C:\Users\yourname`) - `` -此项目文件夹的完整路径
- `` -您的Tuba.ai工作流访问令牌
示例(macOS):
{
"mcpServers": {
"TubaWorkflow": {
"command": "/Users/john/.local/bin/uv",
"args": [
"run",
"--directory",
"/Users/john/projects/tuba-workflow-mcp-server",
"python",
"tuba_workflow_mcp_server.py"
],
"env": {
"TUBA_WORKFLOW_ACCESS_TOKEN": ""
}
}
}
}配置后,重新启动Claude Desktop以加载MCP服务器。
可用工具
run()
为经过身份验证的项目执行工作流。
______________________________________________________________________
状态()
检索工作流执行的当前状态。
______________________________________________________________________
结果()
获取工作流执行的结果。如果结果是一个文件(例如,处理后的图像、视频),它将自动另存为 result.zip 在您当前的工作目录中。
______________________________________________________________________
get_workflow_blocks()
检索项目中所有工作流块的当前配置。使用此功能可以发现可用的块ID及其当前参数值。
______________________________________________________________________
update_workflow_blocks_data()
更新参数并将文件上传到工作流块。支持三种文件上传方式:
- 本地文件 -从系统上的文件路径上传
- 远程URL -从web URL获取和上传文件
- Base64数据 -上传编码为base64字符串的文件
文件字段命名约定: 文件字段名称应遵循以下格式: _
用法示例
一旦配置了Claude Desktop(或另一个MCP客户端),您就可以使用自然语言与您的Tuba工作流进行交互。AI助手将处理所有技术细节,如查找块ID、正确格式化JSON、处理文件路径和监控工作流程进度。
对话示例:
- “你能检查我的Tuba工作流的状态吗?”
- “启动我的工作流程,并在完成时通知我”
- “将我的物体探测器的置信阈值更新为0.8”
- “使用我的工作流处理此图像:/path/to/image.jpg”
- “从URL上传这三张图片并运行工作流”
- “显示我的工作流配置”
贡献
我们欢迎捐款!请查看我们的 行为准则 社区指南。
投稿前:
- 检查现有问题并撤回请求
- 遵循现有代码样式
- 为新功能添加测试
- 根据需要更新文档
对于重大更改,请先打开一个问题来讨论您想要更改的内容。
许可证
该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。
安全
安全是首要任务。如果您发现漏洞,请负责任地报告。
不要公开GitHub安全漏洞问题。
相反,使用GitHub的私有漏洞报告功能:
- 导航到 安全 标签
- 点击 报告漏洞
- 提供有关该问题的详细信息
看 安全.md 了解更多信息。
______________________________________________________________________
资源
支持
如有疑问、问题或反馈:
- Tuba.ai支持: support@tuba.ai
- 加入Discord社区 https://discord.com/invite/gDSZr6N5rC
- GitHub问题: 用于错误报告和功能请求
- 讨论: 使用GitHub讨论进行提问和社区互动
______________________________________________________________________
版权所有©2025 DevisionX。保留所有权利。
