流程管理MCP服务

一个为Nintex流程管理器提供标准化接口的MCP服务器,支持AI应用和聊天机器人交互流程数据,实现搜索、查看和分析流程等功能。

  • by WorkingJB
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 WorkingJB/Process-Manager-MCP

使用说明

进程管理器MCP服务器

Nintex Process Manager的模型上下文协议(MCP)服务器的Alpha版本。此服务器使AI应用程序和聊天机器人能够通过标准化的界面与Process Manager数据进行交互。

特性

第1阶段(当前)

  • 搜索过程:跨流程标题、活动、任务、目标等进行搜索
  • 搜索文档:在Process Manager实例中查找文档
  • 搜索所有内容:对所有实体类型(流程、文档、策略、组)进行全面搜索
  • 获取流程详细信息:检索完整的流程信息,包括活动、任务和元数据
  • 用户查找:通过SCIM API查找用户信息
  • 工艺流程图:使用嵌入式iframe显示交互式流程图(Minimode)
  • 组层次结构:检索流程组的组织结构
  • 列出流程:获取所有进程的分页列表
  • 人工智能流程审查:分析自动化机会的流程(API集成、RPA机器人、人工智能代理)

第二阶段(计划中)

  • 更新流程内容
  • 创建新流程
  • 提交流程以供审批
  • 审查流程
  • 发布流程

安装

先决条件

  • Node.js 18.0.0或更高版本(https://nodejs.org/en/download)
  • 具有以下功能的Process Manager帐户:
    • 用户名和密码
    • 站点名称
    • 区域终点
    • (可选)用于用户查找的SCIM API密钥

安装先决条件

  • Git(https://git-scm.com/install)

从源代码安装

git clone https://github.com/WorkingJB/Process-Manager-MCP.git
cd Process-Manager-MCP
npm install
npm run build

配置

MCP服务器通过环境变量配置:

所需的环境变量

  • PM_REGION:您的流程管理器区域(demo, us, ca, eu, au,或 ae)
  • PM_SITE_NAME:您的网站名称(区域URL后的部分,例如。, promapp)
  • PM_USERNAME:您的Process Manager用户名(电子邮件)
  • PM_PASSWORD:您的Process Manager密码

可选环境变量

  • PM_SCIM_API_KEY:用于用户查找的SCIM API密钥(对于 lookup_user 工具)

配置示例

对于Claude Desktop(MacOS):

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "process-manager": {
      "command": "node",
      "args": ["/path/to/Process-Manager-MCP/dist/index.js"],
      "env": {
        "PM_REGION": "au",
        "PM_SITE_NAME": "promapp",
        "PM_USERNAME": "your.email@example.com",
        "PM_PASSWORD": "your-password",
        "PM_SCIM_API_KEY": "your-scim-api-key"
      }
    }
  }
}

对于Claude Desktop(Windows):

编辑 %APPDATA%\Claude\claude_desktop_config.json 格式与上述相同。

对于其他MCP客户端:

有关使用环境变量配置MCP服务器的信息,请参阅客户的文档。

企业人工智能平台的自托管

Process Manager MCP服务器可以自托管,并与Microsoft Copilot Studio和Salesforce Agentforce等企业AI平台集成。自托管允许您在自己的基础设施上部署服务器,同时维护企业安全和治理控制。

自助主机要求

要自行托管此MCP服务器以进行企业集成,您需要:

  1. 服务器基础设施

    • Node.js 18.0.0或更高版本的运行时环境
    • 能够处理HTTP/HTTPS请求的Web服务器
    • 公共HTTPS端点(企业平台需要)
  2. 传输协议

    • 服务器必须支持 HTTP与服务器发送事件(SSE) 运输
    • MCP定义了两种传输机制:
      • 标准:通过标准输入/输出进行本地通信(由Claude Desktop使用)
      • HTTP+SSE:用于远程部署的基于网络的传输(Copilot Studio和Agent平台需要)
  3. 安全要求

    • 所有网络流量的HTTPS/TLS加密
    • 源标头验证以防止DNS重新绑定攻击
    • Process Manager凭据的安全存储(环境变量或秘密管理服务)

与Microsoft Copilot Studio集成

Microsoft Copilot Studio支持MCP集成,允许您将自托管的Process Manager MCP服务器连接到Copilot代理。

先决条件:

  • Azure订阅(用于部署)
  • Microsoft Copilot Studio帐户
  • 使用Azure Developer CLI的Visual Studio代码(可选,用于自动部署)

