mcpField
@
@modelcontextprotocol/server-terminal

@modelcontextprotocol/server-terminal

本地服务
github.com/RichardTheuws开发工具599 周前更新

关于 @modelcontextprotocol/server-terminal

@modelcontextprotocol/server-terminal 是提供受控终端访问的 MCP 服务。它支持 Shell 命令和 npm 操作,并可限制允许的命令、设置超时、环境变量及工作目录。

主要功能

  1. 01运行 Shell 命令
  2. 02执行 npm 操作
  3. 03限制允许的命令
  4. 04设置命令超时
  5. 05配置环境变量和工作目录

适用场景

  1. 01运行获准的终端命令
  2. 02安装 npm 包
  3. 03在指定目录执行 npm 脚本

MCP 相关

它向 MCP 客户端提供终端命令执行和 npm 操作工具,并支持配置命令限制与执行选项。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"terminal-server": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-terminal"
]
}
}
}
启动命令npx -y @modelcontextprotocol/server-terminal

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/server-terminal

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

@modelcontextprotocol/server-terminal

Model Context Protocol(MCP)终端服务实现。提供对终端命令和 npm 操作的安全、受控访问。

功能

  • 完全掌控 Shell 命令的执行
  • 内置 npm 操作(安装、运行脚本)
  • 超时处理
  • 通过允许的命令列表保障安全
  • 环境变量管理
  • 工作目录控制
  • 支持 TypeScript

安装

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"
      }
    }
  }
}

使用方法

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

// Install npm package
await terminal.install('typescript');

// Run npm script
await terminal.runScript('build');

// Direct npm commands
await terminal.dev();  // npm run dev
await terminal.build();  // npm run build

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。