Token导航 LogoToken导航TokenDH.com
Vscode MCP Acs Process logo
AI代理stdio官方级别未说明来源级核验

Vscode MCP Acs Process

MCP Server

@ai-capabilities-suite/mcp-process

MCP ACS Process Manager for VS Code 是一个专为AI代理设计的进程管理扩展,提供进程启动、监控、终止及安全边界控制功能,适用于开发环境中的进程管理需求。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
进程管理安全控制TypeScriptClaudeClaude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Digital-Defiance

提供方

Digital-Defiance

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @ai-capabilities-suite/mcp-process

详细介绍

MCP ACS VS代码流程管理器

具有MCP集成和安全边界的AI代理的流程管理。通过全面的安全实施,直接从VS Code启动、监控和控制流程。

🔗 仓库

此套餐是 AI功能套件 在GitHub上。

特性

🚀 进程管理

  • 启动流程:使用自定义参数和环境变量启动进程
  • 监控资源:实时CPU、内存和I/O监控
  • 终止进程:优雅(SIGTERM)或强制(SIGKILL)终止
  • 进程列表:在树视图中查看所有正在运行的进程
  • 进程统计:webview中的详细资源使用统计信息

🔍 语言服务器协议(LSP)集成

17个增强开发的LSP功能:

  • 增强型编码镜头:7种内联操作(启动、终止、发送、获取输出、启动服务、监视)
  • 语义令牌:流程函数、变量和属性的语法突出显示
  • 内联提示:参数名称和类型提示(%,MB单位)
  • 签名帮助:带有参数文档的函数签名
  • 重命名支持:过程变量的安全重构
  • 调用层次结构:导航流程调用链
  • 悬停信息:流程相关代码的上下文帮助
  • 诊断:实时安全警告和最佳实践
  • 代码补全:流程配置的智能建议
  • 代码操作:快速修复和重构建议
  • 定义提供者:转到流程定义
  • 文件符号:流程概览
  • 11自定义命令:AI代理可以完全访问MCP工具

🛡️ 安全边界

  • 可执行许可列表:只能启动预先批准的可执行文件
  • 资源限制:强制执行CPU、内存和时间限制
  • 安全仪表版:在树状图中查看所有安全边界
  • 审计日志:完整的操作跟踪
  • 多层验证:6层安全检查

📊 可视化界面

  • 流程树视图:一目了然地查看所有正在运行的进程
  • 安全树视图:了解安全边界
  • 统计网络视图:精美的图表和指标
  • 实时更新:自动刷新进程列表

🤖 人工智能集成

  • MCP协议:与Kiro、Claude Desktop等人工智能代理合作
  • GitHub复制品就绪:副驾驶可以通过LSP管理流程
  • 代码镜头集成:AI代理看到内联流程管理操作
  • 诊断集成:AI代理看到安全警告和建议
  • 上下文提供程序:AI代理可以完全了解正在运行的流程
  • 缺省巩固安全:AI代理无法绕过安全

安装

来自VS代码市场

  1. 打开VS代码
  2. 转到扩展(Ctrl+Shift+X/Cmd+Shift+X)
  3. 搜索“MCP ACS过程管理器”
  4. 单击安装

安装MCP ACS进程服务器

该扩展需要MCP进程服务器。全局安装:

npm install -g @ai-capabilities-suite/mcp-process

或者使用Docker:

docker pull digitaldefiance/mcp-process:latest

从VSIX文件

code --install-extension mcp-process-manager-1.0.0.vsix

快速开始

1.配置服务器

创建配置文件 mcp-process-config.json:

{
  "allowedExecutables": ["node", "python3", "npm", "git"],
  "defaultResourceLimits": {
    "maxCpuPercent": 80,
    "maxMemoryMB": 1024,
    "maxCpuTime": 300
  },
  "maxConcurrentProcesses": 10,
  "maxProcessLifetime": 3600,
  "enableAuditLog": true,
  "blockShellInterpreters": true,
  "blockSetuidExecutables": true
}

2.配置VS代码设置

打开VS代码设置(Ctrl+、/Cmd+、)并设置:

{
  "mcp-process.configPath": "/path/to/mcp-process-config.json",
  "mcp-process.autoStart": true,
  "mcp-process.refreshInterval": 2000,
  "mcp-process.showResourceUsage": true
}

3.打开流程管理器

  1. 单击活动栏(左侧边栏)中的MCP ACS Process Manager图标
  2. 在“运行进程”面板中查看正在运行的进程
  3. 在“安全边界”面板中查看安全边界

4.启动流程

选项A:使用命令选项板

  1. Ctrl+Shift+P (Mac上的Cmd+Shift+P)
  2. 类型“MCP ACS流程:启动流程”
  3. 输入可执行文件名(例如“节点”)
  4. 输入参数(例如,“--version”)

选项B:使用树视图

  1. 单击“正在运行的进程”面板标题中的播放图标
  2. 按照提示操作

使用示例

示例1:运行Node.js脚本

  1. 打开命令面板(Ctrl+Shift+P)
  2. 选择“MCP ACS流程:启动流程”
  3. 输入可执行文件: node
  4. 输入参数: script.js arg1 arg2
  5. 在树状图中查看流程
  6. 点击图表图标查看统计数据

示例2:监控资源使用情况

  1. 启动一个流程(见示例1)
  2. 单击流程旁边的图形图标
  3. 查看实时CPU、内存和I/O统计信息
  4. 注意违反资源限制

示例3:终止进程

  1. 在树状图中查找流程
  2. 单击进程旁边的停止图标
  3. 选择“优雅(SIGTERM)”或“强制(SIGKILL)”
  4. 进程将终止

示例4:查看安全边界

  1. 打开“安全边界”面板
  2. 展开“允许的可执行文件”查看可以启动的内容
  3. 展开“资源限制”以查看限制
  4. 展开“安全功能”以查看保护措施