部署步骤:

  1. 准备您的服务器

    # Build the MCP server
    npm install
    npm run build
    
  2. 部署到托管平台

    选择以下选项之一:

    • Azure容器实例/AAzure应用服务:将服务器部署为容器化应用程序
    • 开发隧道的地方发展:为了测试,使用VS Code的开发隧道来公开localhost
      # Start the server locally
      npm run start
      # Forward port 3000 through VS Code dev tunnels
      # This creates a public URL like: https://something-3000.devtunnels.ms
      
    • 其他云提供商:AWS、Google Cloud或任何支持Node.js应用程序的平台
  3. 配置环境变量

    将所需的Process Manager凭据设置为宿主平台中的环境变量:

    PM_REGION=your-region
    PM_SITE_NAME=your-site
    PM_USERNAME=your-username
    PM_PASSWORD=your-password
    PM_SCIM_API_KEY=your-scim-key (optional)
    
  4. 在Copilot Studio注册

    • 打开Microsoft Copilot Studio
    • 导航到您的代理设置
    • 选择“添加工具”→ “模型上下文协议”
    • 导入MCP连接器(使用“MCP Streamable HTTP”连接器类型)
    • 输入服务器的HTTPS基本URL作为主机
    • 如果需要,配置身份验证(API密钥、OAuth等)
  5. 测试连接

    • Copilot Studio将自动检测MCP服务器上的可用工具
    • 每个工具(search_processs、get_process等)都将显示为一个操作
    • 服务器更改时,工具会自动更新

重要提示:

  • 必须在Copilot Studio中启用生成编排才能使用MCP
  • 工具和资源从服务器动态同步
  • 企业治理控制(DLP、虚拟网络)通过Copilot Studio实施

资源:

与Salesforce代理平台集成

Salesforce代理平台包括本机MCP客户端支持(截至2025年7月在Pilot中可用),可实现与自托管MCP服务器的无缝连接。

先决条件:

  • 具有代理访问权限的Salesforce帐户
  • Heroku帐户(推荐)或其他托管平台
  • MCP服务器已构建并准备部署

部署步骤:

  1. 构建您的MCP服务器

    npm install
    npm run build
    
  2. 部署到托管平台

    推荐:Heroku与AppLink

    • Heroku为MCP服务器提供内置DevOps的托管基础设施
    • Heroku AppLink连接到具有按需扩展功能的代理平台
    • 使用Procfile部署为Node.js应用程序

    替代主机:

    • 任何支持Node.js的云平台(AWS、Google cloud、Azure)
    • 确保HTTPS端点可公开访问
    • 为Process Manager凭据配置环境变量
  3. 配置环境变量

    在您的托管平台中设置所需的凭据:

    PM_REGION=your-region
    PM_SITE_NAME=your-site
    PM_USERNAME=your-username
    PM_PASSWORD=your-password
    PM_SCIM_API_KEY=your-scim-key (optional)
    
  4. 在代理机构注册

    • 访问Agentforce管理控制台
    • 导航到MCP服务器注册表(企业级策略执行)
    • 注册服务器的HTTPS端点
    • 配置身份验证和安全策略
    • 授权管理员可以通过中央注册表执行企业级策略
  5. 连接到您的代理

    • Agentforce的原生MCP客户端无需自定义代码即可连接到您的服务器
    • 可用工具会自动出现在Agentforce界面中
    • 配置您的代理可以通过企业治理控制访问哪些工具

重要提示:

  • Agentforce为企业级MCP服务器注册表提供安全策略实施
  • 原生MCP客户端支持消除了对自定义集成代码的需求
  • 通过AgentExchange,您可以访问来自30多个合作伙伴的其他MCP服务器
  • 通用连接器使Agentforce能够访问外部数据源和工具

资源:

一般自助托管最佳实践

当为任何企业平台自托管MCP服务器时:

  1. 安全

    • 始终使用HTTPS/TLS进行生产部署
    • 将凭据存储在安全的密钥管理服务中(Azure密钥库、AWS密钥管理器等)
    • 实施速率限制和请求验证
    • 使用具有最低所需权限的服务帐户
  2. 监控和日志记录

    • 启用应用程序日志记录以进行调试和审计跟踪
    • 监控服务器运行状况和性能指标
    • 设置身份验证失败或服务中断的警报
  3. 可扩展性

    • 考虑高流量场景的负载平衡
    • 使用具有自动扩展功能的托管托管平台
    • 缓存身份验证令牌以减少对Process Manager的API调用
  4. 维护

    • 使用最新的安全补丁更新MCP服务器
    • 在生产部署之前在临时环境中测试更新
    • 记录团队成员的部署配置

其他资源:

可用工具

1. search_processes

在Process Manager中搜索流程。

参数:

  • query (必填):搜索查询
  • searchFields (可选):要搜索的字段数组(all, title, activity, task, notes, objectives, background, keywords)
  • matchType (可选):匹配类型(any, all, exact)
  • pageNumber (可选):分页页码(默认值:1)

例子:

Search for processes related to "onboarding"

2. search_documents

在Process Manager中搜索文档。

