租户用户信息统计
服务介绍
MCP TOOL: 租户与用户信息查询工具
概述
此工具是用于从硬件技术云平台查询租户和用户信息的模型上下文协议(MCP)服务。它通过安全的API接口提供功能,以统计总租户数量并汇总所有租户的用户数量。
主要特性
- ✅ 自动检索租户列表和用户数量
- ✅ 安全的API认证(基于令牌)
- ✅ 准确的统计数据计算(总租户数 + 总用户数)
- ✅ 符合MCP标准的接口
- ✅ 禁用SSL验证(仅限测试环境)
依赖项
bash
pip install fastmcp requests urllib3
配置
在代码中修改这些参数 (config.py):
python
配置(请修改这些)
domain = 'cloud.xxxxx.com' # 技术云API域名
username = 'xxxxx299X' # 管理员用户名
password = 'your_password' # 替换为实际密码
安全提示:
- 避免在代码中硬编码密码(生产环境中使用环境变量)
- 此工具仅适用于测试环境(已禁用SSL验证)
执行
本地启动
bash
python tenant_tool.py
服务端点
plain
http://localhost:8001/mcp
API接口
工具名称
get_tenant_stat
输入
无需参数
响应格式
json
{
"tenant_num": 15,
"total_user_num": 248
}
使用示例
bash
curl -X POST http://localhost:8001/mcp
-H "Content-Type: application/json"
-d '{"tool": "get_tenant_stat"}'
工作流程
- 认证
- 使用凭证通过
/api/baseplat-bi/login获取令牌
- 租户查询
- 从
/api/baseplat-bi/tenant/getTenantList获取租户列表 - 统计总租户数 (
tenant_num)
- 用户统计
- 遍历租户并调用
/api/baseplat-bi/tenant/getTenantUserList?tenantId={id} - 累加所有
userCount值 (total_user_num)
代码结构
plain
├── tenant_tool.py # 主程序 (MCP服务)
├── CMPLogin.py # 云API交互类
└── README.md # 本文档
安全考虑
- SSL验证
- 代码中禁用了SSL (
verify=False) - 在生产环境中启用SSL (
verify=True)
- 密码管理
- 避免硬编码密码
- 推荐使用环境变量:
python
password = os.getenv("CLOUD_PASSWORD", "default_password")
- 错误处理
- 处理常见的网络/API错误
- 未处理的错误返回
None(需要调用者处理)
故障排除
Q: 为什么返回tenant_num=0?
A: 检查:
- 域名配置是否正确
- 用户名/密码是否有效
- 云API是否可用
Q: 如何获取详细的用户信息?
A: 当前工具仅提供统计数据。扩展get_tenant_user方法以获取用户列表。
版本历史
| 版本 | 日期 | 说明 |
|---|---|---|
| 1.0 | 2025-11-03 | 初始发布(统计数据) |
| 1.1 | 2025-11-05 | 增强错误处理 |
联系方式
- 维护者: [您的姓名/团队]
- 邮箱: your_email@company.com
仅供内部使用。未经授权禁止访问。
遵循公司安全政策并定期轮换API凭据。