项目简介
Koppla 是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于 Active Directory (AD) 管理。它允许用户使用自然语言与 Active Directory 环境进行交互,实现用户和组的查询及管理。Koppla 旨在简化 AD 管理任务,并使其可以通过支持 MCP 协议的 AI 客户端(如 Claude Desktop)进行操作。
主要功能点
- 自然语言查询: 使用自然语言轻松查询 Active Directory 中的用户、组和计算机对象信息。
- AD 对象管理: 支持常见的 Active Directory 管理操作,例如:
- 查找用户(按姓名、部门等条件)
- 查询用户所属组
- 更新用户属性(如部门、职位等)
- 将用户添加到组
- 从组中移除用户
- 安全配置管理: 提供安全的配置管理工具,用于加密存储 Active Directory 密码,保护敏感信息。
- 写操作保护: 默认禁用写操作,需要显式启用以进行用户属性更新、用户组管理等修改操作,并提供多重安全检查,防止误操作和未授权修改。
- 详细的操作日志和安全审计: 记录所有操作,方便问题追踪和安全审计。
安装步骤
- 环境准备: 确保你的系统已安装 Python 3.7 或更高版本。
- 安装 Koppla: 打开终端或命令提示符,运行以下命令安装 Koppla:
pip install koppla
服务器配置
MCP 客户端(如 Claude Desktop)需要配置 Koppla 服务器的启动信息才能建立连接。请将以下 JSON 配置添加到你的 MCP 客户端的配置文件中(例如 Claude Desktop 的 'claude_desktop_config.json'):
{ "mcpServers": { "Koppla-Active-Directory": { // 服务器名称,可以自定义 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["-m", "koppla.server"], // 命令参数,指定运行 koppla.server 模块作为 MCP 服务器 "env": { // 环境变量配置 "AD_SERVER": "ldap://<你的域控制器地址>:389", // Active Directory 服务器地址,例如 ldap://ad.example.com:389 "AD_USER": "<域名\\用户名>", // 用于连接 AD 的用户名,例如 DOMAIN\\username 或 [email protected] "AD_PASSWORD": "<密码>", // 用于连接 AD 的密码,**注意:推荐使用 'koppla-config configure' 命令进行配置,密码会被加密存储** "BASE_DN": "DC=lazyadmin,DC=nl", // LDAP 查询的基础 DN (Distinguished Name),例如 DC=example,DC=com "AD_WRITE_ENABLED": "false" // 是否启用写操作,默认为 false (禁用),设置为 "true" 以启用用户属性更新和组管理等写操作 } } } }
配置 AD 连接信息:
推荐使用 Koppla 提供的配置管理工具 'koppla-config' 来安全地配置 Active Directory 连接信息。在终端或命令提示符中运行:
koppla-config configure
按照提示输入 Active Directory 服务器地址、用户名、密码和 Base DN。'koppla-config' 工具会自动加密密码并更新 MCP 客户端的配置文件。
基本使用方法
- 启动 MCP 客户端 (如 Claude Desktop),客户端会自动连接到配置的 Koppla 服务器。
- 在 MCP 客户端中使用自然语言指令与 Active Directory 交互。例如:
- "查找所有部门为销售部的用户"
- "将用户 John Doe 添加到组 'IT Support'"
- "列出所有被锁定的用户账户"
注意: 对于涉及到数据修改的操作(如更新用户属性、添加用户到组等),Koppla 默认需要用户显式确认。MCP 客户端在收到需要确认的响应时,务必先向用户展示即将执行的操作,并征求用户同意 后再发送确认指令。
信息
分类
商业系统