Slickflow MCP Server:将工作流引擎接入 AI 编排平台的实践
为什么需要 MCP传统的 AI 工作流集成方式通常是硬编码把流程 API 包成 Function Calling每个 LLM 平台单独适配一套。MCP 的出现改变了这一局面——只需实现一次所有支持 MCP 的 AI 客户端都能自动发现并调用你的工具。对于 Slickflow 这样的工作流引擎来说这意味着AI Agent 可以自主发起流程、推进审批、查询状态无需人工干预知识库与流程联动Agent 可以先查规则再决定流程走向平台无关同一个 MCP ServerDify / Coze / n8n / Claude 均可接入二、整体架构┌─────────────────────────────────────────────────────┐ │ AI 编排平台 │ │ Dify · Coze · n8n · Claude · 自定义 Agent │ └────────────────────┬────────────────────────────────┘ │ MCP Protocol (HTTP Streamable / SSE) ▼ ┌─────────────────────────────────────────────────────┐ │ Slickflow MCP Server (:5100) │ │ │ │ ┌─────────────────────┐ ┌──────────────────────┐ │ │ │ WorkflowTools │ │ KnowledgeBaseTools │ │ │ │ (12 个工具) │ │ (2 个工具) │ │ │ └──────────┬──────────┘ └──────────┬───────────┘ │ │ │ │ │ │ ▼ ▼ │ │ IWorkflowService KbDocumentService │ └────────────┬────────────────────────┬───────────────┘ │ │ ▼ ▼ Slickflow Engine 向量数据库 (PgVector) (PostgreSQL) text-embedding-v4 / 1536dServer 基于ModelContextProtocol.AspNetCorev0.3.0-preview.2运行在 .NET 8 之上。三、14 个工具详解3.1 WorkflowTools12 个工具名功能典型参数list_processes列出所有已发布流程—start_process启动流程实例processCode, userId, appInstanceIdrun_process推进流程提交待办taskId, userId, approvalStatusget_process_instance查询流程实例状态processInstanceIdget_running_tasks查询用户待办任务userIdget_completed_tasks查询用户已办任务userId, appInstanceIdget_next_steps查询下一步节点taskId, userIdget_process_instances_by_app按业务单据查流程实例appInstanceIdget_approval_trace查审批轨迹完成顺序taskIdwithdraw_process撤回下一步未办时taskId, userIdsendback_process退回到上一步taskId, userIdreject_process驳回到发起人taskId, userId3.2 KnowledgeBaseTools2 个工具名功能典型参数search_knowledge_base语义搜索返回相关文档片段query, count5, threshold0.7list_knowledge_documents列出知识库全部文档摘要—四、核心实现4.1 Server 注册三行代码builder.Services.AddMcpServer() .WithHttpTransport(options options.EnableLegacySse true) .WithToolsWorkflowTools() .WithToolsKnowledgeBaseTools(); // ... app.MapMcp(/mcp);EnableLegacySse true同时暴露GET /mcp/ssePOST /mcp/message兼容 n8n 等尚未实现 Streamable HTTP 的客户端。4.2 工具声明Attribute 驱动[McpServerToolType] public class WorkflowTools(IWorkflowService wfService) { [McpServerTool, Description(启动一个流程实例。返回流程实例ID(ProcessInstanceIdStarted)。)] public string start_process( [Description(流程代码从 list_processes 获取)] string processCode, [Description(发起人用户ID)] string userId, // ... ) { // 先查流程定义再创建 WfAppRunner 启动 var process wfService.GetProcessByCode(processCode, version); var runner new WfAppRunner { /* ... */ }; var result wfService.StartProcess(runner); return JsonSerializer.Serialize(new { result.Status, result.ProcessInstanceIdStarted }); } }每个工具方法只是一个普通 C# 方法[Description]注解会被框架自动解析为 MCPinputSchema大模型据此生成正确的参数调用。4.3 API Key 鉴权鉴权逻辑通过中间件实现支持两种 Header 格式X-Api-Key: your-key // 或 Authorization: Bearer your-key/health端点跳过鉴权供 Docker/K8s 健康探针使用。空 Key 时自动进入开发模式免鉴权方便本地调试。4.4 速率限制// 每 IP 每分钟最多 100 次请求可通过配置调整 RateLimitPartition.GetFixedWindowLimiter( ctx.Connection.RemoteIpAddress?.ToString(), _ new FixedWindowRateLimiterOptions { PermitLimit 100, Window TimeSpan.FromMinutes(1) } );超限返回HTTP 429响应头包含Retry-After。五、与 AI 平台集成5.1 Dify在 Dify 工作流中添加工具节点选择MCP Server填入TransportStreamable HTTP URLhttp://your-host:5100/mcp HeadersX-Api-Key: your-api-key5.2 CozeCoze 要求额外发送协议版本 HeaderTransportStreamable HTTP URLhttp://your-host:5100/mcp Headers X-Api-Key: your-api-key MCP-Protocol-Version: 2025-03-265.3 n8nn8n 当前版本已知 bug不支持 Streamable HTTP需走 SSE TransportTransportSSE SSE URLhttp://your-host:5100/mcp/sse Message URLhttp://your-host:5100/mcp/messageServer 端EnableLegacySse true已自动开启此端点。六、内置 MCP ClientAgent 侧Slickflow.AI 内置了McpServerClientAI Agent 节点可在运行时自动发现并调用MCP Server 上的所有工具无需手动注册// 自动发现远程 MCP Server 上的全部工具 var client new McpServerClient(http://your-host:5100); var tools await client.DiscoverToolsAsync(); // 注册到 ReAct Agent AgentToolRegistry.Global.Register(MY_ACTIVITY_ID, tools);McpClientTool内部通过 JSON-RPC 2.0 调用远端工具对 ReAct Agent 来说与本地 Function 完全透明。七、生产部署docker-compose.yml核心片段services: sfmcp: build: . ports: - 5100:5100 environment: - ConnectionStrings__WfDBConnectionString${DB_CONNECTION} - McpAuth__ApiKey${MCP_API_KEY} - RateLimit__PermitLimit100 healthcheck: test: [CMD, curl, -f, http://localhost:5100/health] interval: 30s timeout: 5s retries: 3敏感配置数据库连接串、API Key通过.env文件注入不进入镜像。环境变量一览.env.exampleDB_CONNECTIONHostxxx;Databasewfdb;Usernamexxx;Passwordxxx MCP_API_KEYyour-strong-api-key-here RATELIMIT_PERMITLIMIT100 RATELIMIT_WINDOWMINUTES1八、测试验证结果全部 14 个工具在测试环境PostgreSQL42 个已发布流程402 条知识库文档验证通过类别工具数验证状态流程查询只读5✅ 全部通过流程操作写入7✅ 全部通过含错误处理知识库2✅ 全部通过threshold≥0.5 可匹配踩坑记录PowerShell curl.exe 双引号问题PowerShell inline JSON 传curl.exe时双引号被剥离改用-d file.json方式解决。start_process 引擎参数问题引擎需要ProcessId Version工具层先调用GetProcessByCode查出实体再填入不能只传ProcessCode。n8n SSE 兼容n8n SDK 升级至 1.4.0 后需EnableLegacySsetrue走旧 SSE 通道。九、总结Slickflow MCP Server 的实现思路可以概括为用 Attribute 标注工具 → 框架自动生成 Schema → AI 自主调用 → 工作流引擎执行

