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
许可证
麻省理工学院