示例5:配置允许列表

  1. 打开命令面板(Ctrl+Shift+P)
  2. 选择“MCP ACS进程:配置可执行允许列表”
  3. 编辑配置文件
  4. 保存并重新启动服务器

配置

MCP ACS Process Manager通过VS Code的原生设置UI提供全面的配置。所有50多个设置都分为9个逻辑类别,便于发现和管理。

快速配置

推荐方法: 使用VS代码设置UI(Ctrl+、/Cmd+、)并搜索“mcp进程”以直观地配置所有设置。

备选方案: 编辑 settings.json 直接用于高级配置。

配置类别

1.服务器设置(mcp-process.server.*)

控制服务器连接和启动行为。

设置类型默认值描述
serverPathstring“”服务器可执行文件的路径(空=捆绑)
useConfigFilebooleanfalse使用外部配置文件(仅限高级用户)
configPathstring“”配置文件的路径(当useConfigFile=true时)
autoStartbooleantrueVS Code启动时自动启动服务器
logLevelenum“info”日志级别:调试、信息、警告、错误

例子:

{
  "mcp-process.server.autoStart": true,
  "mcp-process.server.logLevel": "info"
}

2.超时和连接设置(mcp-process.timeout.*, mcp-process.reconnect.*)

控制超时行为和自动重新连接。这些设置使用共享 @ai-capabilities-suite/mcp-client-base 用于跨所有MCP扩展进行一致超时处理的包。

设置类型默认值描述
timeout.initializationnumber60000初始化超时(毫秒)(10-300秒)
timeout.standardRequestnumber30000标准请求超时(毫秒)(5-120秒)
reconnect.maxRetriesnumber3最大重新连接尝试次数(0-10)
reconnect.retryDelaynumber2000初始重试延迟(毫秒)(1-10秒)

超时管理的工作原理:

扩展对不同的操作使用不同的超时值:

  • 初始化超时 (默认60秒):启动服务器和初始握手时使用。服务器启动可能很慢,尤其是在第一次运行时。
  • 标准请求超时 (默认30秒):用于正常的流程管理操作,如启动、终止或监控流程。

自动重新同步:

当初始化过程中发生超时但服务器进程仍在运行时,扩展会自动尝试使用指数回退重新同步:

  1. 2秒后首次重试
  2. 3秒后第二次重试(2s×1.5)
  3. 4.5秒后第三次重试(3s×1.5)

这可以防止服务器启动缓慢但仍能正常工作时出现错误故障。

示例-快速地方发展:

{
  "mcp-process.timeout.initialization": 30000,
  "mcp-process.timeout.standardRequest": 15000,
  "mcp-process.reconnect.maxRetries": 2,
  "mcp-process.reconnect.retryDelay": 1000
}

示例-慢速系统或远程服务器:

{
  "mcp-process.timeout.initialization": 120000,
  "mcp-process.timeout.standardRequest": 60000,
  "mcp-process.reconnect.maxRetries": 5,
  "mcp-process.reconnect.retryDelay": 3000
}

示例-CI/CD环境:

{
  "mcp-process.timeout.initialization": 90000,
  "mcp-process.timeout.standardRequest": 45000,
  "mcp-process.reconnect.maxRetries": 3,
  "mcp-process.reconnect.retryDelay": 2000
}

何时调整超时:

  • 增加初始化超时时间 如果您看到“服务器初始化超时”错误,但服务器最终会启动
  • 增加标准请求超时 如果进程操作失败并出现超时错误
  • 增加重试次数 如果服务器间歇性地变慢,但最终会做出响应
  • 减少超时 如果你想在真正损坏的服务器上更快地检测故障

连接状态指示器:

该扩展在树状图中显示连接状态:

  • “正在连接到服务器…” -初始连接正在进行中
  • “连接超时-重试(1/3)” -发生超时,尝试重试
  • “已连接” -已成功连接并准备就绪
  • “已断开连接” -未连接到服务器
  • “错误:\[消息\]” -发生不可恢复的错误

技术细节:

超时和重新连接逻辑由共享提供 @ai-capabilities-suite/mcp-client-base 包,确保所有MCP扩展(进程、屏幕截图、调试器、文件系统)的行为一致。看 mcp客户端基础文档 了解更多详情。

3.可执行控制(mcp-process.executable.*)

控制可以启动哪些可执行文件以及如何验证参数。

设置类型默认值描述
allowedExecutablesstring\[\]\[\]允许的可执行文件(路径或模式)
blockSetuidExecutablesbooleantrue阻止setuid/setgid可执行文件
blockShellInterpretersbooleanfalse块shell解释器(bash、sh等)
additionalBlockedExecutablesstring\[\]\[\]其他被阻止的可执行文件
maxArgumentCountnumber100最大参数数
maxArgumentLengthnumber4096任何参数的最大长度(字节)
blockedArgumentPatternsstring\[\]\[\]参数中要阻止的正则表达式模式

示例-开发环境:

{
  "mcp-process.executable.allowedExecutables": [
    "node",
    "npm",
    "yarn",
    "python3",
    "git"
  ],
  "mcp-process.executable.blockShellInterpreters": false,
  "mcp-process.executable.blockSetuidExecutables": true
}

示例-生产环境:

{
  "mcp-process.executable.allowedExecutables": [
    "/usr/bin/node",
    "/usr/bin/python3"
  ],
  "mcp-process.executable.blockShellInterpreters": true,
  "mcp-process.executable.blockSetuidExecutables": true,
  "mcp-process.executable.blockedArgumentPatterns": [
    ".*\\|.*",
    ".*>.*",
    ".*\\$\\(.*\\).*"
  ]
}

4.资源限制(mcp-process.resources.*)

控制生成进程的CPU、内存和其他资源限制。