相关新闻

腾讯混元3D+ComfyUI:单图生成完整3D模型的技术解析与实践

腾讯混元3D+ComfyUI:单图生成完整3D模型的技术解析与实践

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 如果你还在为3D建模的高门槛而头疼——无论是复杂的Blender操作、昂贵的专业软件,还是动辄几十GB的显存需求,那…

2026/7/7 5:03:06阅读更多 →
【ROS2】 机械臂开发架构:为何“智与看”用 Docker,“真”用传统?

【ROS2】 机械臂开发架构:为何“智与看”用 Docker,“真”用传统?

【ROS2】 机械臂开发架构:为何“智与看”用 Docker,“真”用传统? 在 ROS2 机械臂的开发中,我们常说“真、智、看”三大核心。但在实际工程落地时,很多开发者往往陷入“死磕环境配置”的泥潭,试图在同一个宿…

2026/7/7 5:03:06阅读更多 →
城市美学视角:科技融于山水,叁仟智慧灯杆重塑杭州夜间城市风貌

城市美学视角:科技融于山水,叁仟智慧灯杆重塑杭州夜间城市风貌

一座城市的气质,藏于白昼的繁华,更显于夜晚的肌理。作为兼具千年文脉与数字先锋属性的杭州,城市夜景早已告别传统亮化照明的单一模式,向着“高颜值、低光害、智能化、特色化”的城市夜景美学体系迭代升级。杭州叁仟智慧灯杆跳出传…

