application_development
Unkey
Connect Unkey to Elaichi and hand every teammate a governed MCP endpoint — 47 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Unkey tools for your AI agents
47 tools are ready to mint as an MCP endpoint the moment you connect Unkey — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
unkey_analytics_get_verifications
Execute a SELECT SQL query against key verification analytics in Unkey. Returns a meta object with requestId and a data array of verification rows whose fields match your SQL SELECT clause. Only SELECT queries are allowed. Required: query.
create_a_unkey_api
Create a new API namespace in Unkey. Returns the created namespace's api_id and request metadata. Required: name.
delete_a_unkey_api_by_id
Delete an Unkey API namespace by id. Returns request metadata and an empty data object on success. Required: id.
get_single_unkey_api_by_id
Get an Unkey API namespace by id. Returns the API namespace including id and name. Required: id.
unkey_apis_list_keys
List API keys for an Unkey API namespace. Returns: keyId, start, enabled, name, meta, createdAt, updatedAt, lastUsedAt, expires, permissions, roles, credits, identity, plaintext, ratelimits. Required: apiId.
create_a_unkey_deployment
Create a new deployment in Unkey from a pre-built Docker image. Returns the deployment id. Internal endpoint; not recommended for production use. Required: project, app, branch, environmentSlug, dockerImage.
get_single_unkey_deployment_by_id
Get deployment information in Unkey including status, error messages, and deployment steps. Returns: meta, data, id. Internal endpoint; not recommended for production use. Required: id.
create_a_unkey_identity
Create an identity in Unkey to group API keys under a single entity with shared metadata and rate limits. Returns the created identity with id, externalId, meta, and ratelimits, plus request metadata. Required: externalId.
delete_a_unkey_identity_by_id
Permanently delete an identity in Unkey. This operation cannot be undone. Returns only the request metadata (requestId). Required: id.
get_single_unkey_identity_by_id
Get an identity in Unkey by id. Returns the identity's id, externalId, meta, and ratelimits. Required: id.
list_all_unkey_identities
List identities in Unkey. Returns identities, a cursor, and a total count. Max 100 per page, defaults to 100.
update_a_unkey_identity_by_id
Update an identity's metadata and rate limits in Unkey. Only specified fields are modified. Returns the updated identity's id, externalId, meta, and ratelimits. Required: id.
unkey_keys_add_permissions
Add permissions to an Unkey key without replacing existing ones. Returns: id, name, slug, description. Required: keyId, permissions.
unkey_keys_add_roles
Add roles to an Unkey key without replacing existing roles or permissions. Returns: id, name, description, permissions. Required: keyId, roles.
create_a_unkey_key
Create a new Unkey API key. Returns: meta, data. The plaintext key is returned only once. Required: apiId.
delete_a_unkey_key_by_id
Delete an Unkey key by keyId. Returns: meta, data. Defaults to soft deletion. Required: id.
get_single_unkey_key_by_id
Get details of an Unkey key by id. Returns: meta, data. Required: id.
unkey_keys_get_by_hash
Look up an Unkey API key by its full key string. Returns meta and data; data contains the key record with keyId, enabled, name, permissions, roles, and credits. Required: key.
unkey_keys_migrate
Migrate pre-hashed API keys into an Unkey API. Returns meta and data; data contains the migration outcome with migrated entries (hash + keyId) and any failed hashes. Required: migrationId, apiId, keys.
unkey_keys_remove_permissions
Remove direct permissions from an Unkey key without affecting its roles. Returns meta and data; data lists the remaining direct permissions with id, name, slug, and description. Changes take up to 30 seconds to propagate. Required: keyId, permissions.
unkey_keys_remove_roles
Remove roles from an Unkey key without affecting its direct permissions. Returns meta and data; data lists the remaining roles with id, name, description, and permissions. Changes take up to 30 seconds to propagate. Required: keyId, roles.
unkey_keys_reroll
Generate a new Unkey API key while preserving an existing key's configuration. Returns meta and data; data contains the new keyId and key. Required: keyId, expiration.
unkey_keys_set_permissions
Replace all direct permissions on an Unkey key in one atomic operation. Returns meta and data: the updated permission list in data, including each permission's id, name, slug, and description. Changes may take up to 30 seconds to propagate across all edge regions. Required: keyId, permissions.
unkey_keys_set_roles
Replace all roles on an Unkey key in one atomic operation. Returns meta and data: the updated role list in data, including each role's id, name, description, and nested permissions. Changes may take up to 30 seconds to propagate across all edge regions. Required: keyId, roles.
unkey_keys_update_credits
Update a Unkey key's credit balance. Returns meta and data: the updated credit balance in data, including remaining and refill settings. Provide value when incrementing or decrementing; set value to null for unlimited credits. Required: keyId, operation.
update_a_unkey_key_by_id
Update an existing Unkey API key's settings. Supports partial updates such as name, metadata, expiration, credits, rate limits, roles, permissions, and enabled status. Returns meta and data: an empty data object confirming success. Changes take effect immediately but may take up to 30 seconds to propagate to all edge regions. Required: id.
unkey_keys_verify
Verify an Unkey API key's validity, permissions, rate limits, and usage quota for request authentication. Returns meta and data: the verification result including valid, keyId, name, meta, expires, credits, enabled, permissions, roles, identity, and ratelimits. Always returns HTTP 200; check the valid field to determine authorization. Required: key.
unkey_keys_whoami
Get information about an Unkey API key by its full key string. Returns the key object under `data` including keyId, start, enabled, createdAt, permissions, roles, credits, and ratelimits. Required: key.
list_all_unkey_liveness
Check the health status of the Unkey API. Returns the service health object including requestId, message, and response metadata. No authentication required.
create_a_unkey_permission
Create a new permission in Unkey. Returns the response envelope with meta and data containing permissionId. Required: name, slug.
delete_a_unkey_permission_by_id
Delete a permission in Unkey by permission id or slug. Returns the response envelope with meta and an empty data object on success. Required: id.
get_single_unkey_permission_by_id
Get a permission in Unkey by id or slug. Returns the response envelope with meta and data containing id, name, slug, and description. Required: id.
list_all_unkey_permissions
List all permissions in your Unkey workspace. Returns the response envelope with meta, an array of permission objects (id, name, slug, description), and pagination cursors. Optional: cursor, limit.
update_a_unkey_permission_by_id
Update a permission in unkey. Returns: meta, data, name, email, plan. Required: id.
create_a_unkey_role
Create a new role in Unkey. Returns: meta, data. Required: name.
delete_a_unkey_role_by_id
Delete a role in Unkey by role id or name. Returns meta and an empty data object. Required: id.
get_single_unkey_role_by_id
Get a role in Unkey by role id or name. Returns: meta, data. Required: id.
list_all_unkey_roles
List all roles in your Unkey workspace, including their assigned permissions. Returns: id, name, description, permissions.
update_a_unkey_role_by_id
Update an existing RBAC role in Unkey. Returns the updated role including id, name, description, and permissions. Required: id. Provide at least one of name, description, or permissions to change.
unkey_ratelimit_limit
Apply a single rate limit check in Unkey for an identifier within a namespace. Returns the rate limit result in data, including limit, remaining, reset, and success, plus request metadata in meta. Cost defaults to 1. Required: namespace, duration, identifier, limit.
unkey_ratelimit_multi_limit
Apply multiple rate limit checks in a single Unkey request. Returns the combined result in data, including a passed flag and per-check limits (limit, remaining, reset, success), plus request metadata in meta.
unkey_ratelimit_set_override
Create or update a custom Unkey rate limit override for an identifier pattern. Returns the override_id in data and request metadata in meta. Required: namespace, duration, identifier, limit.
unkey_ratelimit_get_override
Retrieve an existing Unkey rate limit override by namespace and identifier pattern. Returns the override configuration in data, including override_id, duration, identifier, and limit, plus request metadata in meta. Required: namespace, identifier.
unkey_ratelimit_delete_override
Delete an Unkey rate limit override by namespace and identifier pattern. Returns meta and an empty data object on success. Required: namespace, identifier.
unkey_ratelimit_list_overrides
List rate limit overrides in an Unkey namespace. Returns: overrideId, duration, identifier, limit. Required: namespace.
unkey_portal_create_session
Create a short-lived Unkey Portal session for an end user. Returns the session id, redirect URL, and request metadata. Requires slug, externalId, and permissions.
unkey_portal_exchange_session
Exchange a short-lived Unkey Portal session token for a long-lived browser session token. Returns the new token, its expiration timestamp, and request metadata. Requires sessionId.
How it works
From Unkey account to governed MCP endpoint
Connect
Link a Unkey account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Unkey tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.