使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过自然语言聊天界面,使用户能够方便地管理本地计算机的用户账户。它通过 Claude Desktop 等 MCP 客户端连接,允许用户使用简单的聊天命令创建和删除用户,无需手动操作复杂的系统命令。
主要功能点
- 用户创建: 通过聊天指令,在 macOS 或 Ubuntu 系统上创建新的标准用户账户,并设置默认密码,强制用户首次登录时修改密码。
- 用户删除: 通过聊天指令,在 macOS 或 Ubuntu 系统上删除已有的用户账户。
- 跨平台支持: 目前支持 macOS 和 Ubuntu 操作系统。
- 易于集成: 可以方便地集成到支持 MCP 协议的客户端,如 Claude Desktop。
安装步骤
-
克隆仓库
将仓库克隆到本地计算机:
git clone https://github.com/maiphong0411/user-management-via-chat.git cd user-management-via-chat -
复制并配置 .env 文件
复制 '.env.example' 文件并重命名为 '.env':
cp .env.example .env在 '.env' 文件中,填入您的管理员密码(sudo 密码)。请务必妥善保管此密码,避免泄露。
-
安装 UV 包管理器
根据您的操作系统,安装 UV 包管理器。如果您的系统是 macOS 或 Ubuntu,可以使用 Homebrew 安装:
brew install uv -
安装依赖
使用 UV 安装项目依赖:
uv sync -
配置 Claude Desktop (或其他 MCP 客户端)
如果您使用 Claude Desktop,需要修改其配置文件以添加 MCP 服务器配置。打开 Claude Desktop 配置文件,通常位于:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json将以下 'mcpServers' 配置添加到配置文件中。请将 '/ABSOLUTE/PATH/TO/PARENT/FOLDER' 替换为您克隆仓库的父文件夹的绝对路径。 例如,如果您将仓库克隆到 '/Users/yourusername/Documents/user-management-via-chat',则父文件夹路径为 '/Users/yourusername/Documents'。
{ "mcpServers": { "user-manager": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER", "run", "mcp_server.py" ] } } }配置参数说明:
- '"user-manager"': MCP 服务器的名称,您可以自定义,在 Claude Desktop 中用于标识和选择该服务器。
- '"command": "uv"': 启动服务器的命令,这里使用 'uv' 包管理器来运行 Python 脚本。
- '"args"': 启动服务器命令的参数列表。
- '"--directory"': 指定工作目录为父文件夹,使得脚本可以找到 '.env' 文件等资源。
- '"/ABSOLUTE/PATH/TO/PARENT/FOLDER"': 请替换为实际的父文件夹绝对路径。
- '"run"': 'uv run' 命令用于运行 Python 脚本。
- '"mcp_server.py"': 指定要运行的 Python 脚本为 'mcp_server.py',即 MCP 服务器的入口文件。
保存配置文件后,重启 Claude Desktop。
基本使用方法
-
启动 Claude Desktop (或其他 MCP 客户端)
确保 Claude Desktop 已经启动并连接到您配置的 MCP 服务器 "user-manager"。
-
与 Claude 聊天
在 Claude Desktop 中,您可以开始与 Claude 聊天,并使用自然语言指令来管理用户。
创建用户示例:
您可以在聊天中输入类似 “我想创建一个名为 'testuser' 的新用户” 的指令。服务器会解析您的指令,并调用 'create_user' 工具创建用户。成功创建后,服务器会返回默认密码 "20252025",并提示您首次登录时必须修改密码。
删除用户示例:
您可以输入类似 “请删除用户 'testuser'” 的指令。服务器会调用 'delete_user' 工具删除指定用户。
注意: 由于用户管理涉及到系统权限,请谨慎使用用户管理功能,并确保您了解操作的风险。
信息
分类
开发者工具