终端服务器

一个基于模型上下文协议(MCP)的终端服务器,允许Claude AI通过终端命令管理本地文件和目录,提供安全隔离的执行环境。

  • by abhisvakil
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 abhisvakil/mcp-terminal-server

使用说明

MCP终端服务器🚀

我的第一个模型上下文协议(MCP)服务器,它使Claude AI能够通过终端命令管理本地文件和目录。该项目演示了如何在AI助手和本地开发环境之间创建一个安全的桥梁。

🌟 什么是MCP?

模型上下文协议(MCP)是一种协议,允许像克劳德这样的人工智能助手与本地机器上的外部工具和服务进行通信。它就像人工智能和系统之间的安全桥梁,支持强大的本地开发工作流程。

🎯 项目概述

此MCP服务器为Claude提供了以下能力:

  • 在受控工作空间中执行终端命令
  • 管理文件和目录
  • 运行开发工具和脚本
  • 安装软件包和依赖项
  • 同时通过隔离执行维护安全

🏗️ 建筑

┌─────────────────┐    MCP Protocol    ┌──────────────────┐    Shell Commands    ┌─────────────┐
│                 │◄──────────────────►│                  │◄────────────────────►│             │
│   Claude AI     │                    │  Terminal Server │                      │   Terminal  │
│                 │                    │  (Python Script) │                      │             │
└─────────────────┘                    └──────────────────┘                      └─────────────┘
                                              │
                                              ▼
                                       ┌─────────────┐
                                       │ ~/mcp/      │
                                       │ workspace/  │
                                       └─────────────┘

🚀 特性

  • 安全命令执行:所有命令都在隔离的工作区目录中运行
  • 错误处理:全面的错误捕获和报告
  • MCP协议合规性:与Claude Desktop完全兼容
  • 易于配置:设置简单,文档清晰

📦 安装

先决条件

  • Python 3.9+
  • Claude桌面应用程序
  • MCP库(pip install mcp>=1.0.0)

设置

  1. 克隆存储库:

    git clone https://github.com/yourusername/mcp-terminal-server.git
    cd mcp-terminal-server
    
  2. 安装依赖项:

    cd servers/terminal_server
    pip install -e .
    
  3. 配置Claude桌面:

    打开您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json

    添加以下配置:

    {
        "mcpServers": {
            "terminal": {
                "command": "/path/to/your/python",
                "args": [
                    "/path/to/mcp-terminal-server/servers/terminal_server/terminal_server.py"
                ]
            }
        }
    }
    
  4. 重新启动克劳德桌面 加载新配置。

🛠️ 用法

配置后,您可以要求Claude执行终端操作:

  • “在工作区中创建一个新的Python项目”
  • “列出工作区中的所有文件”
  • “安装请求包”
  • “运行测试套件”
  • “创建当前项目的备份”

🔧 发展

项目结构

mcp-terminal-server/
├── servers/
│   └── terminal_server/
│       ├── terminal_server.py    # Main MCP server implementation
│       ├── pyproject.toml        # Python project configuration
│       └── README.md            # Server-specific documentation
├── workspace/                   # Default working directory for commands
├── .vscode/                    # VS Code configuration
└── README.md                   # This file

关键组件

terminal_server.py

主MCP服务器:

  • 定义 run_command 克劳德的工具
  • 处理工作区中的命令执行
  • 提供错误处理和输出捕获

pyproject.toml

Python项目配置:

  • MCP依赖性规范
  • 构建系统配置
  • 项目元数据

🔒 安全功能

  1. 独立工作区:所有命令都在中运行 ~/mcp/workspace
  2. 受控访问:只有特定的工具才会暴露给Claude
  3. 错误处理:安全的错误捕获和报告
  4. 无系统访问权限:命令无法访问整个文件系统

🧪 测试

测试您的MCP服务器:

cd servers/terminal_server
python -c "import terminal_server; print('Server imports successfully')"

📝 配置示例

不同的Python解释器

蟒蛇/迷你蟒蛇:

{
    "command": "/opt/anaconda3/bin/python",
    "args": ["/path/to/terminal_server.py"]
}

系统Python:

{
    "command": "/usr/bin/python3",
    "args": ["/path/to/terminal_server.py"]
}

虚拟环境:

{
    "command": "/path/to/venv/bin/python",
    "args": ["/path/to/terminal_server.py"]
}

🤝 贡献

这是我的第一个MCP项目!请随意:

  • 报告问题
  • 提出改进建议
  • 分享您自己的MCP服务器创建

📚 学习资源

🎉 我的MCP之旅

这个项目标志着我开始探索模型上下文协议。MCP为人工智能辅助开发开辟了令人难以置信的可能性,使Claude成为一个真正的开发合作伙伴,可以安全有效地与您的本地环境进行交互。

主要学习内容:

  • 了解MCP协议及其功能
  • 在人工智能和本地系统之间建立安全的桥梁
  • 创建增强AI助手功能的工具
  • 受控、隔离的命令执行能力

📄 许可证

麻省理工学院许可证-欢迎将此项目作为您自己的MCP服务器的起点!


内置于❤️ 和MCP | 我迈向人工智能辅助开发未来的第一步