设置类型默认值描述
defaultMaxCpuPercentnumber50默认最大CPU使用率(0-100)
defaultMaxMemoryMBnumber512默认最大内存(MB)
defaultMaxFileDescriptorsnumber1024默认最大文件描述符
defaultMaxCpuTimenumber300默认最大CPU时间(秒)
defaultMaxProcessesnumber10树中的默认最大进程数
maximumMaxCpuPercentnumber100CPU使用的硬限制
maximumMaxMemoryMBnumber2048内存使用的硬限制
strictResourceEnforcementbooleanfalse违反限制时立即终止

示例-慷慨的限制:

{
  "mcp-process.resources.defaultMaxCpuPercent": 80,
  "mcp-process.resources.defaultMaxMemoryMB": 2048,
  "mcp-process.resources.defaultMaxCpuTime": 600,
  "mcp-process.resources.strictResourceEnforcement": false
}

示例-严格限制:

{
  "mcp-process.resources.defaultMaxCpuPercent": 25,
  "mcp-process.resources.defaultMaxMemoryMB": 256,
  "mcp-process.resources.defaultMaxCpuTime": 60,
  "mcp-process.resources.strictResourceEnforcement": true
}

5.工艺限制(mcp-process.process.*)

控制进程并发性和速率限制。

设置类型默认值描述
maxConcurrentProcessesnumber10最大并发进程数(全局)
maxConcurrentProcessesPerAgentnumber5每个代理的最大并发进程数
maxProcessLifetimenumber3600最大进程生存期(秒)
maxTotalProcessesnumber1000最大总进程数(服务器生存期)
maxLaunchesPerMinutenumber10每个代理每分钟的最大启动次数
maxLaunchesPerHournumber100每个代理每小时的最大启动次数
rateLimitCooldownSecondsnumber60达到速率限制后的冷却

例子:

{
  "mcp-process.process.maxConcurrentProcesses": 20,
  "mcp-process.process.maxConcurrentProcessesPerAgent": 10,
  "mcp-process.process.maxProcessLifetime": 7200,
  "mcp-process.process.maxLaunchesPerMinute": 20
}

6.I/O控制(mcp-process.io.*)

控制stdin/stdout行为和缓冲区大小。

设置类型默认值描述
allowStdinInputbooleantrue允许向进程输入stdin
allowOutputCapturebooleantrue允许捕获stdout/stderr
maxOutputBufferSizenumber1048576每个流的最大缓冲区大小(字节)
blockBinaryStdinbooleantrue阻止stdin中的二进制数据

例子:

{
  "mcp-process.io.allowStdinInput": true,
  "mcp-process.io.allowOutputCapture": true,
  "mcp-process.io.maxOutputBufferSize": 2097152,
  "mcp-process.io.blockBinaryStdin": true
}

7.安全设置(mcp-process.security.*)

控制流程终止、确认和访问控制。

设置类型默认值描述
allowProcessTerminationbooleantrue允许代理终止进程
allowGroupTerminationbooleantrue允许代理终止组
allowForcedTerminationbooleanfalse允许强制终止(SIGKILL)
requireTerminationConfirmationbooleanfalse需要确认终止
requireConfirmationbooleanfalse所有启动都需要确认
requireConfirmationForstring\[\]\[\]需要确认的可执行文件
autoApproveAfterCountnumber0N次成功启动后自动批准
allowedWorkingDirectoriesstring\[\]\[\]允许的工作目录
blockedWorkingDirectoriesstring\[\]\[\]已阻止的工作目录
additionalBlockedEnvVarsstring\[\]\[\]其他被阻止的环境变量
allowedEnvVarsstring\[\]\[\]允许的环境变量(白名单)
maxEnvVarCountnumber100环境变量的最大数量

示例-高安全性:

{
  "mcp-process.security.allowForcedTermination": false,
  "mcp-process.security.requireConfirmation": true,
  "mcp-process.security.requireConfirmationFor": ["rm", "dd", "mkfs"],
  "mcp-process.security.blockedWorkingDirectories": ["/etc", "/root"],
  "mcp-process.security.allowedEnvVars": ["PATH", "HOME", "USER"]
}

8.高级安全(mcp-process.security.advanced.*)

高级隔离功能(特定于Linux)。

设置类型默认值描述
enableChrootbooleanfalse启用chroot jail(Unix/Linux)
chrootDirectorystring“”Chroot目录路径
enableNamespacesbooleanfalse启用Linux命名空间
namespacesPidbooleanfalse启用PID命名空间
namespacesNetworkbooleanfalse启用网络命名空间
namespacesMountbooleanfalse启用装载命名空间
namespacesUtsbooleanfalse启用UTS命名空间
namespacesIpcbooleanfalse启用IPC命名空间
namespacesUserbooleanfalse启用用户命名空间
enableSeccompbooleanfalse启用seccomp过滤
seccompProfileenum“中等”Seccomp配置文件:严格、中等、允许
blockNetworkAccessbooleanfalse阻止网络访问
allowedNetworkDestinationsstring\[\]\[\]允许的网络目标
blockedNetworkDestinationsstring\[\]\[\]已阻止的网络目标
enableMACbooleanfalse启用强制访问控制
macProfilestring“”SELinux上下文或AppArmor配置文件
dropCapabilitiesstring\[\]\[\]Linux功能要删除
readOnlyFilesystembooleanfalse将文件系统挂载为只读
tmpfsSizenumber64临时文件系统大小(MB)

示例-最大隔离(Linux):

{
  "mcp-process.security.advanced.enableNamespaces": true,
  "mcp-process.security.advanced.namespacesPid": true,
  "mcp-process.security.advanced.namespacesNetwork": true,
  "mcp-process.security.advanced.namespacesMount": true,
  "mcp-process.security.advanced.enableSeccomp": true,
  "mcp-process.security.advanced.seccompProfile": "strict",
  "mcp-process.security.advanced.dropCapabilities": [
    "CAP_NET_RAW",
    "CAP_SYS_ADMIN"
  ]
}

