该项目是一个模型上下文协议(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() | 更新参数并上传文件到工作流块 |
克隆仓库:
git clone <this_repo>
cd <this_repo>
安装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"
创建虚拟环境并安装依赖项:
uv venv
uv pip install -r requirements-lock.txt
对于本地开发,服务器从环境文件中加载您的访问令牌,使用python-dotenv。
在项目根目录下创建一个.env文件:
touch .env
添加您的访问令牌:
TUBA_WORKFLOW_ACCESS_TOKEN="your_secret_token_goes_here"
注意:
.gitignore文件确保此文件永远不会提交到版本控制系统。
测试服务器:
uv run python tuba_workflow_mcp_server.py
验证是否正常工作: 服务器应无错误启动。您可以通过连接MCP客户端或通过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/yourname或C:\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服务器。
执行您的已认证项目的流程。
获取当前流程执行的状态。
获取流程执行的结果。如果结果是文件(例如,处理过的图像、视频),则会自动保存为result.zip在您的当前工作目录中。
获取您项目中所有工作流块的当前配置。使用此功能可以发现可用的块ID及其当前参数值。
更新参数并上传文件到工作流块。支持三种文件上传方法:
文件字段命名约定:
文件字段名称应遵循此格式:<block_id>_<param_name>
一旦配置了Claude Desktop(或其他MCP客户端),您可以使用自然语言与您的Tuba工作流进行交互。AI助手将处理所有技术细节,如查找块ID、正确格式化JSON、处理文件路径以及监控工作流进度。
示例对话:
我们欢迎贡献!请参阅我们的行为准则了解社区指南。
贡献前:
对于重大更改,请首先打开一个问题来讨论您想要更改的内容。
本项目根据MIT许可发布 - 详情见LICENSE文件。
安全性是首要任务。如果您发现了漏洞,请负责任地报告。
不要公开在GitHub上报告安全漏洞。
相反,请使用GitHub的私密漏洞报告功能:
详见SECURITY.md获取更多信息。
对于问题、反馈或建议:
版权所有 © 2025 DevisionX. 保留所有权利。