参数:

  • query (必填):搜索查询
  • matchType (可选):匹配类型(any, all, exact)
  • pageNumber (可选):分页页码(默认值:1)

例子:

Search for documents about "policy"

3. search_all

跨所有内容类型(流程、文档、策略、组)进行搜索。

参数:

  • query (必填):搜索查询
  • matchType (可选):匹配类型(any, all, exact)
  • pageNumber (可选):分页页码(默认值:1)

例子:

Search for anything related to "compliance"

4. get_process

获取特定流程的详细信息。

参数:

  • processId (必填):进程的唯一ID(UUID格式)

例子:

Get details for process "00b2107e-e3f5-4921-990a-508b1347cba6"

5. lookup_user

通过电子邮件地址查找用户。

参数:

  • email (必填):用户的电子邮件地址

例子:

Look up user "john.doe@example.com"

注: 需要 PM_SCIM_API_KEY 待配置。

6. get_group_hierarchy

获取流程组的完整组织结构。递归地构建一棵树,显示所有组、子组以及其中的流程。

参数:

  • maxDepth (可选):要遍历的最大深度(默认值:无限制)。1仅用于顶级,2用于顶级+直接子级,以此类推。
  • includeProcesses (可选):是否在层次结构中包含流程列表(默认值:true)

例子:

Show me the organizational structure of all process groups

退货: 用于AI代理消费的格式化文本和结构化JSON数据。

7. list_processes

获取Process Manager实例中所有进程的分页列表。返回流程元数据,包括名称、状态、所有者、专家和组关联。

参数:

  • page (可选):要检索的页码(默认值:1)
  • pageSize (可选):每页进程数(默认值:20,最大值:100)

例子:

List all processes

退货: 用于AI代理消费的格式化文本和结构化JSON数据。

8. get_process_diagram

获取特定流程的交互式流程图(流程图)。返回一个嵌入式iframe,显示Minimode中的可视化流程图。该图以交互式格式显示了包含活动、决策点和连接的完整流程。

参数:

  • processId (必填):进程的唯一ID(UUID格式)

例子:

Get the process diagram for process "d93f4301-83a3-4970-996e-223c2e08b168"

退货: 带有交互式流程图和结构化JSON数据的嵌入式iframe。该图是使用Claude Desktop对MCP工具的iframe支持呈现的,提供了流程的可视化表示。

注: 此工具生成一个Minimode永久链接URL,并将其嵌入一个iframe中,该iframe可以在支持HTML内容的MCP客户端(如Claude Desktop)中显示。

9. review_process_for_automation

分析流程以识别自动化机会。审查每个活动和任务,以建议可以应用自动化的地方,包括API集成、RPA机器人、专用人工智能代理或工作流自动化。

参数:

  • processId (必填):要分析的进程的唯一ID(UUID格式)
  • includeAgentDesign (可选):是否包括对专用AI代理的建议(默认值:true)

例子:

Analyze process "d93f4301-83a3-4970-996e-223c2e08b168" for automation opportunities

退货: 全面的自动化分析包括:

  • 摘要:分析的总步骤、自动化候选者、整体自动化潜力(低/中/高)
  • 机会:逐步分析自动化类型、置信水平和基本原理
  • 建议:实施自动化的优先行动
  • 代理设计建议:具有特定能力和集成要求的拟议人工智能代理

检测到的自动化类型:

类型 描述
api_integration 可以通过API连接系统的步骤
rpa_bot 适用于RPA的基于UI的重复任务
dedicated_agent 可以从AI代理中受益的复杂步骤
workflow_automation 流程编排和交接
document_processing 文档生成、提取和处理
data_entry 可以自动化的手动数据输入
notification 可自动触发的警报和通信
approval_workflow 可以数字化的签收流程

注: 此工具遵循MCP上下文窗口管理的最佳实践,自动截断大输出以防止上下文溢出。

用法示例

在MCP客户端(例如Claude Desktop)中配置后,您可以提出以下问题:

  • “你能告诉我我们的入职流程吗?”
  • “搜索与客户支持相关的流程”
  • “查找有关安全策略的文档”
  • “显示流程00b2107e-e3f5-4921-990a-508b1347cba6的详细信息”
  • “显示入职流程的流程图”
  • “您能显示流程d93f4301-83a3-4970-996e-223c2e08b168的流程图吗?”
  • “查找用户jane.smith@example.com"
  • “我最近参与了哪些流程的更新?”(使用带过滤器的搜索)
  • “显示所有流程组的组织结构”
  • “列出系统中的所有进程”
  • “财务部门有哪些流程?”
  • “分析自动化机会的入职流程”
  • “我们发票处理工作流程的哪些部分可以通过RPA实现自动化?”
  • “审查客户支持流程,并建议我们在哪里可以使用人工智能代理”
  • “采购流程中的哪些步骤是API集成的最佳候选步骤?”

区域终点