2026/7/7 4:58:06阅读更多 →
cadenceIC的库library,单独复制某个schematic电路图/symbol/layout等到另一个库,出现复制失败的问题

cadenceIC的库library,单独复制某个schematic电路图/symbol/layout等到另一个库,出现复制失败的问题

无法从一个库内的电路图复制到另一个库里面这边发现的最主要原因就是两个库(library)的工艺技术库(techLibName)不一样。首先选中库,鼠标右键,选择Properties复制库和被复制库如图复制失败的原因推测是tech…

2026/7/7 7:13:18阅读更多 →
Scikit-learn 1.5.0 数据预处理实战:6大核心方法对比与场景选择指南

Scikit-learn 1.5.0 数据预处理实战:6大核心方法对比与场景选择指南

Scikit-learn 1.5.0 数据预处理实战:6大核心方法对比与场景选择指南1. 数据预处理:机器学习项目的胜负手三年前接手金融风控项目时,我曾遇到一个典型难题:同一组用户特征在逻辑回归模型上AUC达到0.82,但在随机森林中却…

2026/7/7 7:13:18阅读更多 →
全球 AI 市场格局定型、物理世界模型商用、国产 AI 立法提速;3.2T 光 / 低轨卫星 / 5G-A 构筑新一代算力通信底座

全球 AI 市场格局定型、物理世界模型商用、国产 AI 立法提速;3.2T 光 / 低轨卫星 / 5G-A 构筑新一代算力通信底座

标签:AI 市场格局、Cosmos3、AI 综合性立法、3.2T 光模块、低轨卫星星载 AI、5G-A、算力网络、具身智能 阅读时长:11 分钟前言2026 年年中 AI 产业、通信基础设施同步迎来六大标志性里程碑事件:全球生成式 AI 市场三分天下格局彻底固化&#…

2026/7/7 7:13:18阅读更多 →
5分钟掌握Real-ESRGAN:高效实现专业级图像超分辨率

5分钟掌握Real-ESRGAN:高效实现专业级图像超分辨率

5分钟掌握Real-ESRGAN:高效实现专业级图像超分辨率 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN Real-ESRGAN是一款…

2026/7/7 7:13:18阅读更多 →
Three.js 火球效果教程

Three.js 火球效果教程

火球效果 Fireball ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自定义着…

2026/7/7 7:13:18阅读更多 →
SDD vs Vibe Coding:AI 编程时代的“自由派“与“规范派“,如何兼得?

SDD vs Vibe Coding:AI 编程时代的“自由派“与“规范派“,如何兼得?

一、两种范式的碰撞2025年,AI编程工具全面爆发。Cursor、Claude Code、GitHub Copilot、Windsurf……开发者们从未如此"高产"——一个曾经需要两周的登录模块,现在两小时就能跑起来。但与此同时,另一种声音也开始出现:&…

2026/7/7 7:08:18阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/7 4:43:43阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/7 2:56:31阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/7 1:03:28阅读更多 →
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践

1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8…

2026/7/7 0:02:41阅读更多 →
国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot)

国产化信创改造:达梦/人大金仓适配与多数据库兼容方案实战(SpringBoot) 🌐 演示地址:http://ruoyioffice.com | 📦 源码1GitHub:ruoyi-office | 📦 源码2GitCode:ruoyi-o…

2026/7/7 0:02:41阅读更多 →
CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS 7/8 SSH 连接失败:5步系统性排错流程与决策树

CentOS SSH连接故障排查:从基础检查到深度修复的完整指南引言当你尝试通过Xshell或其他SSH客户端连接CentOS服务器时,突然遭遇"Connection refused"或"Connection timed out"的错误提示,这种经历对任何运维人员或开发者来…

2026/7/7 0:02:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/7 5:11:21阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/7 5:11:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/7 5:11:21阅读更多 →