关于 Workflows MCP v0.1.0
Workflows MCP v0.1.0 是 Mcpn 同一项目的版本,用于将提示词与多个 MCP 服务组合成复合工具。通过 YAML 配置进行定义、共享和版本管理。
主要功能
- 01通过 YAML 配置文件定义工作流
- 02支持顺序或按情境调用工具
- 03支持带类型的参数输入
- 04内置思考、编码和 GitHub 预设
适用场景
- 01为团队共享和版本管理调试或评审提示词
- 02将日志、Issue 与代码分析等多个工具串联为事件处理流程
- 03用预设快速完成 PR 评审或分支创建
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
<img align="center" alt="mcpn Banner Main" src="./public/banner.png" width="560">
mcpn.ai 助你创建、整理和分享 AI 工作流与提示词。
它就像一个动态提示词库,让你可以在 MCP 工具和服务之间分享并管理特定任务的版本。
用法
基本示例
|
|
工作流 MCP(mcpn)是软件开发的构建块,它将多个 MCP 服务和提示词编排在一起。
你可以把它看作一个动态提示词库,通过 yaml 文件轻松分享并进行版本控制;你还可以借此定义如何在多个 MCP 服务中使用各种 MCP 工具来完成特定任务。
安装
使用以下命令或 JSON,将 MCP 服务安装到 MCP 客户端中:
npx -y mcpn@latest init
如果要在 Cursor 中使用 JSON 配置 MCP 服务,可以采用以下配置:
{
"mcpServers": {
"workflows-mcp": {
"command": "npx",
"args": ["-y", "mcpn@latest server"]
}
}
}
文档
示例
……待定
许可证
……待定
链接
……待定
========================================================================
以下内容为文档部分
概述
有效使用 MCP 的关键在于了解何时以及如何使用合适的工具。工作流 MCP 能让这一过程变得轻松得多、快速得多。借助工作流 MCP,你可以:
✅ 将提示词与 MCP 服务组合起来,创建可复用且易于编辑、分享和整理的工作流
✅ 使用自定义命令触发工作流,例如:“进入调试模式”或“使用思考模式”
✅ 为工作流中如何使用多种工具定义自定义策略(顺序执行或按情境动态执行)
✅ 借助版本控制,轻松帮助团队掌握最佳提示词,以及使用各种 MCP 工具的方法。
我们还提供了许多实用预设,助你快速上手 🫡
那么,为什么要使用它?
该项目旨在将提示词转化为代码编辑器中 AI 可编程的工具和规则,让其行为更具确定性,同时减少所有请求的整体令牌用量。由于将一整套全局规则塞给 AI 可能会占用大量上下文窗口,使用 MCP 将请求路由到提示词和工作流,有助于减少所有请求的整体令牌用量。
MCP 工作流也非常强大!例如,你可以创建一个**“生产环境事故工作流”**工具,其中包含一条特殊的系统提示词,用特定方式分析事故,然后按特定顺序使用一系列工具来分析并可能解决事故。具体可能包括:
- 使用 Kubernetes、Cloudwatch、Splunk 等的多个 MCP 工具收集日志
- 检查 Github 问题或向量数据库,查找过去的类似问题
- 在网上搜索有用信息
- 利用前面步骤收集的所有上下文分析你的代码
- 利用前面步骤收集的所有上下文撰写详细的事故报告
- 向你收集信息,以便更好地了解问题领域
- 如果可能,为问题实施修复
由于这些工作流都定义在 YAML 中,且可以从你计算机上的任何位置引用,因此你可以轻松地让团队围绕特定任务统一使用最佳提示词和 MCP 工具序列 🦾
功能
📝 自定义配置
- 从
.workflows或.mcp-workflows目录中的多个 YAML 文件加载自定义配置 - 轻松将这些 YAML 文件保存到 Git 仓库并与团队共享
- 由于 MCP 服务可以为每个项目使用自定义配置,你可以轻松选择每个项目要使用的配置——为每个项目设置自定义工作流文件夹
- 工具配置支持类型化参数输入,让构建自定义 MCP 提示词工具变得轻而易举
🚀 开箱即用的预设
Workflows MCP 开箱即提供多种预设工作流模式,适用于思考、编码和 GitHub 场景:
思考:用于提升各类任务推理能力的通用工具
- 思考模式:反思思路并生成结构化分析(灵感来自 Anthropic 关于思考工具的最新研究)
- 深度思考模式:全面的多视角分析,并进行详细反思
编码:适用于常见编码任务的通用工具 适用于常见编码任务的通用工具
- 调试模式:系统化的多步推理和调试,包括提出假设、收集遥测数据和测试
- 架构模式:系统设计提示词,包含权衡分析和实施规划
- 规划模式:通过分析代码库,系统地规划代码变更
- PRD 模式:为功能、用户故事和探索性分析编写结构化的产品需求文档
- 保存笔记:记录正在进行的工作并全面跟踪进度。适合需要暂时离开,又想保存思路以便稍后继续的情况。
GitHub:用于简化常见 GitHub 任务的工具。非常适合刚开始使用 Git 和 Github CLI 进行源代码管理的人
- PR 审查模式:全面分析拉取请求,并考虑安全因素
- PR 创建模式:使用 GitHub CLI 按结构化流程创建 PR
- 创建分支:根据上下文智能创建并命名分支
- 保存变更:系统化的 Git 提交和推送工作流
安装
使用以下命令或 JSON 将 MCP 服务安装到 MCP 客户端中:
npx -y mcpn@latest init
如果在 Cursor 中使用 JSON 设置 MCP 服务,可以使用以下配置:
{
"mcpServers": {
"workflows-mcp": {
"command": "npx",
"args": ["-y", "mcpn@latest server"]
}
}
}
要提供自定义配置,可以使用 --config 标志指向包含 YAML 配置文件的目录。该目录必须命名为 .workflows 或 .mcp-workflows,如下所示:
npx mcpn@latest server --config /path/to/.workflows
要启用预设,可以使用 --preset 标志指定要加载的预设:
npx mcpn@latest server --preset thinking,coding,github
以下是在 Cursor 配置中合并所有设置后的示例:
{
"mcpServers": {
"workflows-mcp": {
"command": "npx",
"args": [
"mcpn@latest server",
"--config",
"/path/to/.workflows",
"--preset",
"thinking,coding"
]
}
}
}
注意:
- 如果更新了配置,必须刷新 MCP 工具
- 如果刷新无效,请确保配置是有效的 YAML
- 如果仍有问题,请尝试在客户端中移除并重命名 MCP 工具
- 如果未提供配置或预设,则默认使用
thinking预设。 - 如果仍然无法正常使用,请提交问题工单
自定义工作流配置
在项目中创建 .workflows 或 .mcp-workflows 目录,并添加任意名称的 YAML 配置文件(文件名必须以 .yaml 或 .yml 结尾)。如果配置文件名与某个预设工具相同,这些配置也会覆盖预设默认值。
配置文件示例
基本工作流配置
workflow_name:
description: "Description of what this workflow does"
prompt: |
Enter your multi-line
prompt here like this
toolMode: "situational" # can be omitted as it's the default
tools: "analyzeLogs, generateReport, validateFindings"
工具配置样式
可以通过多种方式定义工具。
以下示例展示了一个用于调试代码库问题的工具,工具会根据具体情况按需使用:
web_debugger_mode:
description: Debug my codebase my web application with browser logs and BrowserTools MCP
prompt: |
Deeply reflect upon all of this and think about why this isn't working. Theorize 4-6 different possible sources of the problem.
Then, deeply reason about the root cause and distill your theories down to the 1-2 most probable sources of the problem before suggesting next steps.
tools: getConsoleLogs, getConsoleErrors, getNetworkLogs, getNetworkErrors, takeScreenshot
这将返回以下 MCP 响应:
Deeply reflect upon all of this and think about why this isn't working. Theorize 4-6 different possible sources of the problem.
## Available Tools
Use these tools as needed to complete the user's request:
- getConsoleLogs
- getConsoleErrors
- getNetworkLogs
- getNetworkErrors
- takeScreenshot
After using each tool, return a 'Next Steps' section with a list of the next steps to take / remaining tools to invoke along with each tool's prompt/description and 'optional' flag if present.
参数注入
一项强大的功能是能够使用 {{ parameter_name }} 语法将参数注入提示词:
custom_mode:
description: "Workflow with parameter injection"
parameters:
thought:
type: "string"
description: "A thought to deeply reflect upon"
required: true
idea:
type: "string"
description: "An additional idea to consider"
prompt: |
Deeply reflect upon the provided thought.
Here's the thought: {{ thought }}
Additional idea to consider: {{ idea }}
Reflect upon the implications/tradeoffs it may have as it relates to my current goals.
系统会根据类型定义自动验证参数,并在运行时将其注入提示词。
顺序工具配置
在顺序模式下,工具会按特定顺序执行:
web_debugger_mode:
description: Debug my codebase my web application with browser logs and BrowserTools MCP
prompt: |
Deeply reflect upon all of this and think about why this isn't working. Theorize 4-6 different possible sources of the problem.
toolMode: sequential
tools: getConsoleLogs, getConsoleErrors, getNetworkLogs, getNetworkErrors, takeScreenshot
这将返回以下 MCP 响应:
Deeply reflect upon all of this and think about why this isn't working. Theorize 4-6 different possible sources of the problem.
## Available Tools
If all required user input/feedback is acquired or if no input/feedback is needed, execute this exact sequence of tools to complete this task:
1. getConsoleLogs
2. getConsoleErrors
3. getNetworkLogs
4. getNetworkErrors
5. takeScreenshot
After using each tool, return a 'Next Steps' section with a list of the next steps to take / remaining tools to invoke along with each tool's prompt/description and 'optional' flag if present.
高级工具配置
支持为每个工具定义提示词,并可选择使用一个标志来指示该工具在序列中是否为可选项:
deep_thinking_mode:
description: Reflect on a thought and produce a reflection/new set of thoughts
parameters:
thought:
type: string
description: A thought to deeply reflect upon
required: true
prompt: |
Deeply reflect upon the provided thought.
Reflect upon the implications/tradeoffs it may have as it relates to my current goals, challenges and our conversation.
Do not change anything in our system, just return some thoughts/considerations/analysis based on your reflection of the provided thought.
toolMode: "sequential"
tools:
analyze_thought: analyze a previously generated thought
explore_perspectives: think about additional perspectives given the analysis
apply_findings:
propmt: implement the findings of the analysis
optional: true
配置结构
每个 YAML 文件都应包含工具名称及其配置的映射。配置可以从两个来源加载:
- 内部预设(位于
presets目录中) - 用户自定义配置(位于
.workflows或.mcp-workflows目录中)
基本工具配置
对于每个工具,可以指定:
name:注册工具的可选名称覆盖值(默认使用配置键)description:对工作流/工具功能的描述prompt:自定义提示词(如果工作流名称也是启用的预设,则会完全替换默认提示词)context:要附加到提示词的额外上下文(不会替换预设的默认提示词)tools:此模式下可用工具的数组或对象,支持灵活的定义方式toolMode:工具执行模式,可选 "sequential" 或 "situational"(默认为 "situational")parameters:作为工具输入的参数映射对象,支持使用 {{ parameter_name }} 进行模板注入disabled:用于禁用工具的布尔值
输入参数配置
工具可以接受 MCP 客户端 / Agent 提供的带类型参数,以增强提示词 / 工作流的推理能力。这些输入会自动转换为 Zod 架构,用于验证并确保类型安全。每个参数都由以下属性定义:
| 属性 | 说明 | 必填 |
|---|---|---|
type | 数据类型:"string"、"number"、"boolean"、"array"、"object" 或 "enum" | 是 |
description | 对参数的易读说明 | 否 |
required | 参数是否必填 | 否(默认为 false) |
default | 未提供参数时使用的默认值 | 否 |
enum | 有效值数组(仅 enum 类型必需) | 是(仅 enum 类型) |
items | 对于数组类型,定义数组中各项的类型 | 否 |
properties | 对于对象类型,定义对象的属性 | 否 |
输入参数类型示例
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。