身份管理协议服务器

用于管理Pocket ID实例的模型上下文协议服务器,提供57种工具,包括用户管理、OIDC客户端配置、群组管理和审计日志等功能。

  • by nikkomiu
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 nikkomiu/pocketid-mcp

使用说明

pocketid mcp

用于管理的MCP(模型上下文协议)服务器 口袋ID 实例。提供57个工具,用于用户管理、OIDC客户端配置、组管理、审计日志等,所有这些都可以通过任何兼容MCP的客户端访问。

需求

  • 包子 v1.0+
  • 带有API密钥的正在运行的Pocket ID实例

安装

来自二进制版本

从以下网址下载适用于您平台的最新二进制文件 发布 页面。

来源

git clone https://github.com/nikkomiu/pocketid-mcp.git
cd pocketid-mcp
bun install

配置

环境变量

变量 必填 默认 描述
POCKETID_URL 是 -- Pocket ID实例的基本URL(例如。 https://auth.example.com)
POCKETID_API_KEY 是 - 用于身份验证的API密钥(通过“设置”>“API密钥”下的Pocket ID管理面板创建)
LOG_LEVEL 没有 info 日志级别(debug, info, warn, error)
LOG_FILE 没有 pocketid-mcp.log 日志文件名或绝对路径
LOG_DIR 否 (自动解析) 日志文件目录
LOG_TO_STDERR 没有 true 同时将日志写入stderr
LOG_TRUNCATE 没有 true 启动时截断旧日志条目
LOG_MAX_AGE_HOURS 没有 24 日志截断的最大年龄(小时)

克劳德代码

添加到您的Claude Code MCP设置中(~/.claude/settings.json 或项目 .mcp.json):

{
  "mcpServers": {
    "pocketid": {
      "command": "/path/to/pocketid-mcp",
      "env": {
        "POCKETID_URL": "https://auth.example.com",
        "POCKETID_API_KEY": "your-api-key"
      }
    }
  }
}

或者从源代码运行时:

{
  "mcpServers": {
    "pocketid": {
      "command": "bun",
      "args": ["run", "/path/to/pocketid-mcp/src/index.ts"],
      "env": {
        "POCKETID_URL": "https://auth.example.com",
        "POCKETID_API_KEY": "your-api-key"
      }
    }
  }
}

用法

配置后,您可以通过MCP客户端使用以下工具:

用户

工具 说明
user_list 使用分页、搜索和排序列出用户
user_get 按ID获取用户
user_create 创建新用户
user_update 更新现有用户
user_delete 删除用户
user_groups 列出特定用户的组
user_update_groups 更新用户的组成员资格
user_create_one_time_access_token 为用户创建一次性访问令牌
user_send_access_email 向用户发送一次性访问电子邮件

用户组

工具 说明
user_group_list 使用分页和搜索列出用户组
user_group_get 按ID获取用户组
user_group_create 创建新用户组
user_group_update 更新用户组
user_group_delete 删除用户组
user_group_update_users 在组中添加或删除用户
user_group_update_allowed_clients 配置哪些OIDC客户端可以访问此组

OIDC客户

工具 说明
oidc_client_list 通过分页和搜索列出OIDC客户端
oidc_client_get 按ID获取OIDC客户端
oidc_client_create 创建新的OIDC客户端
oidc_client_update 更新OIDC客户端
oidc_client_delete 删除OIDC客户端
oidc_client_create_secret 生成新的客户端密钥
oidc_client_update_allowed_groups 为客户端配置允许的用户组
oidc_client_preview_claims 预览特定用户的令牌声明
oidc_client_authorized_list 列出用户的授权客户端
oidc_client_revoke_authorization 撤销客户端授权

API密钥

工具 说明
api_key_list 列出API密钥
api_key_create 创建新的API密钥
api_key_renew 续订API密钥的过期时间
api_key_delete 删除API密钥

审计日志

工具 说明
audit_log_list 列出当前用户的审核日志
audit_log_list_all 列出所有审核日志(仅限管理员)
audit_log_filter_clients 获取用于审核日志筛选的客户端名称
audit_log_filter_users 获取用于审核日志筛选的用户名

定制索赔

工具 说明
custom_claim_suggestions 获取建议的自定义索赔名称
custom_claim_set_user 为用户设置自定义声明
custom_claim_set_group 为用户组设置自定义声明

应用程序配置

工具 说明
app_config_get 获取公共应用程序配置
app_config_get_all 获取所有配置(仅限管理员)
app_config_update 更新应用程序配置
app_config_test_email 发送测试电子邮件
app_config_sync_ldap 触发LDAP同步

注册令牌

工具 说明
signup_token_list 列出注册令牌
signup_token_create 创建注册令牌
signup_token_delete 删除注册令牌

SCIM配置

工具 说明
scim_provider_create 创建SCIM服务提供商
scim_provider_update 更新SCIM服务提供商
scim_provider_delete 删除SCIM服务提供程序
scim_provider_sync 触发手动SCIM同步

OIDC发现

工具 说明
oidc_discovery 获取OpenID Connect发现文档
oidc_jwks 获取JSON Web密钥集

应用程序图片

工具 说明
app_image_update_logo 上传或更新应用程序徽标
app_image_update_favicon 上传或更新favicon
app_image_update_background 上传或更新背景图像
app_image_delete_default_profile_picture 删除默认个人资料图片

效用

工具 说明
health_check 检查Pocket ID实例运行状况
version_latest 获取最新可用的Pocket ID版本

审计跟踪

所有变异操作(POST、PUT、DELETE)都会自动记录在 info 带结构化字段的级别:

{
  "level": 30,
  "time": "2026-02-13T10:30:00.000Z",
  "tool": "user_create",
  "httpMethod": "POST",
  "path": "/api/users",
  "resourceId": null,
  "success": true,
  "msg": "audit: user_create POST /api/users OK"
}

请求/响应主体、API密钥和PII从未被记录。

发展

从源代码运行

bun run start

构建独立二进制文件

bun run build

生产 dist/pocketid-mcp.

类型检查

bun run type-check

棉绒

bun run lint

格式

bun run format

许可证

麻省理工学院