ActiveDirectoryMCP:一个用 Python 开发的 MCP 服务器

20次阅读
没有评论
ActiveDirectoryMCP 免费下载
获取下载链
微信关注「软件教程管家」公众号,回复 activedirectorymcp
官方渠道:GitHub 仓库

30 秒速读:本篇讲的是开源项目 ActiveDirectoryMCP:一个用 Python 开发的 MCP 服务器,把企业 Active Directory 的用户、组、计算机、组织单位查询,以及域安全审计和诊断能力,封装成 45 个工具,直接交给 Claude Desktop、Claude Code、Cursor 等 AI 客户端调用。结论先行:如果你想让 AI 助手”看懂并操作”公司域控,它是目前最直接的一座桥;但它默认只读、且官方尚未在真实 AD 域上完整验证,生产上线前必须自己做隔离测试。

ActiveDirectoryMCP 软件信息一览

项目 内容
项目名称 ActiveDirectoryMCP
开发语言 Python(基于 FastMCP)
版本状态 滚动更新,截至 2026-10 尚未打正式版 tag(仓库 161 次提交)
运行平台 Windows / macOS / Linux(Docker 亦可)
许可证 MIT
核心能力 45 个 MCP 工具:用户、组、计算机、组织单位、域安全报告、服务器诊断

版本选择:源码运行、HTTP 服务还是 Docker 部署

结论先行:个人在工作站上接 Claude Desktop,选源码 + uv 本地运行(stdio 模式),这是官方 quickstart 路线,步骤最少;需要团队共享或远程调用时,再考虑 HTTP 服务或 Docker 部署。

部署方式 适合场景 结论
源码运行(uv + stdio) 个人工作站接入 Claude Desktop / Claude Code / Cursor 推荐:配置最少,AI 客户端直连本地进程
HTTP 服务模式 团队共享一个 AD 代理、多客户端远程调用 需要配置 API 密钥,适合服务化
Docker 部署 统一交付、隔离运行 容器以非 root 用户运行 HTTP 服务,监听 8813 端口

安装步骤(stdio 接入 Claude Desktop)

  1. 安装 Python 3.11 或更高版本,并安装 uv(项目的包管理与运行都依赖它)。
  2. 克隆仓库后进入目录,执行 uv sync --locked 安装依赖;可选先跑 uv run pytest -q 做单元自检,这一步不需要连目录。
  3. 复制配置模板:cp ad-config/config.example.json ad-config/ad-config.json,然后按自家域修改 active_directory.server、domain、base_dn、bind_dn 四处。注意模板示例用的是 ldaps:// 地址,而 security.require_secure_connection 默认就是 true,LDAPS 是强建议项。
  4. 用环境变量提供绑定凭据,不要写进配置文件:export AD_BIND_DN='CN=service-account,OU=Service Accounts,DC=example,DC=com',再用 read -rs AD_PASSWORD 输入密码(不回显)。生产环境建议改用 Azure Key Vault(uv sync 时加 --extra azure)。
  5. 启动:AD_MCP_CONFIG=ad-config/ad-config.json uv run activedirectory-mcp。stdio 服务会在前台等待客户端连接。最后按项目 README 里的三套示例,把它配进 Claude Desktop(claude_desktop_config.json)、Claude Code(claude mcp add)或 Cursor(.cursor/mcp.json)即可。

装完必改的 4 处安全设置

以下都在 ad-config/ad-config.json 的 security 节或启动参数里,不改就等于把默认策略直接暴露出去:

  1. security.allow_writes(默认 false):读工具开箱即用,但创建、修改、启用、禁用、重置密码、成员关系变更等写工具会被直接拒绝。体感差别:不开,AI 只能”看”域;开了,才有”受控变更”。建议先保持只读跑两周审计,确认无误再开。
  2. security.allow_destructive(默认 false):删除类工具的第二道锁,即使开了 allow_writes 也删不了东西。体感差别:这是防 AI 一句话删错 OU 的救命开关,生产环境建议长期关闭,除非有明确的自动化清理需求。
  3. security.max_list_results(默认 1000):列表和报告工具单次最多返回条数。体感差别:域里上万用户时,默认配置跑出来的安全报告是被截断的,先调大再做全量审计。
  4. HTTP 模式的 --host 参数:默认 0.0.0.0 全网监听。体感差别:在工作站上跑必须显式改成 --host 127.0.0.1,否则内网任何人都能连你的 AD 代理;HTTP 传输还强制要求 API 密钥(只有 GET /health 免认证),密钥建议用 SHA-256 摘要形式提供。

