Okta用户管理MCP服务器

一个用于Okta用户管理的MCP服务器,提供CRUD操作工具,可部署到Railway或本地Docker运行。

  • by BalaGanaparthi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BalaGanaparthi/okta-mcp-server-003

使用说明

Okta MCP服务器

用于Okta用户管理的MCP(模型上下文协议)服务器。该服务器为Okta用户提供CRUD操作工具,可以部署到Railway或使用Docker在本地运行。

特性

  • create_user -创建一个新的Okta用户
  • list_users -列出具有可选搜索筛选的用户
  • get_user -通过ID或登录获取用户详细信息
  • update_user -更新用户配置文件信息
  • 删除用户 -停用并删除用户
  • API密钥验证 -所有MCP端点均受保护 x-api-key 头球

先决条件

  • Docker和Docker Compose
  • 具有API访问权限的Okta开发人员帐户
  • Octba API代币

获取Okta API代币

  1. 登录Okta管理控制台
  2. 导航至 安全>API>代币
  3. 点击 创建令牌
  4. 为其命名并复制令牌值(您将无法再次看到它)

本地开发

1.配置环境

# Copy the example environment file
cp .env.example .env

# Edit .env with your credentials
# OKTA_DOMAIN=dev-xxxxx.okta.com
# OKTA_API_TOKEN=00xxxxxxxxxxxxxxxxxx
# MCP_API_KEY=your-secret-api-key

2.使用Docker构建和运行

# Build and start the server
docker-compose up --build

# The server will be available at http://localhost:8000

3.测试服务器

# Check server health (no auth required)
curl http://localhost:8000/health

# Test MCP endpoint (requires x-api-key header)
curl -X POST http://localhost:8000/mcp \
  -H "x-api-key: your-secret-api-key" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}'

4.使用MCP检查员进行测试

npx @anthropic/mcp-inspector http://localhost:8000/mcp

铁路部署

1.推送到GitHub

将此存储库推送到您的GitHub帐户。

2.部署到铁路

  1. 首选 铁路
  2. 点击 新项目 > 从GitHub仓库部署
  3. 选择您的存储库
  4. Railway将自动检测Dockerfile

3.配置环境变量

在铁路仪表板中,添加以下环境变量:

变量 描述
OKTA_DOMAIN 您的Okta域名(例如。, dev-12345.okta.com)
OKTA_API_TOKEN 您的Okta API代币
MCP_API_KEY 用于客户端身份验证的机密API密钥

铁路自动提供 PORT 变量。

4.获取您的服务器URL

部署后,Railway提供了一个公共URL:

https://okta-mcp-server-003-production.up.railway.app

与Claude Desktop一起使用

添加到您的Claude Desktop MCP配置(claude_desktop_config.json):

{
  "mcpServers": {
    "okta": {
      "url": "https://okta-mcp-server-003-production.up.railway.app/mcp",
      "headers": {
        "x-api-key": "your-mcp-api-key"
      }
    }
  }
}

对于当地发展:

{
  "mcpServers": {
    "okta": {
      "url": "http://localhost:8000/mcp",
      "headers": {
        "x-api-key": "your-mcp-api-key"
      }
    }
  }
}

API 参考

create_user

创建一个新的Okta用户。

参数:

  • email (必填):用户的电子邮件地址
  • first_name (必填):用户名
  • last_name (必填):用户姓氏
  • login (可选):用户登录(默认为电子邮件)

list_users

列出具有可选筛选功能的用户。

参数:

  • limit (可选):可返回的最大用户数(默认值:20)
  • search (可选):搜索查询以进行筛选

get_user

通过ID或登录获取用户。

参数:

  • user_id (必填):用户名或登录电子邮件

update_user

更新用户配置文件。

参数:

  • user_id (必填):用户名或登录电子邮件
  • first_name (可选):新名字
  • last_name (可选):新姓氏
  • email (可选):新电子邮件地址

删除用户

停用并永久删除用户。

参数:

  • user_id (必填):用户名或登录电子邮件

项目结构

okta-mcp-server/
├── src/
│   └── okta_mcp_server/
│       ├── __init__.py
│       ├── server.py          # MCP server with tools
│       └── okta_client.py     # Okta API wrapper
├── Dockerfile
├── docker-compose.yml
├── pyproject.toml
├── requirements.txt
├── .env.example
└── README.md

许可证

麻省理工学院