npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@iflow-mcp/yiyangli-okta-mcp-server

v2025.2.24

Published

A Model Context Protocol server used to integrate Okta resources and Claude Desktop

Readme

Okta MCP Server

MCP Server for the Okta API, enabling Claude to interact with Okta organizations.

Demo

demo

Tools

  1. okta_list_users_make_request

    • List users in the Okta organization
    • Optional inputs:
      • limit (number, default: 20): Maximum number of users to return
      • query (string): Search a user by firstName, lastName, or email
    • Returns: List of users with their basic information
  2. okta_create_user_make_request

    • Create a new user in Okta
    • Required inputs:
      • profile (object):
        • firstName (string): User's first name
        • lastName (string): User's last name
        • email (string): User's email address
        • login (string): User's login (usually email)
    • Optional inputs:
      • credentials (object):
        • password (object):
          • value (string): User's password
    • Returns: Created user object with full details
  3. okta_get_user_make_request

    • Get detailed information about a specific user
    • Required inputs:
      • userId (string): User ID or login
    • Returns: Full user object with all details
  4. okta_update_user_make_request

    • Update an existing user's profile
    • Required inputs:
      • userId (string): User ID to update
      • profile (object): Profile fields to update
        • firstName (string, optional)
        • lastName (string, optional)
        • email (string, optional)
        • login (string, optional)
    • Returns: Updated user object
  5. okta_delete_user_make_request

    • Delete a user (automatically handles deactivation first)
    • Required inputs:
      • userId (string): User ID to delete
    • Returns: Confirmation message
  6. okta_list_groups_make_request

    • List groups in the Okta organization
    • Optional inputs:
      • limit (number, default: 20): Maximum number of groups to return
      • search (string): Search expression for groups
    • Returns: List of groups with their information
  7. okta_create_group_make_request

    • Create a new group
    • Required inputs:
      • profile (object):
        • name (string): Name of the group
        • description (string, optional): Group description
    • Returns: Created group object
  8. okta_assign_user_to_group_make_request

    • Add a user to a group
    • Required inputs:
      • groupId (string): ID of the group
      • userId (string): ID of the user
    • Returns: Confirmation message
  9. okta_list_applications_make_request

    • List applications in the Okta organization
    • Optional inputs:
      • limit (number, default: 20): Maximum number of applications to return
      • query (string): Search for apps with name or label properties
    • Returns: List of applications with their details
  10. okta_assign_user_to_application_make_request

    • Assign a user to an application
    • Required inputs:
      • appId (string): Application ID
      • userId (string): User ID
    • Optional inputs:
      • profile (object): Application-specific user profile
    • Returns: Application user assignment object
  11. okta_assign_group_to_application_make_request

    • Assign a group to an application
    • Required inputs:
      • appId (string): Application ID
      • groupId (string): Group ID
    • Returns: Application group assignment object
  12. okta_deactivate_application_make_request

    • Deactivate an application
    • Required inputs:
      • appId (string): ID of the application to deactivate
    • Returns: Confirmation message
  13. okta_delete_application_make_request

    • Delete an application
    • Required inputs:
      • appId (string): ID of the application to delete
    • Returns: Confirmation message

Setup

  1. Create an Okta API Token:

    • Log in to your Okta organization as an administrator
    • Navigate to Security → API → Tokens
    • Click "Create Token" and save the token value
  2. Get your Okta Domain:

    • Your Okta domain typically looks like: dev-123456.okta.com
    • You can find this in your Okta dashboard URL

Example Interactions with Claude

Here are some natural ways to interact with the server through Claude:

  1. Find a user by name
Is there a user named "Joe" in my okta org?
  1. Assign a user to an application
assign the user [email protected] to the Slack application

Usage with Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "okta": {
      "command": "npx",
      "args": [
        "-y",
        "@yiyang.1i/okta-mcp-server"
      ],
      "env": {
        "OKTA_DOMAIN": "your-domain.okta.com",
        "API_TOKEN": "your-api-token"
      }
    }
  }
}

Troubleshooting

If you encounter permission errors, verify that:

  1. Your API token is valid
  2. The API token has sufficient permissions for the operations you're trying to perform
  3. The Okta domain is correctly specified

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.