Clerk Platform MCP Server
Manages Clerk applications, domains, application transfers, instance users, JWT templates, and instance config via the Clerk Platform API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Clerk Platform MCP ServerShow me all my Clerk applications"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Clerk Platform MCP Server
An MCP (Model Context Protocol) server for interacting with the Clerk Platform API. This server enables LLMs to manage Clerk applications, domains, and application transfers.
Note: The Clerk Platform API is currently in private beta. Request access here.
Features
Application Management
clerk_list_applications - List all applications in your workspace
clerk_get_application - Get details of a specific application
clerk_create_application - Create a new application
clerk_update_application - Update an application's name
clerk_delete_application - Delete an application (destructive)
clerk_upload_application_logo / clerk_delete_application_logo - Manage application logo
clerk_upload_application_favicon / clerk_delete_application_favicon - Manage application favicon
Domain Management
clerk_list_application_domains - List domains for an application
clerk_create_application_domain - Create a provider domain
clerk_get_application_domain - Get domain configuration
clerk_delete_application_domain - Delete a provider domain
clerk_get_application_domain_status - Check domain verification status
clerk_update_application_domain - Set/update production domain
clerk_trigger_dns_check - Trigger DNS verification
Application Transfers
clerk_list_application_transfers - List transfer requests
clerk_create_application_transfer - Initiate an application transfer
clerk_get_application_transfer - Get transfer details
clerk_cancel_application_transfer - Cancel a pending transfer
Instance Users
clerk_list_instance_users - List users in an instance
clerk_ban_instance_user - Ban a user in an instance
clerk_unban_instance_user - Unban a user in an instance
JWT Templates
clerk_list_jwt_templates - List JWT templates
clerk_create_jwt_template - Create a JWT template
clerk_get_jwt_template - Get a JWT template
clerk_update_jwt_template - Update a JWT template
clerk_delete_jwt_template - Delete a JWT template
Instance Config
clerk_get_config_schema - Get config schema
clerk_get_config - Get config values
clerk_patch_config - Patch config values
Related MCP server: Dify Management MCP
Installation
# Install dependencies
bun install
# Build the server
bun run buildAuthentication
The server supports two authentication methods:
HTTP Transport (Recommended)
Pass your API key as a Bearer token in the Authorization header:
curl -X POST http://localhost:3000/mcp \
-H "Authorization: Bearer your_platform_api_token" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'stdio Transport
Set the CLERK_PLATFORM_API_KEY environment variable:
export CLERK_PLATFORM_API_KEY=your_platform_api_tokenUsage
HTTP Mode (Remote/Multi-client)
# Start server on default port 3000
bun run start:http
# Start server on custom port
bun run dist/index.js --http --port 8080stdio Mode (Local Integrations)
# With environment variable
CLERK_PLATFORM_API_KEY=your_token bun run start
# Or just start (will prompt for auth on first tool use)
bun run startDevelopment Mode
# HTTP with auto-reload
bun run dev:http
# stdio with auto-reload
bun run devWith Cursor/Claude Desktop
For HTTP transport (recommended for remote access):
{
"mcpServers": {
"clerk-platform": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer your_platform_api_token"
}
}
}
}For stdio transport (local):
{
"mcpServers": {
"clerk-platform": {
"command": "bun",
"args": ["run", "/path/to/clerk-platform-mcp-server/dist/index.js"],
"env": {
"CLERK_PLATFORM_API_KEY": "your_platform_api_token"
}
}
}
}Command Line Options
Usage:
clerk-platform-mcp-server [options]
Options:
--http Use HTTP transport (default: stdio)
--port <port> Port for HTTP server (default: 3000)
--help, -h Show help messageExample Workflows
Creating a New Application
1. Use clerk_create_application with name="My App" and template="b2b-saas"
2. The response includes application_id and instance details with keysSetting Up a Custom Domain
1. Use clerk_update_application_domain to set domain name
2. Configure CNAME records from the response
3. Use clerk_trigger_dns_check to verify configuration
4. Use clerk_get_application_domain_status to monitor progressTransferring an Application
1. Use clerk_create_application_transfer to initiate transfer
2. Share the transfer code with the recipient workspace
3. Recipient claims the transfer using the code
4. Use clerk_get_application_transfer to check statusAPI Reference
This server implements the Clerk Platform API endpoints:
GET /platform/applications- List applicationsPOST /platform/applications- Create applicationGET /platform/applications/{id}- Get applicationPATCH /platform/applications/{id}- Update applicationDELETE /platform/applications/{id}- Delete applicationPOST /platform/applications/{id}/logo- Upload application logoDELETE /platform/applications/{id}/logo- Delete application logoPOST /platform/applications/{id}/favicon- Upload application faviconDELETE /platform/applications/{id}/favicon- Delete application faviconGET /platform/applications/{id}/domains- List application domainsPOST /platform/applications/{id}/domains- Create application domainGET /platform/applications/{id}/domains/{domain}- Get domainDELETE /platform/applications/{id}/domains/{domain}- Delete domainGET /platform/applications/{id}/domains/{domain}/status- Get domain statusPATCH /platform/applications/{id}/domain- Update domainPOST /platform/applications/{id}/domains/{domain}/dns_check- Trigger DNS checkGET /platform/application_transfers- List transfersPOST /platform/applications/{id}/transfers- Create transferGET /platform/applications/{id}/transfers/{transferId}- Get transferDELETE /platform/applications/{id}/transfers/{transferId}- Cancel transferGET /platform/applications/{id}/instances/{envOrInsID}/users- List instance usersPOST /platform/applications/{id}/instances/{envOrInsID}/users/{userId}/ban- Ban userPOST /platform/applications/{id}/instances/{envOrInsID}/users/{userId}/unban- Unban userGET /platform/applications/{id}/instances/{envOrInsID}/jwt_templates- List JWT templatesPOST /platform/applications/{id}/instances/{envOrInsID}/jwt_templates- Create JWT templateGET /platform/applications/{id}/instances/{envOrInsID}/jwt_templates/{templateId}- Get JWT templatePATCH /platform/applications/{id}/instances/{envOrInsID}/jwt_templates/{templateId}- Update JWT templateDELETE /platform/applications/{id}/instances/{envOrInsID}/jwt_templates/{templateId}- Delete JWT templateGET /platform/applications/{id}/instances/{envOrInsID}/config/schema- Get config schemaGET /platform/applications/{id}/instances/{envOrInsID}/config- Get configPATCH /platform/applications/{id}/instances/{envOrInsID}/config- Patch config
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thiskevinwang/2026-01-07-plapi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server