Okta-MCP

Okta-MCP

A production-ready MCP server for Identity and Access Management with Okta integration, providing user and group management, audit logging, and permission guardrails.

Category
Visit Server

README

MCP Server for IAM Solutions

A production-ready Model Context Protocol (MCP) Server for Identity and Access Management solutions. Currently supports Okta with an extensible architecture for Azure ENTRA ID, Google Workspace, and more.

Features

  • šŸ” Okta Integration - Full user and group management
  • šŸ“ Audit Logging - Real-time operation tracking
  • šŸ›”ļø Permission Guardrails - Three-tier access control (admin/operator/viewer)
  • šŸ’¾ Local Database - SQLite for audit trails and user caching
  • ⚔ Async Support - Built for performance
  • šŸ“Š Web Dashboard - Flask-based management UI
  • šŸ”„ SCIM Support - SCIM 2.0 provisioning server

šŸ“ Project Structure

MCP_Final/
ā”œā”€ā”€ README.md                   # This file
ā”œā”€ā”€ requirements.txt            # Python dependencies
ā”œā”€ā”€ run_mcp.bat                # Quick start script
│
ā”œā”€ā”€ config/                    # šŸ“‹ Configuration files
│   ā”œā”€ā”€ .env.example          # Environment template
│   ā”œā”€ā”€ tenants.yaml          # Tenant configurations
│   └── tenants.yaml.example  # Tenant template
│
ā”œā”€ā”€ docs/                      # šŸ“š Documentation
│   ā”œā”€ā”€ ARCHITECTURE.md       # System architecture
│   └── NGROK_SETUP.md        # Ngrok setup guide
│
ā”œā”€ā”€ scripts/                   # šŸ”§ Utility scripts
│   ā”œā”€ā”€ migrations/           # Database migrations
│   ā”œā”€ā”€ testing/              # Test utilities
│   └── utils/                # General utilities
│
ā”œā”€ā”€ src/                       # šŸŽÆ Core MCP server
ā”œā”€ā”€ scim/                      # šŸ” SCIM 2.0 server
ā”œā”€ā”€ dashboard/                 # šŸ“Š Web dashboard
└── data/                      # šŸ’¾ Database files

Quick Start

1. Install Dependencies

pip install -r requirements.txt

2. Configure Environment

# Copy example environment file
cp config/.env.example .env

# Edit .env with your credentials
notepad .env

3. Configure Tenants

# Copy tenant example
cp config/tenants.yaml.example config/tenants.yaml

# Edit with your Okta details
notepad config/tenants.yaml

4. Initialize Database

python -m src.database.init

5. Run the Server

# Quick start
run_mcp.bat

# Or manually
python -m src.server

Configuration

Configuration files are located in the config/ directory. See config/README.md for details.

Environment Variables (.env)

Variable Description Required
OIDC_CLIENT_ID OAuth client ID Yes
OIDC_CLIENT_SECRET OAuth client secret Yes
OIDC_DISCOVERY_URL OIDC discovery endpoint Yes
SECRET_KEY Flask session secret Yes
DATABASE_URL SQLite database path No (default: ./data/mcp_server.db)
LOG_LEVEL Logging verbosity No (default: INFO)

Tenant Configuration (config/tenants.yaml)

Configure multiple Okta tenants. See config/README.md for format.

Available MCP Tools

User Management

  • list_okta_users - List all users with optional filters
  • get_okta_user - Get user by ID or email
  • create_okta_user - Create new user
  • update_okta_user - Update user profile
  • delete_okta_user - Deactivate/delete user (admin only)
  • suspend_okta_user / unsuspend_okta_user - Manage user status

Group Management

  • list_okta_groups - List all groups
  • get_okta_group - Get group details
  • create_okta_group - Create new group
  • delete_okta_group - Delete group (admin only)
  • list_group_members - List users in a group
  • add_user_to_group / remove_user_from_group - Manage membership

Audit Tools

  • query_audit_logs - Search audit history
  • get_user_audit_trail - User-specific activity
  • export_audit_report - Generate reports

Permission Levels

Level Read Create Update Delete
Viewer āœ… āŒ āŒ āŒ
Operator āœ… āœ… āœ… āŒ
Admin āœ… āœ… āœ… āœ…

Claude Desktop Integration

Add to your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "iam-okta": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "C:\\path\\to\\MCP_Final"
    }
  }
}

Components

Core MCP Server (src/)

Main Model Context Protocol server providing Okta integration tools.

SCIM Server (scim/)

SCIM 2.0 provisioning server for automated user/group management.

Dashboard (dashboard/)

Web-based management UI with user administration, audit logs, and monitoring. See dashboard/README.md.

Utilities & Scripts

All utility scripts are in the scripts/ directory:

  • Migrations: scripts/migrations/ - Database migration scripts
  • Testing: scripts/testing/ - Test utilities
  • Utils: scripts/utils/ - General utilities

See scripts/README.md for details.

Documentation

Complete documentation is in the docs/ directory:

See docs/README.md for the full documentation index.

License

MIT License

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured