Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.fusionauth/mcp-api

NPM · @FUSIONAUTH/MCP-API · SCANNED AUG 3

Preview release of FusionAuth API MCP server

Available components

+20 this week 66 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security88
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (110 of 111), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (110 of 111), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability60
  • AI-judged instruction clarity (fair).Partial
  • Tool/resource definitions use about 22835 tokens (~73/item across 310 items; 310 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 97% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @fusionauth/mcp-api

# add to Claude Code
claude mcp add io-fusionauth-mcp-api -- npx -y @fusionauth/mcp-api
# add to Codex CLI
codex mcp add io-fusionauth-mcp-api -- npx -y @fusionauth/mcp-api
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-fusionauth-mcp-api": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@fusionauth/mcp-api"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add io-fusionauth-mcp-api --command npx --arg -y --arg @fusionauth/mcp-api
# ~/.hermes/config.yaml
mcp_servers:
  io-fusionauth-mcp-api:
    command: "npx"
    args: ["-y", "@fusionauth/mcp-api"]
// mcp.json
{
  "mcpServers": {
    "io-fusionauth-mcp-api": {
      "command": "npx",
      "args": [
        "-y",
        "@fusionauth/mcp-api"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +30
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Security disclosure: fail → unverified functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Stability: unverified → 0.23 functional
    • License: unverified → pass functional
    • Schema quality: unverified → fair functional
    • Licence: Apache-2.0 functional
  • 1 Aug 26 +15
    • Malware scan: unverified → pass security
  • 31 Jul 26 −25
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@fusionauth/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 110 packages

110 packages in the resolved dependency tree · 109 deprecated · 32 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 310 exposed · ~22,835 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
createMessengerWithId ~69

Creates a messenger. You can optionally specify an Id for the messenger, if not provided one will be generated.

NameTypeReqDescription
messengerIdstringyesThe Id for the messenger. If not provided a secure random UUID will be generated.
requestBodyobjectThe JSON request body.

No output schema declared.

No examples provided.

createOAuthScope ~133

Creates a new custom OAuth scope for an application. You must specify the Id of the application you are creating the scope for. You can optionally specify an Id for the OAuth scope on the URL, if not provided one will be generated.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
applicationIdstringyesThe Id of the application to create the OAuth scope on.
requestBodyobjectThe Application Scope API request object.

No output schema declared.

No examples provided.

createOAuthScopeWithId ~160

Creates a new custom OAuth scope for an application. You must specify the Id of the application you are creating the scope for. You can optionally specify an Id for the OAuth scope on the URL, if not provided one will be generated.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
applicationIdstringyesThe Id of the application to create the OAuth scope on.
requestBodyobjectThe Application Scope API request object.
scopeIdstringyesThe Id of the OAuth scope. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createTenant ~86

Creates a tenant. You can optionally specify an Id for the tenant, if not provided one will be generated.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
requestBodyobjectThe JSON request body.

No output schema declared.

No examples provided.

createTenantWithId ~112

Creates a tenant. You can optionally specify an Id for the tenant, if not provided one will be generated.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
requestBodyobjectThe JSON request body.
tenantIdstringyesThe Id for the tenant. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createTheme ~42

Creates a Theme. You can optionally specify an Id for the theme, if not provided one will be generated.

NameTypeReqDescription
requestBodyobjectTheme API request object.

No output schema declared.

No examples provided.

createThemeWithId ~68

Creates a Theme. You can optionally specify an Id for the theme, if not provided one will be generated.

NameTypeReqDescription
requestBodyobjectTheme API request object.
themeIdstringyesThe Id for the theme. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createToken ~180

Exchange User Credentials for a Token. If you will be using the Resource Owner Password Credential Grant, you will make a request to the Token endpoint to exchange the user’s email and password for an access token. OR Exchange a Refresh Token for an Access Token. If you will be using the Refresh Token Grant, you will make a request to the Token endpoint to exchange the user’s refresh token for an access token. OR Exchanges an OAuth authorization code and code_verifier for an access token. Makes a request to the Token endpoint to exchange the authorization code returned from the Authorize endpoint and a code_verifier for an access token. OR Exchanges an OAuth authorization code for an access token. Makes a request to the Token endpoint to exchange the authorization code returned from the Authorize endpoint for an access token. OR Make a Client Credentials grant request to obtain an access token.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

createUser ~86

Creates a user. You can optionally specify an Id for the user, if not provided one will be generated.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
requestBodyobjectUser API request object.

No output schema declared.

No examples provided.

createUserAction ~98

Creates a user action. This action cannot be taken on a user until this call successfully returns. Anytime after that the user action can be applied to any user.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
requestBodyobjectUser Action API request object.

No output schema declared.

No examples provided.

createUserActionReason ~58

Creates a user reason. This user action reason cannot be used when actioning a user until this call completes successfully. Anytime after that the user action reason can be used.

NameTypeReqDescription
requestBodyobjectUser Action Reason API request object.

No output schema declared.

No examples provided.

createUserActionReasonWithId ~88

Creates a user reason. This user action reason cannot be used when actioning a user until this call completes successfully. Anytime after that the user action reason can be used.

NameTypeReqDescription
requestBodyobjectUser Action Reason API request object.
userActionReasonIdstringyesThe Id for the user action reason. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createUserActionWithId ~126

Creates a user action. This action cannot be taken on a user until this call successfully returns. Anytime after that the user action can be applied to any user.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
requestBodyobjectUser Action API request object.
userActionIdstringyesThe Id for the user action. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createUserChangePassword ~135

Changes a user's password using their access token (JWT) instead of the changePasswordId A common use case for this method will be if you want to allow the user to change their own password. Remember to send refreshToken in the request body if you want to get a new refresh token when login using the returned oneTimePassword. OR Changes a user's password using their identity (loginId and password). Using a loginId instead of the changePasswordId bypasses the email verification and allows a password to be changed directly without first calling the #forgotPassword method.

NameTypeReqDescription
requestBodyobjectChange password request object.

No output schema declared.

No examples provided.

createUserConsent ~28

Creates a single User consent.

NameTypeReqDescription
requestBodyobjectAPI response for User consent.

No output schema declared.

No examples provided.

createUserConsentWithId ~56

Creates a single User consent.

NameTypeReqDescription
requestBodyobjectAPI response for User consent.
userConsentIdstringyesThe Id for the User consent. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createUserLinkWithId ~41

Link an external user from a 3rd party identity provider to a FusionAuth user.

NameTypeReqDescription
requestBodyobjectThe JSON request body.

No output schema declared.

No examples provided.

createUserVerifyEmail ~182

Administratively verify a user's email address. Use this method to bypass email verification for the user. The request body will contain the userId to be verified. An API key is required when sending the userId in the request body. OR Confirms a user's email address. The request body will contain the verificationId. You may also be required to send a one-time use code based upon your configuration. When the tenant is configured to gate a user until their email address is verified, this procedures requires two values instead of one. The verificationId is a high entropy value and the one-time use code is a low entropy value that is easily entered in a user interactive form. The two values together are able to confirm a user's email address and mark the user's email address as verified.

NameTypeReqDescription
requestBodyobjectThe JSON request body.

No output schema declared.

No examples provided.

createUserWithId ~112

Creates a user. You can optionally specify an Id for the user, if not provided one will be generated.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
requestBodyobjectUser API request object.
userIdstringyesThe Id for the user. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

createWebhook ~43

Creates a webhook. You can optionally specify an Id for the webhook, if not provided one will be generated.

NameTypeReqDescription
requestBodyobjectWebhook API request object.

No output schema declared.

No examples provided.

createWebhookWithId ~69

Creates a webhook. You can optionally specify an Id for the webhook, if not provided one will be generated.

NameTypeReqDescription
requestBodyobjectWebhook API request object.
webhookIdstringyesThe Id for the webhook. If not provided a secure random UUID will be generated.

No output schema declared.

No examples provided.

deleteAPIKeyWithId ~37

Deletes the API key for the given Id.

NameTypeReqDescription
keyIdstringyesThe Id of the authentication API key to delete.

No output schema declared.

No examples provided.

deleteApplicationRoleWithId ~121

Hard deletes an application role. This is a dangerous operation and should not be used in most circumstances. This permanently removes the given role from all users that had it.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
applicationIdstringyesThe Id of the application that the role belongs to.
roleIdstringyesThe Id of the role to delete.

No output schema declared.

No examples provided.

deleteApplicationWithId ~161

Hard deletes an application. This is a dangerous operation and should not be used in most circumstances. This will delete the application, any registrations for that application, metrics and reports for the application, all the roles for the application, and any other data associated with the application. This operation could take a very long time, depending on the amount of data in your database. OR Deactivates the application with the given Id.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
applicationIdstringyesThe Id of the application to delete.
hardDeletestring

No output schema declared.

No examples provided.

deleteConnectorWithId ~33

Deletes the connector for the given Id.

NameTypeReqDescription
connectorIdstringyesThe Id of the connector to delete.

No output schema declared.

No examples provided.

deleteConsentWithId ~77

Deletes the consent for the given Id.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
consentIdstringyesThe Id of the consent to delete.

No output schema declared.

No examples provided.

deleteEmailTemplateWithId ~81

Deletes the email template for the given Id.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
emailTemplateIdstringyesThe Id of the email template to delete.

No output schema declared.

No examples provided.

deleteEntityGrantWithId ~126

Deletes an Entity Grant for the given User or Entity.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
entityIdstringyesThe Id of the Entity that the Entity Grant is being deleted for.
recipientEntityIdstringThe Id of the Entity that the Entity Grant is for.
userIdstringThe Id of the User that the Entity Grant is for.

No output schema declared.

No examples provided.

deleteEntityTypePermissionWithId ~79

Hard deletes a permission. This is a dangerous operation and should not be used in most circumstances. This permanently removes the given permission from all grants that had it.

NameTypeReqDescription
entityTypeIdstringyesThe Id of the entityType the the permission belongs to.
permissionIdstringyesThe Id of the permission to delete.

No output schema declared.

No examples provided.

deleteEntityTypeWithId ~37

Deletes the Entity Type for the given Id.

NameTypeReqDescription
entityTypeIdstringyesThe Id of the Entity Type to delete.

No output schema declared.

No examples provided.

deleteEntityWithId ~77

Deletes the Entity for the given Id.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
entityIdstringyesThe Id of the Entity to delete.

No output schema declared.

No examples provided.

deleteFormFieldWithId ~36

Deletes the form field for the given Id.

NameTypeReqDescription
fieldIdstringyesThe Id of the form field to delete.

No output schema declared.

No examples provided.

deleteFormWithId ~33

Deletes the form for the given Id.

NameTypeReqDescription
formIdstringyesThe Id of the form to delete.

No output schema declared.

No examples provided.

deleteGroupMembersWithId ~31

Removes users as members of a group.

NameTypeReqDescription
requestBodyobjectGroup Member Delete Request

No output schema declared.

No examples provided.

deleteGroupWithId ~77

Deletes the group for the given Id.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
groupIdstringyesThe Id of the group to delete.

No output schema declared.

No examples provided.

deleteIdentityProviderWithId ~37

Deletes the identity provider for the given Id.

NameTypeReqDescription
identityProviderIdstringyesThe Id of the identity provider to delete.

No output schema declared.

No examples provided.

deleteIPAccessControlListWithId ~45

Deletes the IP Access Control List for the given Id.

NameTypeReqDescription
ipAccessControlListIdstringyesThe Id of the IP Access Control List to delete.

No output schema declared.

No examples provided.

deleteJwtRefresh ~413

Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method and is based on the information you provide in the RefreshDeleteRequest object. See that method for additional information. OR Revoke all refresh tokens that belong to a user by user Id for a specific application by applicationId. OR Revoke all refresh tokens that belong to a user by user Id. OR Revoke all refresh tokens that belong to an application by applicationId. OR Revokes a single refresh token by using the actual refresh token value. This refresh token value is sensitive, so be careful with this API request. OR Revokes refresh tokens. Usage examples: - Delete a single refresh token, pass in only the token. revokeRefreshToken(token) - Delete all refresh tokens for a user, pass in only the userId. revokeRefreshToken(null, userId) - Delete all refresh tokens for a user for a specific application, pass in both the userId and the applicationId. revokeRefreshToken(null, userId, applicationId) - Delete all refresh tokens for an application revokeRefreshToken(null, null, applicationId) Note: <code>null</code> may be handled differently depending upon the programming language. See also: (method names may vary by language... but you'll figure it out) - revokeRefreshTokenById - revokeRefreshTokenByToken - revokeRefreshTokensByUserId - revokeRefreshTokensByApplicationId - revokeRefreshTokensByUserIdForApplication

NameTypeReqDescription
applicationIdstringThe unique Id of the application that you want to delete refresh tokens for.
requestBodyobjectRequest for the Refresh Token API to revoke a refresh token rather than using the URL parameters.
tokenstringThe refresh token to delete.
userIdstringThe unique Id of the user that you want to delete all refresh tokens for.

No output schema declared.

No examples provided.

deleteKeyWithId ~33

Deletes the key for the given Id.

NameTypeReqDescription
keyIdstringyesThe Id of the key to delete.

No output schema declared.

No examples provided.

deleteLambdaWithId ~33

Deletes the lambda for the given Id.

NameTypeReqDescription
lambdaIdstringyesThe Id of the lambda to delete.

No output schema declared.

No examples provided.

deleteMessageTemplateWithId ~37

Deletes the message template for the given Id.

NameTypeReqDescription
messageTemplateIdstringyesThe Id of the message template to delete.

No output schema declared.

No examples provided.

deleteMessengerWithId ~33

Deletes the messenger for the given Id.

NameTypeReqDescription
messengerIdstringyesThe Id of the messenger to delete.

No output schema declared.

No examples provided.

deleteOAuthScopeWithId ~117

Hard deletes a custom OAuth scope. OAuth workflows that are still requesting the deleted OAuth scope may fail depending on the application's unknown scope policy.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
applicationIdstringyesThe Id of the application that the OAuth scope belongs to.
scopeIdstringyesThe Id of the OAuth scope to delete.

No output schema declared.

No examples provided.

deleteTenantWithId ~210

Deletes the tenant based on the given request (sent to the API as JSON). This permanently deletes all information, metrics, reports and data associated with the tenant and everything under the tenant (applications, users, etc). OR Deletes the tenant for the given Id asynchronously. This method is helpful if you do not want to wait for the delete operation to complete. OR Deletes the tenant based on the given Id on the URL. This permanently deletes all information, metrics, reports and data associated with the tenant and everything under the tenant (applications, users, etc).

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
asyncstring
requestBodyobjectRequest for the Tenant API to delete a tenant rather than using the URL parameters.
tenantIdstringyesThe Id of the tenant to delete.

No output schema declared.

No examples provided.

deleteThemeWithId ~33

Deletes the theme for the given Id.

NameTypeReqDescription
themeIdstringyesThe Id of the theme to delete.

No output schema declared.

No examples provided.

deleteUserActionReasonWithId ~41

Deletes the user action reason for the given Id.

NameTypeReqDescription
userActionReasonIdstringyesThe Id of the user action reason to delete.

No output schema declared.

No examples provided.

deleteUserActionWithId ~122

Deletes the user action for the given Id. This permanently deletes the user action and also any history and logs of the action being applied to any users. OR Deactivates the user action with the given Id.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
hardDeletestring
userActionIdstringyesThe Id of the user action to delete.

No output schema declared.

No examples provided.

deleteUserBulk ~164

Deletes the users with the given Ids, or users matching the provided JSON query or queryString. The order of preference is Ids, query and then queryString, it is recommended to only provide one of the three for the request. This method can be used to deactivate or permanently delete (hard-delete) users based upon the hardDelete boolean in the request body. Using the dryRun parameter you may also request the result of the action without actually deleting or deactivating any users. OR Deactivates the users with the given Ids.

NameTypeReqDescription
dryRunstring
hardDeletestring
requestBodyobjectUser API delete request object.
userIdsstringThe ids of the users to deactivate.

No output schema declared.

No examples provided.

deleteUserLinkWithId ~93

Remove an existing link that has been made from a 3rd party identity provider to a FusionAuth user.

NameTypeReqDescription
identityProviderIdstringThe unique Id of the identity provider.
identityProviderUserIdstringThe unique Id of the user in the 3rd party identity provider to unlink.
userIdstringThe unique Id of the FusionAuth user to unlink.

No output schema declared.

No examples provided.

deleteUserRegistrationWithId ~138

Deletes the user registration for the given user and application along with the given JSON body that contains the event information. OR Deletes the user registration for the given user and application.

NameTypeReqDescription
X-FusionAuth-TenantIdstringThe unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
applicationIdstringyesThe Id of the application to remove the registration for.
requestBodyobjectRegistration delete API request object.
userIdstringyesThe Id of the user whose registration is being deleted.

No output schema declared.

No examples provided.