返回市场
Tuba工作流MCP服务器

Tuba工作流MCP服务器

作者:DevisionX2 星标更新:2025-11-06

项目介绍

Tuba Workflow MCP Server

该项目是一个模型上下文协议(MCP)服务器,作为与Tuba.ai平台之间的桥梁。

Tuba 是一个一体化的AI视觉工作流构建器,简化了计算机视觉任务的整个生命周期。此服务器将您的Tuba项目的工作流暴露为一组可调用的工具,允许其他应用程序(如AI助手、脚本或服务如Claude Desktop)通过编程方式控制和交互您的AI视觉管道。

目录

特性

此MCP服务器提供了以下工具来与Tuba工作流API进行交互:

工具描述
run()执行您的项目的流程
status()获取当前流程执行状态
result()获取流程结果(如果输出是文件,则下载为result.zip
get_workflow_blocks()获取所有工作流块的当前配置
update_workflow_blocks_data()更新参数并上传文件到工作流块

快速开始

先决条件

  • Python 3.10 或更高版本 - 需要现代类型提示和异步功能
  • uv - 快速的Python包安装器和环境管理器
  • 具有活动项目的Tuba.ai账户
  • TUBA_WORKFLOW_ACCESS_TOKEN - 您项目的API访问令牌

安装

  1. 克隆仓库:

    git clone <this_repo>
    cd <this_repo>
    
  2. 安装uv:

    • macOS/Linux:

      curl -LsSf https://astral.sh/uv/install.sh | sh
      
    • Windows:

      powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
      
  3. 创建虚拟环境并安装依赖项:

    uv venv
    uv pip install -r requirements-lock.txt
    

配置

本地开发与测试

对于本地开发,服务器从环境文件中加载您的访问令牌,使用python-dotenv

  1. 在项目根目录下创建一个.env文件:

    touch .env
    
  2. 添加您的访问令牌:

    TUBA_WORKFLOW_ACCESS_TOKEN="your_secret_token_goes_here"
    

    注意: .gitignore文件确保此文件永远不会提交到版本控制系统。

  3. 测试服务器:

    uv run python tuba_workflow_mcp_server.py
    
  4. 验证是否正常工作: 服务器应无错误启动。您可以通过连接MCP客户端或通过Claude Desktop使用这些工具来测试它。

Claude Desktop 配置

要将此服务器与Claude Desktop一起使用,请在您的claude_desktop_config.json文件中添加以下配置:

macOS/Linux位置:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows位置:

%APPDATA%\Claude\claude_desktop_config.json

配置:

{
  "mcpServers": {
    "TubaWorkflow": {
      "command": "<home_path>/.local/bin/uv",
      "args": [
        "run",
        "--directory",
        "<absolute_path_to_tuba_workflow_m_服务器文件夹>",
        "python",
        "tuba_workflow_mcp_server.py"
      ],
      "env": {
        "TUBA_WORKFLOW_ACCESS_TOKEN": "<your_access_token>"
      }
    }
  }
}

替换占位符:

  • <home_path> - 您的主目录路径(例如,/Users/yournameC:\Users\yourname
  • <absolute_path_to_tuba_workflow_mcp_server_folder> - 此项目文件夹的完整路径
  • <your_access_token> - 您的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": "<your_access_token>"
      }
    }
  }
}

配置完成后,重启Claude Desktop以加载MCP服务器。

可用工具

run()

执行您的已认证项目的流程。


status()

获取当前流程执行的状态。


result()

获取流程执行的结果。如果结果是文件(例如,处理过的图像、视频),则会自动保存为result.zip在您的当前工作目录中。


get_workflow_blocks()

获取您项目中所有工作流块的当前配置。使用此功能可以发现可用的块ID及其当前参数值。


update_workflow_blocks_data()

更新参数并上传文件到工作流块。支持三种文件上传方法:

  • 本地文件 - 从系统中的文件路径上传
  • 远程URL - 从网络URL抓取并上传文件
  • Base64数据 - 上传编码为base64字符串的文件

文件字段命名约定: 文件字段名称应遵循此格式:<block_id>_<param_name>

使用示例

一旦配置了Claude Desktop(或其他MCP客户端),您可以使用自然语言与您的Tuba工作流进行交互。AI助手将处理所有技术细节,如查找块ID、正确格式化JSON、处理文件路径以及监控工作流进度。

示例对话:

  • “你能检查一下我的Tuba工作流状态吗?”
  • “启动我的工作流,并告诉我何时完成”
  • “将我的对象检测器的置信度阈值更新为0.8”
  • “用我的工作流处理这张图片:/path/to/image.jpg”
  • “从这些三个URL上传图片并运行工作流”
  • “显示我的工作流配置”

贡献

我们欢迎贡献!请参阅我们的行为准则了解社区指南。

贡献前:

  1. 检查现有问题和拉取请求
  2. 遵循现有的代码风格
  3. 为新功能添加测试
  4. 根据需要更新文档

对于重大更改,请首先打开一个问题来讨论您想要更改的内容。

许可

本项目根据MIT许可发布 - 详情见LICENSE文件。

安全

安全性是首要任务。如果您发现了漏洞,请负责任地报告。

不要公开在GitHub上报告安全漏洞。

相反,请使用GitHub的私密漏洞报告功能:

  1. 导航到安全标签
  2. 点击报告漏洞
  3. 提供关于问题的详细信息

详见SECURITY.md获取更多信息。


资源

支持

对于问题、反馈或建议:


版权所有 © 2025 DevisionX. 保留所有权利。