9.审计与监控(mcp-process.audit.*)

控制审计日志记录和安全警报。

设置类型默认值描述
enableAuditLogbooleantrue启用审核日志记录
auditLogPathstring“”审核日志文件路径
auditLogLevelenum“info”日志级别:错误、警告、信息、调试
enableSecurityAlertsbooleanfalse启用实时安全警报
securityAlertWebhookstring“”警报webhook URL
allowedTimeWindowsstring\[\]\[\]允许的时间窗口(cron语法)
blockedTimeWindowsstring\[\]\[\]被阻塞的时间窗口(cron语法)

例子:

{
  "mcp-process.audit.enableAuditLog": true,
  "mcp-process.audit.auditLogLevel": "info",
  "mcp-process.audit.enableSecurityAlerts": true,
  "mcp-process.audit.securityAlertWebhook": "https://hooks.slack.com/services/YOUR/WEBHOOK",
  "mcp-process.audit.allowedTimeWindows": ["0 9-17 * * 1-5"]
}

10.用户界面首选项(mcp-process.ui.*)

控制UI行为和显示选项。

设置类型默认值描述
refreshIntervalnumber2000进程列表刷新间隔(ms)
showResourceUsagebooleantrue在进程列表中显示CPU/内存
showSecurityWarningsbooleantrue在UI中显示安全警告
confirmDangerousOperationsbooleantrue危险操作需要确认

例子:

{
  "mcp-process.ui.refreshInterval": 1000,
  "mcp-process.ui.showResourceUsage": true,
  "mcp-process.ui.showSecurityWarnings": true
}

共享MCP客户端基础包

超时和连接管理功能由共享提供 @ai-capabilities-suite/mcp-client-base 包裹。AI能力套件中的所有MCP扩展(进程、屏幕截图、调试器、文件系统)都使用此包来提供一致的行为。

共享套餐的好处:

  • 一致的超时处理 跨所有MCP扩展
  • 自动重新同步 指数回退
  • 连接状态管理 带有监听器通知
  • 诊断命令 用于故障排除
  • 综合录井 带有时间戳和请求ID
  • 经过充分测试 包括单元测试和基于属性的测试

更多信息:

Process扩展如何使用mcp客户端库:

流程扩展 MCPProcessClient 扩展 BaseMCPClient 从共享包中继承所有超时和连接管理功能。特定于扩展的设置(mcp-process.timeout.*mcp-process.reconnect.*)在初始化期间传递给基本客户端。

// Simplified example of how the Process extension uses BaseMCPClient
import { BaseMCPClient } from "@ai-capabilities-suite/mcp-client-base";

export class MCPProcessClient extends BaseMCPClient {
  constructor(outputChannel: vscode.LogOutputChannel, config: MCPClientConfig) {
    super(outputChannel, {
      timeout: {
        initializationTimeoutMs: config.timeout.initialization,
        standardRequestTimeoutMs: config.timeout.standardRequest,
        toolsListTimeoutMs: config.timeout.initialization,
      },
      reSync: {
        maxRetries: config.reconnect.maxRetries,
        retryDelayMs: config.reconnect.retryDelay,
        backoffMultiplier: 1.5,
      },
      logging: {
        logLevel: config.server.logLevel,
        logCommunication: true,
      },
    });
  }

  // Extension-specific methods...
}

这种架构确保了超时处理和连接管理的改进会自动使所有MCP扩展受益。

配置预设

该扩展为常见用例提供了三个内置配置预设:

开发预设

允许当地发展,限制最小。

在以下情况下使用: 在本地开发,需要灵活性,信任所有代码

申请: 命令面板→ “MCP ACS过程:应用配置预设”→ “发展”

生产预设

生产使用的平衡设置具有合理的安全性。

在以下情况下使用: 在生产环境中运行,需要安全性而不破坏功能

申请: 命令面板→ “MCP ACS过程:应用配置预设”→ “生产”

高安全预设

严格的设置,具有强大的隔离性,可实现最大的安全性。

在以下情况下使用: 处理不受信任的代码,需要最大的安全性

申请: 命令面板→ “MCP ACS过程:应用配置预设”→ “高安全性”

导入/导出配置

导出配置:

  1. 打开命令面板(Ctrl+Shift+P/Cmd+Shift+P)
  2. 运行“MCP ACS流程:导出配置”
  3. 选择保存位置
  4. 配置保存为带有元数据的JSON格式

导入配置:

  1. 打开命令选项板
  2. 运行“MCP ACS流程:导入配置”
  3. 选择配置JSON文件
  4. 审查变更并确认
  5. 应用于VS代码的设置

注: 导出的配置包括平台元数据。导入跨平台配置将显示平台特定设置的警告。

验证配置

要检查配置是否存在错误和冲突,请执行以下操作:

  1. 打开命令选项板
  2. 运行“MCP ACS流程:验证配置”
  3. 在输出面板中查看验证结果
  4. 修复任何错误或警告
  5. 重新验证,直至清洁

服务器配置

重要提示: 使用扩展时,VS Code设置是主要的配置方法。外部配置文件(mcp-process-config.json)仅需要用于:

  • 独立运行服务器(无VS代码)
  • 喜欢基于文件的配置的高级用户
  • 以编程方式覆盖特定设置

要使用外部配置文件,请设置:

{
  "mcp-process.server.useConfigFile": true,
  "mcp-process.server.configPath": "/path/to/mcp-process-config.json"
}

MCP ACS过程服务器文档 用于配置文件格式。

最低配置:

