@modelcontextprotocol/server-terminal

@modelcontextprotocol/server-terminal

site icon
2024.12.27 0
TypeScript终端服务npm操作开发工具开发效率
该服务是一个基于Model Context Protocol (MCP)的终端服务器实现,提供安全且受控的终端命令和npm操作访问。其主要功能包括执行shell命令、内置npm操作(如安装和运行脚本)、超时处理、通过允许的命令列表实现安全性、环境变量管理、工作目录控制以及TypeScript支持。适用于需要自动化执行终端命令和npm操作的开发场景。
View on GitHub

Overview

基本能力

产品定位

该服务是一个终端服务器实现,旨在为开发人员提供安全且受控的终端命令和npm操作访问。

核心功能

  • 执行shell命令,具有完全控制能力
  • 内置npm操作(安装、运行脚本)
  • 超时处理
  • 通过允许的命令列表实现安全性
  • 环境变量管理
  • 工作目录控制
  • TypeScript支持

适用场景

  • 需要自动化执行终端命令的开发环境
  • 需要安全控制npm操作的场景
  • 需要管理环境变量和工作目录的开发流程

工具列表

  • executeCommand: 执行指定的shell命令
  • install: 安装npm包
  • runScript: 运行npm脚本
  • dev: 直接运行npm run dev
  • build: 直接运行npm run build

常见问题解答

无明确常见问题解答部分。

使用教程

使用依赖

无明确前置依赖,但需要Node.js环境。

安装教程

npm install @modelcontextprotocol/server-terminal

调试方式

无明确调试步骤,但可以通过执行命令和检查返回结果进行调试。

配置

添加到MCP配置中:

{
  "terminal": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-terminal"],
    "autoApproveScope": ["execute_command", "npm_install", "npm_run"],
    "config": {
      "allowedCommands": ["npm", "node", "git"],
      "defaultTimeout": 30000,
      "defaultCwd": "/your/project/path",
      "environmentVariables": {
        "NODE_ENV": "development"
      }
    }
  }
}

使用示例

// 执行命令
const result = await terminal.executeCommand('ls', ['-la'], {
  cwd: '/some/path'
});

// 安装npm包
await terminal.install('typescript');

// 运行npm脚本
await terminal.runScript('build');

// 直接npm命令
await terminal.dev();  // npm run dev
await terminal.build();  // npm run build

许可证

None