内容
# SailPoint 身份管理 MCP 服务器
用于与 SailPoint 交互的 MCP(模型上下文协议)服务器。支持 **IdentityNow (IDN)** 和 **IdentityIQ (IIQ)**。该服务器允许 LLM 直接从 SailPoint 环境中搜索和检索身份详细信息。
## 功能特点
- **多产品支持**: 与 SailPoint IdentityNow(SaaS)和 SailPoint IdentityIQ(本地部署)均可交互。
- **身份搜索**:
- **IDN**: 使用 `/v3/search` API。
- **IIQ**: 使用**自定义插件 REST API**(可配置路径)。
- **模拟模式**: 在没有活跃的 SailPoint 连接的情况下,使用模拟数据测试服务器。
- **现代化栈**: 使用 Python 构建,由 `uv` 管理。
## 前置条件
### 依赖和环境
- **Python**: 版本 `3.10` 或更高。
- **软件包**: `httpx`(HTTP 客户端),`mcp`(模型上下文协议 API),以及 `python-dotenv`(环境变量加载)。这些由 `uv` 自动管理。
- **系统**: 系统上已安装 [uv](https://github.com/astral-sh/uv)。
### SailPoint 目标系统
- SailPoint 凭证:
- **IdentityNow**: 个人访问令牌(客户端 ID 和客户端密钥)。
- **IdentityIQ**: 已安装自定义插件和服务账户凭证。
## 配置
1. 在项目根目录中创建 `.env` 文件(使用 `.env.example` 作为模板)。
2. 根据您的产品配置以下变量:
### For IdentityNow (IDN)
```env
SAILPOINT_PRODUCT=idn
SAILPOINT_TENANT=您的租户.identitynow.com
SAILPOINT_CLIENT_ID=您的客户端 ID
SAILPOINT_CLIENT_SECRET=您的客户端密钥
MOCK_MODE=false
```
### For IdentityIQ (IIQ)
```env
SAILPOINT_PRODUCT=iiq
IIQ_URL=https://您的-iiq-主机/identityiq
IIQ_USERNAME=管理员
IIQ_PASSWORD=密码
IIQ_CUSTOM_API_PATH=插件/rest/自定义插件/getIdentities
MOCK_MODE=false
```
## 运行服务器
### 本地测试
使用 MCP Inspector 测试服务器:
```powershell
npx @modelcontextprotocol/inspector uv run server.py
```
### 现实世界使用(Claude Desktop)
要将此服务器与 Claude Desktop 一起使用,请将其添加到您的配置文件中:
**文件位置**: `%APPDATA%\Claude\claude_desktop_config.json`
**配置**:
```json
{
"mcpServers": {
"sailpoint-iam": {
"command": "uv",
"args": [
"--directory",
"c:\\MyProjects\\SailPoint\\MCPIAM",
"run",
"server.py"
],
"env": {
"SAILPOINT_PRODUCT": "iiq",
"IIQ_URL": "http://localhost:8080/identityiq",
"IIQ_USERNAME": "spadmin",
"IIQ_PASSWORD": "admin",
"MOCK_MODE": "false"
}
}
}
}
```
> **重要**: 如果您已经在此文件中配置了现有配置(例如 `"preferences"` 块),请谨慎 **不要覆盖** 它!您应该将 `"mcpServers"` 块与现有设置合并。
## 可用工具
### `get_identity_details`
- **描述**: 按姓名、别名或用户名搜索身份详细信息。
- **参数**:
- `name`(字符串): 搜索词。
- **返回**: 包含身份属性的搜索结果列表。
## 个人设置备份
*完整的 Claude desktop 配置以备保存:*
```json
{
"mcpServers": {
"sailpoint-iam": {
"command": "uv",
"args": [
"--directory",
"c:\\MyProjects\\SailPoint\\MCPIAM",
"run",
"server.py"
],
"env": {
"SAILPOINT_PRODUCT": "iiq",
"IIQ_URL": "http://localhost:8080/identityiq",
"IIQ_USERNAME": "spadmin",
"IIQ_PASSWORD": "admin",
"MOCK_MODE": "false"
}
}
},
"preferences": {
"coworkScheduledTasksEnabled": true,
"ccdScheduledTasksEnabled": true,
"sidebarMode": "chat",
"coworkWebSearchEnabled": true
}
}
```