注意事项与常见问题

  • 它没在真实 AD 上测过。据项目说明,官方测试只覆盖了模拟 LDAP 环境和 OpenLDAP 实验环境,README 明确声明”真实域验证是运营方的责任”。生产使用前,必须在隔离环境对真实域完整验证一遍,不要拿 OpenLDAP 的测试结果直接套生产。
  • 密码千万别写进文件。三档方案按安全度排序:环境变量(README 默认做法)→ 随仓库的 .env(启动脚本会自动加载)→ Azure Key Vault。注意 Docker 场景下明文环境变量能被 docker inspect 看到,生产建议走 Key Vault,也不要把密码提交进任何仓库。
  • 连不上域控但服务照常启动是正常的。README 明确说明:初始目录连接失败只打日志、不阻止启动,工具列表照常可用,真正调用时才报错。排查顺序:先 curl /health(免密钥)确认服务活着,再检查 LDAP 地址、Base DN 和服务账户权限。
  • Claude Desktop 里提示找不到 uv?把配置里 command 的 uv 换成绝对路径(which uv 查),README 有明确说明;也不要用 start_server.sh 当客户端命令,它会往 stdout 打进度日志,只适合手动启动。
  • 服务账户用最小权限专用账户。不要拿域管理员账户做绑定,按实际需要的读/写范围授权,这是 README 单独列”Service account”章节强调的事项。

适合谁:选型判断与替代方案

适合已有 Python、LDAP 和容器运维能力的团队:想把”查 AD、审 AD、改 AD”变成 AI 客户端里的自然语言操作,或者想把域安全审计报告自动化。独立的目录管理员拿它做”AI 审计助手”也顺手。

不适合两种情况:一是只需要基础 LDAP 查询的场景,直接用 ldapsearch、ADUC 或 PowerShell AD 模块更轻,多套一层 MCP 只是徒增复杂度;二是没有 AD 域的纯云 IdP 环境,它走的是 LDAP 协议,不是 Entra 这类云目录的 Graph API,对不上口径。

深度补充(独家整理):本文把散落在 README 各章节的安全开关收拢成一张”四处必改”清单,并给出了”个人 stdio / 团队 HTTP / 交付 Docker”三条部署路线的选型结论,源稿没有这层取舍判断,可直接照着落地。

开源地址

前往 GitHub 查看 ActiveDirectoryMCP

GitHub 国内访问较慢,如打不开可多刷新几次

版本对比与推荐

推荐结论:个人在工作站上接客户端选源码加 uv 本地运行;需要团队共享或远程调用时再考虑 HTTP 服务或 Docker 部署。项目目前为滚动更新、尚未打正式版 tag,生产上线前必须在隔离环境对真实域完整验证一遍。

版本部署形态 适合场景 稳定性 推荐结论
源码运行加 uv,stdio 模式 个人工作站接入客户端 滚动更新版本,官方 quickstart 路线 推荐:个人首选,配置最少
HTTP 服务模式 团队共享一个代理、多客户端远程调用 滚动更新版本,需配置 API 密钥 推荐:团队共享时选用
Docker 部署 统一交付、隔离运行 滚动更新版本,容器以非 root 用户运行 推荐:统一交付时选用,监听端口以官网为准

补充设置与排错指南

补充设置:只读先行、双锁常闭、监听收紧

第一,先保持只读跑两周审计:写工具默认关闭,确认审计无误再开写权限,不要一上来就全开。第二,删除类工具的第二道锁长期关闭:即使开了写权限,删除类工具仍会被拒绝,这是防一句话删错组织单位的救命开关。第三,工作站上跑 HTTP 模式必须显式绑本地回环地址,不要用默认全网监听,同时确认 API 密钥已按要求配置。

常见问题补充

第一,官方测试只覆盖模拟环境与实验环境:真实域验证是运营方的责任,生产使用前必须在隔离环境对真实域完整验证,不要拿实验结果直接套生产。第二,连不上域控但服务照常启动是正常的:初始连接失败只打日志、不阻止启动,真正调用时才报错,排查先确认服务活着,再查地址、Base DN 与服务账户权限。第三,服务账户必须用最小权限专用账户:不要拿域管理员账户做绑定,按实际需要的读或写范围授权。

报错排错

第一,客户端里提示找不到 uv:把配置里命令的 uv 换成绝对路径,用 which 命令查询,不要用手动启动脚本当客户端命令,它会往标准输出打进度日志。第二,调用时才报连接错误:先按排查顺序走,先确认服务本身活着,再查 LDAP 地址与绑定账户。第三,密码相关问题:密码不要写进配置文件,优先用环境变量提供,生产环境建议走官方文档提到的密钥保管方案,也不要把密码提交进任何仓库。

推广ActiveDirectoryMCP 免费下载

关注「软件教程管家」

回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。

版权与使用提示

本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›

上次编辑至今:12小时 · 内容还比较新鲜

公告

契机库网站正式上线!

了解更多
正文完
 0
评论(没有评论)