{
  "allowedExecutables": ["node", "python3"],
  "defaultResourceLimits": {
    "maxCpuPercent": 80,
    "maxMemoryMB": 1024
  },
  "maxConcurrentProcesses": 10,
  "enableAuditLog": true
}

开发配置:

{
  "allowedExecutables": [
    "node",
    "npm",
    "yarn",
    "python3",
    "pip3",
    "git",
    "jest",
    "eslint",
    "tsc"
  ],
  "defaultResourceLimits": {
    "maxCpuPercent": 90,
    "maxMemoryMB": 2048,
    "maxCpuTime": 600
  },
  "maxConcurrentProcesses": 20,
  "maxProcessLifetime": 7200,
  "enableAuditLog": true,
  "blockShellInterpreters": false,
  "blockSetuidExecutables": true
}

命令

该扩展提供用于进程管理和故障排除的命令。通过命令面板(Ctrl+Shift+P/Cmd+Shift+P)访问命令。

流程管理命令

命令描述快捷方式
MCP ACS Process: Start Process启动新流程-
MCP ACS Process: Terminate Process停止正在运行的进程-
MCP ACS Process: View All Processes显示进程列表-
MCP ACS Process: View Process Statistics显示详细统计数据-
MCP ACS Process: Refresh Process List刷新树状图-
MCP ACS Process: Show Security Boundaries查看安全配置-
MCP ACS Process: Configure Executable Allowlist编辑列表-

连接和恢复命令

这些命令有助于解决连接问题并从中恢复:

命令描述何时使用
MCP ACS Process: Reconnect to Server尝试重新连接而不重新启动服务器服务器正在运行但无响应
MCP ACS Process: Restart Server停止并重新启动MCP服务器进程服务器状态不佳或崩溃
MCP ACS Process: Show Server Diagnostics显示详细的服务器连接诊断排除连接问题

重新连接到服务器:

  • 尝试在不终止进程的情况下重新建立与服务器的通信
  • 使用与自动超时恢复相同的重新同步逻辑
  • 当服务器正在运行但扩展失去连接时很有用
  • 显示带有详细信息的成功/失败通知

重新启动服务器:

  • 终止现有服务器进程并启动新进程
  • 清除所有挂起的请求并重置连接状态
  • 当服务器真正卡住或处于不可恢复状态时使用
  • 旧服务器管理的所有正在运行的进程都将成为孤立进程

显示服务器诊断:

  • 显示全面的诊断信息,包括:

- 服务器进程状态(运行/停止,PID) - 连接状态(连接、已连接、超时、错误) - 待处理请求计数和详细信息 - 最近的通信事件(请求、响应、错误) - 最后一条错误消息和时间戳

  • 帮助确定连接问题的根本原因
  • 报告错误时应包含的有用信息

安全

此扩展强制执行严格的安全边界:

AI代理不能做什么

  • 启动不在列表中的可执行文件
  • 如果被阻止,启动shell解释器(bash、sh、cmd.exe)
  • 启动危险的可执行文件(sudo、rm、dd等)
  • 启动setuid/setgid可执行文件
  • 修改PATH或危险环境变量
  • 向他们没有创建的进程发送信号
  • 升级特权
  • 绕过资源限制
  • 启动无限并发进程
  • 使进程无限期运行

AI代理可以做什么(在允许范围内)

  • 启动带有参数的已批准可执行文件
  • 设置安全环境变量
  • 捕获stdout/stderr
  • 发送stdin输入
  • 监控资源使用情况
  • 终止他们创建的进程
  • 创建流程组
  • 设置资源限制(在配置的最大值内)

安全层

  1. 可执行许可列表:仅预先批准的可执行文件
  2. 参数验证:注射攻击预防
  3. 环境消毒:危险变量已删除
  4. 资源限制:CPU、内存、时间限制
  5. 特权预防:无特权升级
  6. 审计日志:完整的操作跟踪

故障排除

本节介绍常见问题及其解决方案。有关连接和超时问题,请参阅 连接和恢复命令 部分。

连接和超时问题

服务器初始化超时

问题:扩展显示“服务器初始化超时”或“连接超时-重试”

症状:

  • 树视图显示“连接超时-重试(X/3)”
  • 重试后,扩展最终显示“服务器未运行”
  • 服务器进程实际正在运行(检查任务管理器/活动监视器)

解决方案:

  1. 增加初始化超时时间 (建议用于慢速系统):
   {
     "mcp-process.timeout.initialization": 120000 // 2 minutes
   }
  1. 检查服务器日志 在输出面板中:

- 打开输出面板(视图→ 输出) - 从下拉菜单中选择“MCP ACS流程管理器” - 在初始化过程中查找错误消息

  1. 验证服务器是否可以手动启动:
   npx -y @ai-capabilities-suite/mcp-process

如果此操作挂起或失败,则服务器本身存在问题。

  1. 使用“重新连接”命令:

- 打开命令面板(Ctrl+Shift+P/Cmd+Shift+P) - 运行“MCP ACS进程:重新连接到服务器” - 检查重新连接是否成功

  1. 检查系统资源:

- 高CPU/内存使用率会减缓服务器启动速度 - 关闭不必要的应用程序 - 重新启动VS代码

何时增加超时时间:

  • 首次运行(服务器需要下载依赖项)
  • 系统速度慢(硬件较旧,资源有限)
  • 远程开发(网络延迟)
  • CI/CD环境(共享资源)

请求超时

问题:操作失败,出现“请求超时”错误

症状:

  • 启动进程失败,超时
  • 获取流程统计数据超时
  • 其他操作有效,但特定操作失败

解决方案:

  1. 增加标准请求超时:
   {
     "mcp-process.timeout.standardRequest": 60000 // 1 minute
   }
  1. 检查服务器是否过载:

- 运行“MCP ACS进程:显示服务器诊断” - 查看待处理请求计数 - 如果有许多未决请求,服务器可能会不堪重负

  1. 减少并发操作:

