关于 Terminal MCP Server
Terminal MCP Server 将终端操作提供给 Claude Desktop,可执行命令、在命令间保留当前目录,并返回输出和退出码。
主要功能
- 01执行带参数的命令
- 02保持目录状态
- 03报告终端环境信息
- 04捕获标准输出、错误和退出码
- 05格式化错误并处理超时
适用场景
- 01查看当前目录中的文件
- 02通过 Claude Desktop 运行命令
- 03在命令间切换目录
- 04查看 Shell 和平台信息
MCP 相关
通过 MCP 向 Claude Desktop 提供命令执行、目录切换、当前目录查询和终端信息工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Terminal MCP 服务
一种模型上下文协议(MCP)服务,可通过 Claude Desktop 执行终端命令。
功能
- 使用参数和选项执行任意终端命令
- 在切换目录时保持状态
- 获取终端环境信息
- 完整捕获输出(标准输出、标准错误、退出代码)
- 妥善处理和格式化错误
前提条件
- Node.js v18 或更高版本
- TypeScript
- Claude Desktop
安装
- 克隆代码仓库:
git clone https://github.com/stat-guy/terminal.git
cd terminal
- 安装依赖:
npm install
- 构建项目:
npm run build
本地开发设置
-
创建或编辑 Claude Desktop 配置文件:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%\\Claude\\claude_desktop_config.json
- 在 macOS 上:
添加以下配置:
{
"mcpServers": {
"terminal": {
"command": "node",
"args": [
"[PATH_TO_REPO]/dist/index.js"
],
"env": {
"PERMISSION_REQUIRED": "true"
}
}
}
}
将 [PATH_TO_REPO] 替换为克隆的代码仓库的实际路径。
- 重启 Claude Desktop
可用工具
execute_command
- 执行任意终端命令
- 支持命令参数和选项
- 捕获完整输出和退出代码
change_directory
- 更改当前工作目录
- 在命令之间保持状态
- 支持相对路径和绝对路径
get_current_directory
- 获取当前工作目录路径
get_terminal_info
- 获取终端环境信息
- 显示 shell、用户、平台和近期命令历史
使用示例
请 Claude 执行如下终端命令:
Can you check what's in my current directory?
-> Executes: ls -la
Can you tell me the current directory?
-> Executes: pwd
Can you change to the Downloads folder?
-> Executes: cd ~/Downloads
安全注意事项
- 执行命令需要通过 Claude Desktop 获得用户的明确许可
- 可通过配置控制环境变量
- 命令执行包含超时和错误处理
开发
- 监听更改:
npm run watch
- 测试更改:
- 修改
src/中的源文件 - 使用
npm run build重新构建 - 重启 Claude Desktop 以加载更改
项目结构
/
├── src/
│ └── index.ts # Main server implementation
├── package.json # Project configuration and dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # This file
贡献
欢迎贡献!欢迎提交 Pull Request。
许可证
MIT 许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。