关于 FlowDot
FlowDot 的 MCP 服务让 AI 客户端管理平台上的工作流、应用、自定义节点、Agent 工具包和知识库。它结合创建与管理工具及教学资源;Recipe 需通过 FlowDot CLI 执行。
主要功能
- 01构建、验证和运行工作流
- 02创建并分享自定义节点
- 03开发 React 应用
- 04管理知识库与文档
- 05创建并调用 Agent 工具包
- 06流式查看和检查执行
适用场景
- 01通过节点和连接搭建工作流
- 02创建关联工作流的应用
- 03搜索或上传知识库文档
- 04监控、取消或重试工作流运行
MCP 相关
该服务向 MCP 客户端提供 17 类共 150 个工具及 8 个 `learn://` 资源。Recipe 可通过 MCP 设计,但须使用 FlowDot CLI 执行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @flowdot.ai/mcp-serverFLOWDOT_API_TOKEN密钥Your FlowDot MCP token (starts with fd_mcp_). Create one free at https://flowdot.ai/mcpFLOWDOT_HUB_URLFlowDot Hub URL. Defaults to https://flowdot.ai本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@flowdot.ai/mcp-server
将 Claude Desktop、Cursor、Windsurf、Claude Code 及任何其他兼容 MCP 的 AI 客户端连接到 完整的 FlowDot 平台——包括工作流、配方、自定义节点、应用、知识库、Agent 工具包,以及完整的社区/分享体系。
什么是 MCP?
MCP(Model Context Protocol)是一种开放标准,可让 AI 模型与外部工具和服务交互。FlowDot MCP 服务提供 17 个功能类别中的 150 个工具,以及 8 个教育类 learn:// 资源,为 AI 客户端提供完整的 FlowDot 操作接口——无需 Web UI。
借助此服务,AI 客户端可以:
- 从头构建工作流——创建图、添加节点、连接节点、验证、执行并流式获取结果
- 编写并分享自定义节点——编写 JavaScript 组件,使用 AST 解析进行验证,并发布到社区
- 开发 FlowDot 应用——构建完整的 React 多文件项目,并使用精准的代码编辑操作
- 设计 Agent 配方——创建包含存储、门控、分支、循环、并行步骤和子配方的多步骤 Agent 程序
- 管理知识库(RAG)——管理分类、文档、上传内容并执行语义查询
- 创建并调用 Agent 工具包——定义新工具、配置 OAuth/API 密钥凭据、安装并调用
- 为语音通话设置 Agent 角色——列出/获取/创建/更新/删除/分叉/复制/发布,并通过服务端验证语音配置是否完整
- 分享和发现内容——使用公开 URL、投票、评论、收藏及浏览社区
- 运行和观察执行情况——启动、通过 SSE 流式获取结果、取消、重试,并查看历史记录和指标
**注意:**可以通过 MCP 设计配方,但必须通过 FlowDot CLI(
@flowdot.ai/cli)执行。配方是长时间运行的 Agent 程序,可能超出 AI 客户端的超时时间,并且需要访问本地文件/代码/Shell。
快速开始
1. 获取免费 MCP 令牌
创建免费的 FlowDot 账户。进入 MCP Tokens 标签页后,点击 Select all(或选择相应范围,参见令牌范围),然后点击 Create Token。令牌以 fd_mcp_ 开头,页面会显示已填入令牌、可直接复制粘贴的下方配置。
免费套餐每天包含 5 次工作流运行和 10 次工具包调用。Creator 套餐每月收费 19 美元(每月 500 次运行,每天 200 次工具包调用)。详情请见:flowdot.ai/mcp。
2. 连接客户端
Claude Code(一条命令):
claude mcp add flowdot -e FLOWDOT_API_TOKEN=fd_mcp_your_token_here -- npx -y @flowdot.ai/mcp-server
**Claude Desktop、Cursor 及其他客户端:**将下方配置块添加到客户端的配置文件中。
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"flowdot": {
"command": "npx",
"args": ["-y", "@flowdot.ai/mcp-server"],
"env": {
"FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
}
}
}
}
3. 重启客户端
重启 Claude Desktop、Cursor 或 MCP 客户端,使其加载服务。Claude Code 会在下次会话中加载该服务。
安装选项
选项 A:Claude Desktop 扩展(.mcpb)
下载 .mcpb 扩展包,然后双击安装到 Claude Desktop。扩展包含 Node.js 运行时和所有依赖项,无需单独安装。
选项 B:npm(Cursor、Claude Code、手动配置)
npx @flowdot.ai/mcp-server
或进行全局安装:
npm install -g @flowdot.ai/mcp-server
flowdot-mcp
教育资源(learn://)
该服务通过 MCP ReadResourceRequest 接口提供 8 篇独立的概念指南。在调用工具之前阅读这些指南,帮助你建立基础认知:
| 资源 | 内容 |
|---|---|
learn://overview | FlowDot 平台概览 |
learn://workflows | 工作流创建指南 |
learn://recipes | Agent 配方编排指南 |
learn://custom-nodes | 自定义节点开发指南 |
learn://apps | 应用开发指南 |
learn://toolkits | Agent 工具包指南 |
learn://knowledge-base | 知识库与 RAG 指南 |
learn://characters | Agent 角色(语音通话)设置指南 |
可用工具
该服务提供 150 个工具,分为 17 个类别。
核心(4)
list_workflows— 列出经身份验证的用户可访问的所有工作流execute_workflow— 使用可选输入执行工作流(同步或异步)get_execution_status— 获取工作流执行的状态和结果agent_chat— 与 FlowDot AI Agent 聊天,获取工作流方面的帮助
分析与反馈(3)
get_workflow_metrics— 浏览量、成功率/失败率、平均时长get_workflow_comments— 工作流评论和评分get_execution_history— 过往执行历史记录,包含时间戳和状态
工作流管理(5)
get_workflow_details— 工作流详细信息,包括节点、连接和签名get_workflow_inputs_schema— 输入架构,包括预期类型和必填字段duplicate_workflow— 创建现有工作流的副本toggle_workflow_public— 将工作流设为公开或私有favorite_workflow— 将工作流添加到收藏或从收藏中移除
执行增强(3)
cancel_execution— 取消正在运行或待处理的工作流执行retry_execution— 使用相同输入重试失败的执行stream_execution— 实时 SSE 工作流执行流
发现与搜索(5)
get_workflow_tags— 获取与工作流关联的标签set_workflow_tags— 设置/更新工作流标签search_workflows— 按名称、描述和标签搜索工作流search— 跨工作流、应用和自定义节点的统一搜索get_public_workflows— 浏览其他用户分享的公开工作流
工作流构建(4)
create_workflow— 创建新的空工作流delete_workflow— 永久删除工作流get_workflow_graph— 获取完整的图结构(所有节点 + 连接)validate_workflow— 检查是否存在缺失的连接、无效配置或未连接的节点
节点操作(5)
list_available_nodes— 按类别列出所有节点类型get_node_schema— 节点类型的完整架构(输入、输出、属性)add_node— 添加新节点(内置节点或通过custom_node_{hash}添加自定义节点)update_node— 更新节点位置或属性delete_node— 删除节点及其所有连接
连接操作(3)
add_connection— 将节点输出连接到节点输入delete_connection— 移除两个节点之间的连接get_node_connections— 获取与特定节点相关的所有连接
自定义节点(13)
list_custom_nodes— 列出你的自定义节点,支持搜索/类别筛选search_public_custom_nodes— 搜索社区分享的公开节点get_custom_node— 自定义节点详细信息(输入、输出、脚本代码)get_custom_node_comments— 自定义节点的评论和评分get_custom_node_template— 根据输入/输出定义生成可运行的脚本模板create_custom_node— 使用脚本、输入和输出创建自定义节点(通过 AST 解析进行验证)update_custom_node— 更新名称、描述、代码和属性delete_custom_node— 永久删除自定义节点copy_custom_node— 将公开节点复制到你的库中toggle_custom_node_visibility— 更改可见性(私有/公开/未列出)vote_custom_node— 投赞成票/反对票/取消投票favorite_custom_node— 添加到收藏或从收藏中移除add_custom_node_comment— 添加评论或回复
应用(23)
核心应用操作(12)
list_apps— 列出你的 React 前端应用search_apps— 搜索公开应用市场get_app— 获取应用详情,包括 React 代码和关联的工作流create_app— 创建新的 React 应用(Tailwind + React 18,运行于沙箱中)update_app— 更新名称、描述、代码、配置和移动端设置delete_app— 永久删除应用publish_app— 发布到公开应用市场unpublish_app— 将已发布的应用设为私有clone_app— 将公开应用克隆到你的库中link_app_workflow— 将工作流关联到应用,以便使用invokeWorkflow()unlink_app_workflow— 解除应用与工作流的关联link_app_toolkit— 将工具包关联到应用,以便使用invokeTool()unlink_app_toolkit— 解除应用与工具包的关联get_app_template— 获取入门代码模板(basic、chat、dashboard、form-builder、data-viewer)
精细代码编辑(4)
edit_app_code— 在应用代码中查找并替换指定字符串append_app_code— 在右花括号前追加内容prepend_app_code— 在开头添加内容insert_app_code— 在匹配指定模式后插入内容
多文件应用操作(7)
list_app_files— 列出多文件应用中的所有文件get_app_file— 获取指定文件的内容create_app_file— 创建新文件(jsx、js、ts、tsx、css、json、md)update_app_file— 更新文件内容和类型delete_app_file— 删除文件rename_app_file— 重命名或移动文件set_app_entry_file— 将文件设为应用的入口文件
分享与公开 URL(9)
get_workflow_public_url— 获取工作流的公开分享 URLlist_shared_results— 列出工作流的共享执行结果get_shared_result— 获取指定共享结果及其输出和输入get_shared_result_comments— 获取共享结果上的评论create_shared_result— 创建可分享链接(可选设置过期时间)add_workflow_comment— 评论工作流add_shared_result_comment— 评论共享结果vote_workflow— 为工作流点赞或点踩vote_shared_result— 为共享结果点赞或点踩
输入预设(7)
list_input_presets— 列出工作流的预配置输入集get_input_preset— 获取指定预设及其所有值create_input_preset— 创建可分享的预设update_input_preset— 更新预设描述或值delete_input_preset— 删除预设vote_input_preset— 为预设投票toggle_community_inputs— 为工作流启用或禁用社区输入
团队(1)
list_user_teams— 列出用户所属的所有团队(含角色和成员数)
知识库 / RAG(14)
list_knowledge_categories— 列出知识库中的文档类别create_knowledge_category— 创建类别并设置名称、描述和颜色update_knowledge_category— 更新类别属性delete_knowledge_category— 删除类别(文档将变为未分类)list_knowledge_documents— 按类别、团队和状态筛选文档get_knowledge_document— 按 ID 或哈希获取文档详情upload_text_document— 直接上传文本内容upload_document_from_url— 从 URL 下载并添加文档move_document_to_category— 移动文档或将其设为未分类transfer_document_ownership— 在个人知识库和团队知识库之间转移文档reprocess_document— 重新处理失败或卡住的文档delete_knowledge_document— 永久删除文档query_knowledge_base— 使用语义搜索和关键词进行 RAG 检索get_knowledge_storage— 获取存储用量和限额
Agent 工具包(24)
Agent 工具包允许 AI 客户端通过 MCP 接口创建新工具,本质上就是 MCP 中嵌套 MCP。安装后,可通过 invoke_toolkit_tool 调用工具包中的工具。
工具包管理(12)
list_agent_toolkits— 你的工具包search_agent_toolkits— 搜索公开工具包市场get_agent_toolkit— 工具包详情(工具、凭据、元数据)get_toolkit_comments— 工具包评论create_agent_toolkit— 创建包含凭据要求的新工具包update_agent_toolkit— 更新标题、描述、类别、凭据delete_agent_toolkit— 删除工具包copy_agent_toolkit— 创建公开工具包的私有副本toggle_toolkit_visibility— 更改可见性(私有/公开/不公开)vote_toolkit— 为工具包投票favorite_toolkit— 添加到收藏夹或从中移除add_toolkit_comment— 为工具包添加评论
工具包使用与调用(12)
install_toolkit— 在你的账户上安装工具包uninstall_toolkit— 卸载list_installed_toolkits— 已安装的工具包及凭据状态toggle_toolkit_active— 启用/禁用安装check_toolkit_credentials— 显示缺少哪些凭据update_toolkit_installation— 将工具包凭据映射到你的 API 密钥invoke_toolkit_tool— 执行已安装工具包中的工具list_toolkit_tools— 工具包中的所有工具get_toolkit_tool— 工具详情及输入/输出架构create_toolkit_tool— 在工具包中创建由 HTTP 或工作流支持的工具update_toolkit_tool— 更新工具配置、架构、端点delete_toolkit_tool— 从工具包中删除工具
支持的凭据类型: api_key、oauth(支持 PKCE、作用域和刷新令牌)、bearer、basic、custom
支持的工具类型: http(REST API)、workflow(调用 FlowDot 工作流)
Agent 配方(19)
配方是可重复使用的 Agent 程序,包含多种步骤类型和持久化存储。MCP 可以设计配方;只有 CLI 可以运行配方。
配方核心(8)
list_recipes— 列出配方(可使用favorites_only筛选)get_recipe— 配方详情,包含步骤、存储和元数据get_recipe_definition— 以 YAML 或 JSON 格式获取完整配方browse_recipes— 分页/排序浏览公开配方create_recipe— 创建新的 Agent 配方update_recipe— 更新元数据和entry_step_id(对执行至关重要)delete_recipe— 删除配方fork_recipe— 创建公开配方的私有副本
步骤管理(4)
list_recipe_steps— 列出所有步骤及其类型、连接和配置add_recipe_step— 添加步骤(agent、parallel、loop、gate、branch、invoke)update_recipe_step— 更新步骤名称、描述、配置和连接delete_recipe_step— 删除步骤
存储管理(4)
list_recipe_stores— 列出配方中的存储(变量)add_recipe_store— 添加用于步骤间数据流转的存储update_recipe_store— 更新键、标签、类型、默认值和输入/输出标记delete_recipe_store— 删除存储
互动(3)
link_recipe— 为配方关联别名,以便通过 CLI 执行vote_recipe— 为公开配方投票favorite_recipe— 添加到收藏夹或从中移除
步骤类型: agent(带工具的大模型)、parallel(并发)、loop(遍历数组)、gate(审批检查点)、branch(条件分支)、invoke(子程序)、output(向终端输出带颜色的消息)
输出步骤配置:
message— 模板字符串(支持{{stores.x}}插值),color—green | red | yellow(默认值为green)。执行时不会调用大模型。可在长时间运行的配方中使用它输出进度更新、警告或最终摘要。
要执行配方,请使用 FlowDot CLI:
npx @flowdot.ai/cli recipes run <aliasOrHash> --input '{"key":"value"}'
Agent 角色(8)
语音通话角色——名称 + 角色提示词 + 完整的服务商技术栈(TTS / STT / LLM)。Hub 服务端使用运行时相同的 App\Support\AgentCharacterCompleteness 助手验证语音配置是否完整,因此每次读取角色时都会附带 is_complete 标记和 missing_fields[] 列表。阅读 learn://characters,了解各服务商的设置格式。
list_agent_characters— 列出你的角色及其完整性徽标get_agent_character— 查看完整详情及逐字段完整性部分create_agent_character— 创建新角色(缺少任何必填字段时,会以CHARACTER_VOICE_CONFIG_INCOMPLETE422 错误拒绝)update_agent_character— 部分更新,并在合并后验证完整性delete_agent_character— 永久删除(需要confirm: true)fork_agent_character— 复制公开角色;LLM 选择会重置为默认值duplicate_agent_character— 复制你自己的角色,包括 LLM 选择toggle_agent_character_public— 切换公开/私有状态(首次发布时自动生成稳定哈希)
必填字段: voice_provider、voice_id、tts_model、voice_settings、stt_provider、stt_model、llm_provider、llm_model、llm_temperature、personality_prompt。请参阅 learn://characters,了解各服务商的推荐值。
令牌作用域
在 FlowDot Settings 中创建 MCP 令牌时,你可以准确选择要授予的作用域。将令牌限制在所需的最小作用域:
| 作用域命名空间 | 覆盖的工具 |
|---|---|
workflows:read | 列出、搜索、获取、查看公开工作流 |
workflows:execute | 执行工作流 |
workflows:manage | 创建、更新、删除、验证、构建工作流图 |
executions:read | 状态、历史记录、流 |
executions:manage | 取消、重试 |
agent:chat | Agent 聊天 |
custom_nodes:read | 列出、搜索、获取自定义节点及其模板 |
custom_nodes:manage | 创建、更新、删除、复制、切换可见性、投票、评论 |
apps:read | 列出、搜索、获取应用和文件 |
apps:manage | 创建、更新、删除、发布、代码编辑、文件管理 |
recipes:read | 列出、获取、浏览、获取定义 |
recipes:manage | 创建、更新、删除、派生、关联、管理步骤和存储 |
agent_characters:read | 列出和查看 Agent 角色(含完整性状态) |
agent_characters:manage | 创建、编辑、删除、派生、复制和发布 Agent 角色 |
knowledge:read | 列出、获取、查询 |
knowledge:manage | 上传、删除、分类、转移、重新处理 |
agent_toolkits:read | 列出、搜索、获取工具包和工具 |
agent_toolkits:manage | 创建、更新、删除、安装、调用 |
sharing:read | 获取共享结果、公开 URL |
sharing:manage | 创建共享结果、投票、评论 |
input_presets:read | 列出、获取预设 |
input_presets:manage | 创建、更新、删除 |
teams:read | 列出团队 |
discovery:read | 搜索、标签、公开浏览 |
analytics:read | 指标、评论、历史记录 |
环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
FLOWDOT_API_TOKEN | 是 | — | 你的 MCP 令牌(必须以 fd_mcp_ 开头) |
FLOWDOT_HUB_URL | 否 | https://flowdot.ai | FlowDot Hub URL(可自托管部署时覆盖) |
INTERNAL_API_SECRET | 否 | — | 内部 API 调用的可选共享密钥 |
配置其他 MCP 客户端
Cursor
Settings > MCP Servers > Add Server:
{
"flowdot": {
"command": "npx",
"args": ["@flowdot.ai/mcp-server"],
"env": {
"FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
}
}
}
Windsurf
配置与 Cursor 相同——请参阅 Windsurf 文档,了解 MCP 配置文件的准确位置。
Claude Code
将以下内容添加到 Claude Code 的 MCP 配置中(通常位于 ~/.config/claude-code/mcp.json):
{
"mcpServers": {
"flowdot": {
"command": "npx",
"args": ["@flowdot.ai/mcp-server"],
"env": { "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here" }
}
}
}
开发
# Install dependencies
npm install
# Build
npm run build
# Run locally
FLOWDOT_API_TOKEN=fd_mcp_xxx npm start
# Watch mode
npm run dev
# Run tests
npm test
# Coverage report
npm run test:coverage
# Build the .mcpb Claude Desktop extension bundle
npm run build:mcpb
架构
MCP 服务是一个轻量级协议适配器。与 FlowDot Hub 的所有 HTTP 通信都委托给共享的 @flowdot.ai/api 包,该包也供 FlowDot CLI 和守护进程使用。这意味着相同的客户端逻辑、身份验证、重试语义和分页机制适用于 FlowDot 的所有产品。
源码布局
mcp-server/
├── bin/
│ └── flowdot-mcp.js # Executable wrapper
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # createServer() / startServer()
│ ├── api-client.ts # FlowDotApiClient re-export
│ ├── tools/
│ │ ├── index.ts # Central registry (one switch case per tool)
│ │ └── *.ts # 119 individual tool source files
│ └── utils/
│ └── script-validator.ts # AST-based custom node script validation
├── manifest.json # MCPB Claude Desktop bundle manifest
├── scripts/
│ └── build-mcpb.js # Builds the .mcpb extension archive
└── package.json
自定义 Node 脚本验证
用户提交的自定义节点 JavaScript 使用 acorn AST 解析进行验证,而非使用正则表达式。验证器会检查:
- 语法是否正确
- 是否存在必需的
processData(inputs, properties, llm)函数 - 是否存在
return语句,且其返回内容与声明的输出键完全匹配 - 是否存在顶层
return语句 - 安全模式(不得使用
eval、process、global、require等) - 最佳实践(未使用的输入、未处理的错误)
脚本验证器有自己的测试套件,并通过 vitest.config.ts 强制执行 100% 覆盖率阈值。
许可证
请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。