AU

Auth0 MCP Server for Tenant Management

Manage your Auth0 tenant with the MCP server to create and modify actions, applications, forms, logs, resource servers, and more.

Quick Install
npx -y @auth0/auth0-mcp-server

Overview

The Auth0 MCP Server connects Auth0 tenant management to MCP-compatible LLM clients (Claude, Cursor, Windsurf, Gemini CLI, VS Code extension, and others). It implements a set of “tools” that expose common Auth0 management operations—create and manage applications, Actions, resource servers, rules/forms, and logs—so an LLM agent can perform administrative tasks via natural language or scripted tool calls.

This server runs locally and forwards authorized requests to the Auth0 Management API. It uses the Model Context Protocol to present those management operations as first-class tools to MCP clients, enabling workflows like creating a new application, deploying an Action, or querying tenant logs without opening the Auth0 Dashboard.

Features

  • Exposes Auth0 Management API actions as MCP tools
  • Supports create/read/update/delete for Applications, Actions, Resource Servers, Forms, Rules, and Users
  • Read-only mode for safer integrations
  • Per-client tool scoping (select which tools are available to each MCP client)
  • OAuth2 device authorization flow and local keychain credential storage
  • Works with multiple MCP clients: Claude Desktop, Cursor, Windsurf, VS Code, Gemini CLI, and custom clients

Installation / Configuration

Prerequisites:

  • Node.js v18 or higher
  • An Auth0 account with Management API permissions
  • An MCP client (Claude Desktop, Cursor, Windsurf, VS Code, Gemini CLI, etc.)

Install and initialize with the convenience command (uses npx to run without global install):

# Default: starts init flow and enables all tools
npx @auth0/auth0-mcp-server init

Common variants:

# Read-only mode (only list/get operations)
npx @auth0/auth0-mcp-server init --read-only

# Explicit tools selection (pattern or comma-separated)
npx @auth0/auth0-mcp-server init --tools 'auth0_list_*,auth0_get_*'

# Specify MCP client
npx @auth0/auth0-mcp-server init --client cursor
npx @auth0/auth0-mcp-server init --client windsurf
npx @auth0/auth0-mcp-server init --client vscode
npx @auth0/auth0-mcp-server init --client gemini

Manual MCP client config (example for adding the server to any MCP client that supports local MCP servers):

{
  "mcpServers": {
    "auth0": {
      "command": "npx",
      "args": ["-y", "@auth0/auth0-mcp-server", "run"],
      "capabilities": ["tools"],
      "env": { "DEBUG": "auth0-mcp" }
    }
  }
}

Authentication

  • The init flow opens your browser to perform OAuth2 device authorization.
  • Credentials are stored in the OS keychain (or platform equivalent).
  • You can revoke or reconfigure credentials by re-running the init command.

Available Resources (tools)

The server exposes a family of tools; common resource categories include:

Resource typeTypical tool name pattern
Applications (clients)auth0_list_applications, auth0_get_application, auth0_create_application, auth0_update_application, auth0_delete_application
Actionsauth0_list_actions, auth0_get_action, auth0_create_action, auth0_deploy_action
Logsauth0_list_logs, auth0_get_log
Resource Servers (APIs)auth0_list_resource_servers, auth0_get_resource_server, auth0_create_resource_server
Forms / Hosted Pagesauth0_list_pages, auth0_get_page, auth0_update_page
Usersauth0_list_users, auth0_get_user, auth0_update_user
Keys & Certificatesauth0_list_keys, auth0_get_key

Tools follow consistent naming (verb_resource) and support JSON input/output for structured automation.

Use Cases & Examples

  • Create a new application and return its domain and client ID:

    • Natural language: “Create a new Auth0 application named ‘my-app’ and give me the domain and client ID.”
    • Tool call: auth0_create_application with JSON body { “name”: “my-app”, “app_type”: “regular_web” }
  • Deploy an Action that issues a JWT:

    • “Create an Action called ‘issue_jwt’, add code to sign a token, and deploy it to the Login flow.”
    • The server will create the action, upload source, and call auth0_deploy_action.
  • Search login events for a specific IP:

    • “Find Auth0 logs for successful logins from 192.108.92.3 in the last 7 days.”
    • This uses auth0_list_logs with filters for date range and IP.
  • Audit read-only integrations:

    • Configure read-only tools for auditing assistants to list users, apps, and logs without modifying tenant state.

Security & Best Practices

  • Limit tools available to a client using –tools patterns or explicit lists. Avoid exposing write/delete operations to untrusted clients.
  • Prefer read-only mode for exploratory or audit agents.
  • Run the MCP server on a trusted machine and keep the node process isolated if giving access to third-party agents.
  • Rotate Auth0 Management API credentials and revoke device authorizations when required.

Troubleshooting & Contributing

  • Source code and issue tracker: https://github.com/auth0/auth0-mcp-server
  • Use the GitHub issues to report bugs or request features.
  • The project is currently beta: APIs and behavior may change. Test in non-production tenants where possible.

If you’re new to MCP, review the Model Context Protocol docs for how MCP clients discover and call tools, then use the Auth0 MCP Server init flow to connect your preferred client.