- 不要一次启动太多进程 - 等待操作完成后再开始新的操作

  1. 检查进程资源限制:

- 如果监视资源密集型进程,可能会减慢服务器的速度 - 增加资源限制或降低监控频率

自动重新连接失败

问题:扩展程序不断重试,但从未连接

症状:

  • 树视图显示“连接超时-重试(3/3)”
  • 最终显示“已断开连接”或错误消息
  • 重试没有帮助

解决方案:

  1. 检查服务器进程是否实际运行:

- 运行“MCP ACS进程:显示服务器诊断” - 查看“服务器进程正在运行”状态 - 如果为false,则服务器崩溃或从未启动

  1. 重新启动服务器 (不仅仅是重新连接):

- 运行“MCP ACS进程:重新启动服务器” - 这会终止并重新启动服务器进程 - 检查输出面板是否有启动错误

  1. 增加重试次数和延迟:
   {
     "mcp-process.reconnect.maxRetries": 5,
     "mcp-process.reconnect.retryDelay": 3000
   }
  1. 检查端口冲突:

- 如果使用stdio传输,则不应该发生这种情况 - 但请检查输出面板中的“地址已在使用中”错误

  1. 验证Node.js安装:
   node --version  # Should be 18.x or higher
   npm --version

服务器进程崩溃

问题:服务器启动但立即崩溃

症状:

  • 输出面板中的“服务器进程已退出,代码为X”
  • 扩展名在“正在连接”后立即显示“已断开连接”
  • 诊断显示“服务器进程正在运行:false”

解决方案:

  1. 检查服务器日志 在“输出”面板中显示错误消息
  1. 验证服务器安装:
   npm install -g @ai-capabilities-suite/mcp-process
  1. 检查是否存在冲突的全局包:
   npm list -g @ai-capabilities-suite/mcp-process
  1. 尝试使用捆绑服务器 (如有):
   {
     "mcp-process.server.serverPath": "" // Empty = use bundled
   }
  1. 检查Node.js版本兼容性:

- 服务器需要Node.js 18.x或更高版本 - 如果需要,更新Node.js

服务器未启动

问题:扩展显示“服务器未运行”

解决方案:

  1. 检查是否安装了Node.js: node --version
  2. 安装MCP服务器: npm install -g @ai-capabilities-suite/mcp-process
  3. mcp-process.server.serverPath 如果需要,在设置中
  4. 检查输出面板是否有错误
  5. 重新启动VS代码

可执行文件不在允许列表中

问题:“可执行文件不在列表中”错误

解决方案:

  1. 打开VS代码设置(Ctrl+、/Cmd+、)
  2. 搜索“mcp进程.可执行文件.allowed可执行文件”
  3. 将可执行文件添加到数组中
  4. 服务器将自动重新加载新设置

备选方案:

  1. 打开命令选项板
  2. 运行“MCP ACS进程:配置可执行允许列表”
  3. 将可执行文件添加到 allowedExecutables
  4. 保存并重新启动服务器

进程未出现

问题:已启动的进程未显示在树视图中

解决方案:

  1. 单击树状图中的刷新图标
  2. 检查进程是否立即退出
  3. 检查输出面板是否有错误
  4. 验证可执行文件是否在列表中

超出资源限度

问题:进程终止,显示“超出CPU/内存限制”

解决方案:

  1. 打开VS代码设置
  2. 搜索“mcp-process.resources”
  3. 增加 defaultMaxCpuPercentdefaultMaxMemoryMB
  4. 检查流程统计数据以查看实际使用情况
  5. 考虑流程是否合理地需要更多资源

设置未生效

问题:设置已更改,但行为未更改

解决方案:

  1. 检查设置是否需要重新启动服务器(在描述中查找“注意:更改需要重新启动server”)
  2. 如果需要重新启动,请单击通知按钮或运行“MCP ACS进程:重新启动服务器”
  3. 检查输出面板是否存在配置错误
  4. 运行“MCP ACS流程:验证配置”以检查问题

配置验证错误

问题:验证显示错误或警告

解决方案:

  1. 仔细阅读错误消息-它解释了问题所在
  2. 常见问题:

- enableChroot 需要 chrootDirectory 待定 - enableSecurityAlerts 需要 securityAlertWebhook 待定 - 特定于平台的设置(命名空间、chroot)仅适用于Linux/Unix

  1. 修复VS代码设置界面中的设置
  2. 重新运行验证以确认修复

导入配置失败

问题:无法导入配置文件

解决方案:

  1. 验证JSON文件是否有效(使用JSON验证器)
  2. 检查文件是否包含有效的设置名称
  3. 查看有关平台特定设置的警告
  4. 如果从不同平台导入,某些设置可能不适用
  5. 检查输出面板以获取详细的错误消息

平台特定功能不起作用

问题:Linux命名空间、chroot或其他平台功能不起作用

解决方案:

  1. 验证您使用的平台是否正确(命名空间使用Linux,chroot使用Unix/Linux)
  2. 检查您是否具有所需的权限(root或功能)
  3. 验证内核对该功能的支持
  4. 检查输出面板是否有特定的错误消息
  5. 考虑使用Docker实现一致的跨平台行为

未找到配置文件

问题:“找不到配置文件”错误(使用时 useConfigFile: true)

解决方案:

  1. mcp-process.server.configPath 在VS代码设置中
  2. 使用配置文件的绝对路径
  3. 验证文件是否存在并且可读
  4. 检查文件权限
  5. 推荐: 通过设置来使用VS代码设置 useConfigFile: false

设置UI不显示所有设置

问题:在VS代码设置UI中找不到某些设置