服务器支持所有Process Manager区域终结点:

区域 网站URL库 搜索API库
演示 https://demo.promapp.com https://dmo-wus-sch.promapp.io
我们 https://us.promapp.com https://prd-wus-sch.promapp.io
ca https://ca.promapp.com https://prd-cac-sch.promapp.io
欧盟 https://eu.promapp.com https://prd-neu-sch.promapp.io
au https://au.promapp.com https://prd-aus-sch.promapp.io
ae https://ae.promapp.com https://prd-ane-sch.promapp.io

认证

服务器实现了多层身份验证系统:

  1. 站点身份验证:OAuth2密码授予,用于获取API访问的JWT承载令牌
  2. 搜索身份验证:使用站点令牌获取专用搜索API令牌
  3. SCIM身份验证:用于用户查找操作的单独API键

所有令牌都会根据需要自动缓存和刷新。

SSO身份验证要求

如果您的Process Manager站点使用SSO(单点登录)身份验证,则用户名和密码凭据 必须 来自非SSO服务帐户,因为SSO用户无法通过OAuth2密码授权流进行身份验证。

要为启用SSO的站点设置凭据,请执行以下操作:

  1. 选项1:创建服务帐户

    • 在Process Manager中创建专用服务帐户
    • 配置具有适当读取权限的帐户
    • 在MCP配置中使用服务帐户的用户名和密码
  2. 选项2:配置具有基本身份验证的用户

    • 将站点的安全SSO设置临时设置为“可选”(管理>设置>安全)
    • 通过应用程序身份验证系统重置所需用户的密码
    • 重新启用“必需”SSO模式
    • 即使重新启用SSO,用户名和密码仍将继续与MCP服务器一起使用

重要提示: 无论SSO设置如何,具有基本身份验证凭据的服务帐户或用户都可以通过API进行身份验证,从而使MCP服务器能够正常运行,同时为常规用户维护站点的SSO安全。

安全考虑

凭证

  • 从不提交凭据 到版本控制
  • 安全地存储凭据(使用环境变量或安全凭据管理器)
  • 定期轮换密码和API密钥

用户权限

  • 服务器尊重经过身份验证的帐户的用户权限
  • 根据经过身份验证的用户的权限过滤搜索结果和流程访问权限
  • 考虑创建一个具有适当只读权限的专用服务帐户

SCIM API密钥

  • SCIM API密钥提供对 所有用户数据 在你的租户
  • 只有在绝对必要时才配置SCIM API密钥
  • 如果可能的话,考虑针对用户特定查询的替代方法

发展

建筑

npm run build

开发模式(注意变化)

npm run dev

项目结构

Process-Manager-MCP/
├── src/
│   ├── index.ts      # Main MCP server and tool handlers
│   ├── auth.ts       # Authentication manager
│   └── config.ts     # Configuration and type definitions
├── dist/             # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

API文档示例

示例API请求和响应包含在存储库中:

  • ExampleSiteAuthRequest -站点身份验证
  • ExampleSearchAuthRequest -搜索身份验证
  • ExampleSearchRequest -流程/文档搜索
  • ExampleGetProcessRequest -获取流程详细信息
  • ExampleGetUserRequest -SCIM用户查找

故障排除

“站点身份验证失败”

  • 验证您的 PM_USERNAME 和 PM_PASSWORD 是正确的
  • 确保您的 PM_REGION 和 PM_SITE_NAME 匹配您的Process Manager URL
  • 检查您的帐户是否已启用API访问

“搜索身份验证失败”

  • 这通常表示站点身份验证令牌存在问题
  • 尝试重新启动MCP服务器以刷新令牌

“未配置SCIM API密钥”

  • 这 lookup_user 工具需要SCIM API密钥
  • 从Process Manager站点设置生成SCIM API密钥
  • 设置 PM_SCIM_API_KEY 环境变量

“未找到结果”

  • 验证您是否有权查看正在搜索的内容
  • 尝试扩大搜索范围
  • 检查 matchType 参数(使用 any 更广泛的比赛)

贡献

欢迎投稿!这是一个非官方的社区项目。

待办

  • []添加用于公开进程列表、收藏夹等的资源。
  • []添加常见Process Manager任务的提示
  • []实施第2阶段功能(创建、更新、批准、发布流程)
  • []添加对流程变体的支持
  • []添加对风险和合规数据的支持
  • []改进错误处理和验证
  • []添加单元测试
  • []添加集成测试

许可证

麻省理工学院

免责声明

这是一个 非官方的 Nintex Process Manager的MCP服务器。它不隶属于Nintex,也不由其正式维护或认可。

使用风险自负。始终确保您拥有通过API访问Process Manager数据的适当授权。

支持

对于问题、疑问或功能请求,请在GitHub上打开问题: https://github.com/WorkingJB/Process-Manager-MCP/issues