解决方案:

  1. 确保您正在搜索“mcp进程”(带连字符)
  2. 尝试搜索特定类别:“mcp-process.enable”、“mcp-process.security”等。
  3. 检查设置是否因平台而隐藏(某些仅限Linux的设置在Windows/Mac上不会显示)
  4. 如果刚刚安装了设置,请重新启动VS Code
  5. 检查扩展是否已激活(在活动栏中查找MCP ACS Process Manager)

语言服务器协议(LSP)功能

该扩展提供了全面的LSP集成,具有17个功能,可增强开发体验和人工智能辅助。

LSP功能概述

功能描述AI优势
代码镜头7种内联操作AI看到可用操作
悬停关键字上下文帮助AI理解流程API
诊断安全警告人工智能学习最佳实践
完成智能建议AI获得准确的完成
签名帮助函数签名AI知道参数类型
语义令牌语法突出显示AI识别流程代码
嵌入提示参数/类型提示AI看到隐含信息
重命名重构变量AI可以安全重命名
呼叫层次结构导航呼叫链AI跟踪流程
定义转到定义AI查找声明
文档符号大纲视图AI理解结构
代码操作快速修复AI建议改进

1.增强型编码镜头(7种)

内联操作直接出现在代码中,用于常见的流程操作:

const { spawn } = require("child_process");

// 🚀 Launch with MCP | 📊 Monitor Resources
const child = spawn("node", ["script.js"]);

// 📝 Send via MCP
child.stdin.write("input data\n");

// 📤 Get Output via MCP
child.stdout.on("data", (data) => {
  console.log(data);
});

// 🛑 Terminate via MCP
child.kill("SIGTERM");

// 🔄 Start as Service
const service = spawn("node", ["server.js"], { detached: true });

编码镜头类型:

  • 🚀 使用MCP启动:出现在 spawn() 呼叫-通过MCP启动流程
  • 🛑 通过MCP终止:出现在 .kill() 呼叫-通过MCP终止
  • 📝 通过MCP发送:出现在 .stdin.write() -通过MCP发送输入
  • 📤 通过MCP获取输出:出现在 .stdout/.stderr -通过MCP捕获输出
  • 🔄 以服务形式启动:出现在分离的进程上-作为服务管理
  • 📊 监控资源:出现在进程循环中-跟踪CPU/内存

2.语义标记

流程相关代码的语法高亮显示有助于一目了然地识别流程操作:

// Functions highlighted: spawn, exec, fork, kill
const child = spawn("node", ["script.js"]);
const result = exec("ls -la");
const worker = fork("worker.js");
process.kill(child.pid);

// Variables highlighted: pid
const pid = child.pid;

// Properties highlighted: stdin, stdout, stderr, pid
child.stdin.write("data");
child.stdout.on("data", handler);
child.stderr.pipe(process.stderr);

突出显示的元素:

  • 过程功能: spawn, exec, fork, kill
  • 过程变量: pid, child, process
  • 工艺特性: stdin, stdout, stderr, pid

3.镶嵌提示

参数名和类型提示内联显示,以便更好地理解代码:

// Parameter hints show what each argument is
const child = spawn(executable: "node", args: ["script.js"]);

// Type hints show units for resource limits
const config = {
  maxCpuPercent: 80%,    // Shows % unit
  maxMemoryMB: 1024MB,   // Shows MB unit
  timeout: 30000
};

提示类型:

  • 的参数名称 spawn(), exec(), fork()
  • 资源限制单位(%、MB、秒)
  • 配置对象的类型信息

4.签名帮助

键入时会显示带有参数文档的函数签名:

// Typing spawn( shows:
// spawn(executable: string, args: string[], options?: SpawnOptions)
//       ^^^^^^^^^^^^^^^^^^^
const child = spawn("node", ["script.js"], { cwd: "/tmp" });

// Typing mcpClient.startProcess( shows:
// startProcess(config: ProcessConfig): Promise
//              ^^^^^^^^^^^^^^^^^^^^^^
const pid = await mcpClient.startProcess({
  executable: "node",
  args: ["script.js"],
});

支持的功能:

  • spawn(), exec(), fork() -Node.js子进程
  • startProcess(), terminateProcess() -MCP客户端方法
  • getProcessStats(), listProcesses() -MCP监控

5.增强的重命名支持

在整个文件中安全重命名与流程相关的变量:

// Right-click on 'child' and select Rename
const child = spawn("node", ["script.js"]);
child.stdout.on("data", (data) => console.log(data));
child.on("exit", (code) => console.log(`Exit: ${code}`));
// All instances of 'child' renamed together

// Works for: process, child, pid, worker, etc.

可重命名符号:

  • 过程变量: child, process, worker
  • PID变量: pid, processId
  • 文件中的相关标识符

6.呼叫层次结构

浏览流程调用链,了解流程是如何创建和使用的:

// Right-click on spawn() and select "Show Call Hierarchy"
function startServer() {
  return spawn("node", ["server.js"]); // ← Outgoing call
}

function main() {
  const server = startServer(); // ← Incoming call
}

导航:

  • 来电:查找创建流程的位置
  • 去电:查找流程调用的内容
  • 跨函数和文件工作

7.悬停信息

当鼠标悬停在与流程相关的关键字上时,会出现上下文帮助:

const child = spawn("node", ["script.js"]);
//            ^^^^^ Hover shows:
//            Process Management: spawn
//            MCP ACS Process Manager provides secure process management.

8.诊断

安全问题和最佳实践的实时警告:

// ⚠️ Warning: Consider using child_process.spawn instead of exec for better security
const result = exec("ls -la");

// ⚠️ Warning: Using shell: true can introduce command injection vulnerabilities
const child = spawn("node", ["script.js"], { shell: true });

诊断类型:

  • 安全警告 exec() 用法
  • 命令注入警告 shell: true
  • 最佳实践建议

9.代码完成

工艺配置和MCP方法的明智建议:

// Typing spawn("node", [], { shows:
const child = spawn("node", ["script.js"], {
  captureOutput: true,        // ← Suggested
  resourceLimits: { ... },    // ← Suggested
  timeout: 30000              // ← Suggested
});

// Typing mcpClient. shows:
mcpClient.startProcess()      // ← Suggested
mcpClient.terminateProcess()  // ← Suggested
mcpClient.getProcessStats()   // ← Suggested

10.代码操作

快速修复和重构建议:

// Diagnostic: "Consider using spawn instead of exec"
// Quick Fix: "Replace exec with spawn"
const result = exec("ls -la"); // ← Click lightbulb for fix

// Refactoring: "Convert to MCP ACS Process Manager"
const child = spawn("node", ["script.js"]); // ← Select and refactor

自定义命令

所有11个MCP命令都可以通过LSP访问:

流程生命周期:

  • mcp.process.start -启动流程
  • mcp.process.terminate -终止进程
  • mcp.process.list -列出所有流程
  • mcp.process.getStats -获取资源统计信息

I/O管理:

  • mcp.process.sendStdin -向流程发送输入
  • mcp.process.getOutput -捕获stdout/stderr

工艺组:

  • mcp.process.createGroup -创建流程组
  • mcp.process.addToGroup -将流程添加到组
  • mcp.process.terminateGroup -终止整个组

服务管理:

  • mcp.process.startService -启动长时间运行的服务
  • mcp.process.stopService -停止服务

COPILOT-INTEGRATION.md 获取详细的AI集成文档。

GitHub复制集成

MCP ACS Process Manager通过全面的LSP集成与GitHub Copilot和其他AI助手无缝协作:

LSP功能如何增强AI辅助

  1. 编码镜头感知:AI可以看到所有7种类型的内联操作,并可以调用它们
  2. 语义令牌:AI通过语法高亮显示识别与流程相关的代码
  3. 内联提示:AI在没有明确文档的情况下理解参数类型和单位
  4. 签名帮助:AI知道确切的函数签名和参数类型
  5. 诊断意识:AI看到安全警告并自动建议修复
  6. 调用层次结构:AI可以跨文件跟踪进程创建和使用情况
  7. 重命名支持:AI可以安全地重构流程变量
  8. 代码补全:AI获得流程配置的准确建议
  9. 流程上下文:人工智能可以完全了解正在运行的流程
  10. 安全意识:AI了解安全边界和限制
  11. 命令访问:AI可以通过LSP调用所有11个MCP命令

AI交互示例

流程管理:

You: "Start a Node.js server on port 3000"
AI: [Sees spawn() code lens, uses mcp.process.start command]
    ✓ Launched node server.js with PID 12345

You: "Monitor the server's resource usage"
AI: [Clicks "📊 Monitor Resources" code lens]
    ✓ CPU: 15%, Memory: 256MB, Uptime: 2m 30s

安全协助:

You: "This code has a security warning, how do I fix it?"
AI: [Sees diagnostic: "shell: true can introduce command injection"]
    [Suggests quick fix: "Remove shell: true"]

    Before: spawn("ls", ["-la"], { shell: true })
    After:  spawn("ls", ["-la"])

代码理解:

You: "What does this process code do?"
AI: [Uses semantic tokens to identify spawn, pid, stdout]
    [Uses call hierarchy to trace process flow]
    [Uses hover to understand each operation]

    "This code spawns a Node.js process, captures its PID,
     monitors stdout, and terminates it after 30 seconds."

重构:

You: "Rename this process variable to 'worker'"
AI: [Uses rename support to change all occurrences]
    ✓ Renamed 'child' to 'worker' in 8 locations

You: "Convert this to use MCP ACS Process Manager"
AI: [Uses code action: "Convert to MCP ACS Process Manager"]
    [Wraps spawn() with mcpClient.startProcess()]

工艺组:

You: "Start 3 worker processes and manage them as a group"
AI: [Uses mcp.process.createGroup]
    [Uses mcp.process.start for each worker]
    [Uses mcp.process.addToGroup]
    ✓ Created group 'workers' with 3 processes

LSP的AI功能

通过全面的LSP集成,AI助手可以:

  • 理解 通过语义标记和悬停信息处理代码
  • 导航 使用调用层次结构和定义的流程
  • 建议 使用诊断和代码操作进行改进
  • 完成 借助签名帮助和补全功能准确编码
  • 重构 安全地使用重命名支持
  • 执行 使用所有11个MCP命令的操作
  • 监视器 通过代码镜头操作获取资源
  • 执行 通过理解边界实现安全

自主操作

AI助手可以自主管理流程:

  1. 启动流程 配置得当
  2. 监控资源 并检测问题
  3. 终止进程 需要时
  4. 管理流程组 适用于复杂的工作流程
  5. 处理I/O 具有stdin/stdout操作
  6. 启动服务 用于长时间运行的任务
  7. 应用安全最佳实践 自动地

需求

  • VS Code:1.85.0或更高版本
  • Node.js:版本18.x或更高
  • MCP ACS过程服务器:全局安装或在设置中指定
  • 操作系统:Windows、macOS或Linux

已知问题

  • 在慢速网络上,WebSocket连接可能会超时
  • CPU负载过高时,进程统计可能会延迟
  • 某些进程可能无法报告准确的I/O统计数据

发布说明

1.0.0

初始版本:

  • MCP集成过程管理
  • 实时资源监控
  • 安全边界可视化
  • 流程和安全树视图
  • 统计网络视图
  • GitHub Copilot集成
  • 全面的安全执法

贡献

发现错误或有功能请求?请打开一个问题 .

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

详细信息

______________________________________________________________________

为AI代理提供安全的流程管理! 🛡️

目录标签

目录标签

进程管理安全控制TypeScriptClaude本地部署VSCode扩展AI代理资源监控

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@ai-capabilities-suite/mcp-process

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP