Home / Token cost / Fusionauth

The Fusionauth MCP server costs 183,337 tokens before the first call.

Connect Fusionauth and its 314 tool definitions are loaded into the model's context on every request — 92% of a 200k window spent before your agent does anything.

QUICK ANSWER The Fusionauth MCP server's tool definitions consume 183,337 tokens — 171× the median MCP server (1,075 tokens). A scoped grant exposing only the tools you use cuts that roughly in proportion.

MEASURED FROM SCHEMAS 314 tools · 183,337 tokens · 92% of 200k · 18% of 1M Method →

What that buys before your agent starts working.

Tool definitions are overhead: they occupy context on every request and compete with your code, documents and conversation history for the same window.

200K WINDOW 92%
1M WINDOW 18%

Corpus context: Fusionauth ranks #1 of 1,659 measured MCP servers by definition cost. The median is 1,075 tokens, p90 is 6,119, and the heaviest (Fusionauth) is 183,337 — 92% of a 200k window on its own.

Where the 183,337 tokens go.

Each row is one tool definition as a tools/list entry — name, description and input schema — counted with o200k_base. Average: 584 tokens per tool.

ToolCategoryTokens% of server
createIdentityProviderWithId Write 8,443 4.6%
patchIdentityProviderWithId Write 8,423 4.6%
updateIdentityProviderWithId Write 8,419 4.6%
createIdentityProvider Write 8,405 4.6%
createTenantWithId Write 4,664 2.5%
patchTenantWithId Write 4,645 2.5%
updateTenantWithId Write 4,641 2.5%
createTenant Write 4,629 2.5%
createApplicationRoleWithId Write 4,326 2.4%
createApplicationRole Write 4,294 2.3%
patchApplicationRoleWithId Write 4,286 2.3%
updateApplicationRoleWithId Write 4,282 2.3%
createApplicationWithId Write 4,278 2.3%
updateApplicationWithId Write 4,272 2.3%
patchApplicationWithId Write 4,257 2.3%
createApplication Write 4,241 2.3%
registerWithId Write 2,709 1.5%
register Write 2,677 1.5%
patchRegistrationWithId Write 2,633 1.4%
updateRegistrationWithId Write 2,629 1.4%
createUserWithId Write 2,250 1.2%
updateUserWithId Write 2,246 1.2%
patchUserWithId Write 2,231 1.2%
createUser Write 2,215 1.2%
importUsersWithId Write 2,177 1.2%
createThemeWithId Write 1,120 0.6%
patchThemeWithId Write 1,101 0.6%
updateThemeWithId Write 1,097 0.6%
createTheme Write 1,085 0.6%
upsertEntityGrantWithId Write 913 0.5%
createEntityWithId Write 731 0.4%
patchEntityWithId Write 713 0.4%
createEntityTypePermissionWithId Write 708 0.4%
updateEntityWithId Write 708 0.4%
createEntity Write 696 0.4%
retrieveUserChangePassword Read 694 0.4%
createEntityTypePermission Write 676 0.4%
patchEntityTypePermissionWithId Write 662 0.4%
updateEntityTypePermissionWithId Write 661 0.4%
createEntityTypeWithId Write 657 0.4%
deleteJwtRefresh Destructive 655 0.4%
createFormFieldWithId Write 653 0.4%
patchEntityTypeWithId Write 637 0.3%
updateEntityTypeWithId Write 633 0.3%
patchFormFieldWithId Write 630 0.3%
updateFormFieldWithId Write 629 0.3%
createEntityType Write 619 0.3%
createFormField Write 617 0.3%
patchSystemConfigurationWithId Write 596 0.3%
updateSystemConfigurationWithId Write 592 0.3%
generateKeyWithId Write 581 0.3%
importKeyWithId Write 581 0.3%
createUserConsentWithId Write 567 0.3%
updateKeyWithId Write 566 0.3%
patchUserConsentWithId Write 559 0.3%
updateUserConsentWithId Write 555 0.3%
generateKey Write 546 0.3%
importKey Write 546 0.3%
createUserActionWithId Write 545 0.3%
updateUserActionWithId Write 533 0.3%
createUserConsent Write 529 0.3%
patchUserActionWithId Write 517 0.3%
createUserLinkWithId Write 513 0.3%
createUserAction Write 507 0.3%
searchWebhookEventLogsWithId Read 506 0.3%
importRefreshTokensWithId Write 486 0.3%
createGroupWithId Write 476 0.3%
importWebAuthnCredentialWithId Write 474 0.3%
patchGroupWithId Write 457 0.2%
updateGroupWithId Write 453 0.2%
createAPIKeyWithId Write 447 0.2%
modifyActionWithId Write 442 0.2%
createGroup Write 441 0.2%
deleteTenantWithId Destructive 436 0.2%
createEmailTemplateWithId Write 436 0.2%
createLambdaWithId Write 432 0.2%
actionUserWithId Write 431 0.2%
createConsentWithId Write 428 0.2%
deleteUserBulk Destructive 425 0.2%
changePasswordWithId Destructive 424 0.2%
completeWebAuthnLoginWithId Write 421 0.2%
completeWebAuthnAssertionWithId Write 420 0.2%
createUserChangePassword Write 420 0.2%
cancelActionWithId Destructive 418 0.2%
createAuditLogWithId Write 418 0.2%
patchEmailTemplateWithId Write 418 0.2%
createWebhookWithId Write 417 0.2%
updateEmailTemplateWithId Write 414 0.2%
createUserVerifyEmail Write 413 0.2%
patchLambdaWithId Write 413 0.2%
createAPIKey Write 410 0.2%
updateLambdaWithId Write 409 0.2%
retrieveEmailTemplatePreviewWithId Read 406 0.2%
patchConsentWithId Write 406 0.2%
createLogout Write 404 0.2%
updateConsentWithId Write 402 0.2%
createEmailTemplate Write 399 0.2%
createLambda Write 397 0.2%
patchWebhookWithId Write 395 0.2%
updateWebhookWithId Write 394 0.2%
deleteUserWithId Destructive 391 0.2%
createConsent Write 391 0.2%
createOAuthScopeWithId Write 387 0.2%
createWebhook Write 380 0.2%
patchAPIKeyWithId Write 379 0.2%
retrieveTwoFactorStatusWithRequestWithId Read 375 0.2%
updateAPIKeyWithId Write 369 0.2%
createToken Write 365 0.2%
deleteUserRegistrationWithId Destructive 362 0.2%
createOAuthScope Write 354 0.2%
deleteUserTwoFactorWithId Destructive 351 0.2%
verifyUserRegistrationWithId Read 350 0.2%
patchOAuthScopeWithId Write 348 0.2%
updateOAuthScopeWithId Write 343 0.2%
forgotPasswordWithId Destructive 339 0.2%
loginPingWithRequestWithId Write 338 0.2%
identityProviderLoginWithId Write 337 0.2%
createFormWithId Write 336 0.2%
enableTwoFactorWithId Write 336 0.2%
loginWithId Write 334 0.2%
retrieveUser Read 333 0.2%
createFamilyWithId Write 324 0.2%
patchFormWithId Write 313 0.2%
updateFormWithId Write 312 0.2%
createConnectorWithId Write 306 0.2%
createIPAccessControlListWithId Write 302 0.2%
updateUserFamilyWithId Write 302 0.2%
createForm Write 301 0.2%
startIdentityProviderLoginWithId Execute 292 0.2%
createFamily Write 289 0.2%
retrieveUserChangePasswordWithId Read 288 0.2%
createMessengerWithId Write 288 0.2%
patchConnectorWithId Write 286 0.2%
updateConnectorWithId Write 282 0.2%
createUserActionReasonWithId Write 278 0.2%
reconcileJWTWithId Write 278 0.2%
patchIPAccessControlListWithId Write 276 0.2%
updateIPAccessControlListWithId Write 276 0.2%
retrieveReportLogin Read 272 0.1%
searchLambdasWithId Read 271 0.1%
createConnector Write 271 0.1%
patchMessengerWithId Write 268 0.1%
updateMessengerWithId Write 264 0.1%
createMessageTemplateWithId Write 262 0.1%
exchangeRefreshTokenForJWTWithId Write 262 0.1%
createIPAccessControlList Write 260 0.1%
completeWebAuthnRegistrationWithId Write 259 0.1%
completeVerifyIdentityWithId Write 258 0.1%
verifyIdentityWithId Read 255 0.1%
createMessenger Write 251 0.1%
twoFactorLoginWithId Write 251 0.1%
patchUserActionReasonWithId Write 249 0.1%
startTwoFactorLoginWithId Execute 248 0.1%
updateUserActionReasonWithId Write 245 0.1%
patchMessageTemplateWithId Write 244 0.1%
retrieveMessageTemplatePreviewWithId Read 243 0.1%
passwordlessLoginWithId Write 242 0.1%
updateMessageTemplateWithId Write 240 0.1%
createUserActionReason Write 237 0.1%
sendEmailWithId Write 233 0.1%
loginPingWithId Write 232 0.1%
createMessageTemplate Write 224 0.1%
searchAuditLogsWithId Read 215 0.1%
searchEventLogsWithId Read 213 0.1%
commentOnUserWithId Write 211 0.1%
searchLoginRecordsWithId Read 209 0.1%
vendJWTWithId Write 202 0.1%
patchIntegrationsWithId Write 201 0.1%
searchUsersByQueryWithId Read 200 0.1%
updateIntegrationsWithId Write 197 0.1%
startVerifyIdentityWithId Execute 189 0.1%
retrieveUserActioning Read 189 0.1%
deleteApplicationWithId Destructive 187 0.1%
searchIdentityProvidersWithId Read 187 0.1%
searchEntitiesWithId Read 183 0.1%
startWebAuthnLoginWithId Execute 180 0.1%
issueJWTWithId Write 167 0.1%
createGroupMembersWithId Write 164 0.1%
updateGroupMembersWithId Write 164 0.1%
startPasswordlessLoginWithId Execute 163 0.1%
updateUserVerifyEmail Write 161 0.1%
retrieveIdentityProviderLookup Read 159 0.1%
searchKeysWithId Read 159 0.1%
deleteEntityGrantWithId Destructive 158 0.1%
deleteApplicationRoleWithId Destructive 153 0.1%
retrieveEntityGrantWithId Read 153 0.1%
deleteOAuthScopeWithId Destructive 149 0.1%
deleteUserActionWithId Destructive 149 0.1%
sendTwoFactorCodeForLoginUsingMethodWithId Write 144 0.1%
startWebAuthnRegistrationWithId Execute 142 0.1%
searchApplicationsWithId Read 139 0.1%
retrieveIdentityProviderLink Read 137 0.1%
removeUserFromFamilyWithId Destructive 136 0.1%
searchUserCommentsWithId Read 136 0.1%
retrieveTwoFactorStatusWithId Read 133 0.1%
retrieveDeviceValidate Read 130 0.1%
retrieveRegistrationWithId Read 130 0.1%
updateUserVerifyRegistration Write 130 0.1%
reindexWithId Destructive 129 0.1%
retrieveOAuthScopeWithId Read 129 0.1%
searchGroupMembersWithId Read 128 0.1%
searchEntityGrantsWithId Read 125 0.1%
retrieveUserActionWithId Read 124 0.1%
retrieveEmailTemplateWithId Read 122 0.1%
createIntrospect Write 119 0.1%
searchWebhooksWithId Read 118 0.1%
retrieveUserRecentLogin Read 116 0.1%
retrieveUserAction Read 115 0.1%
retrieveOauthConfigurationWithId Read 114 0.1%
sendTwoFactorCodeForEnableDisableWithId Write 113 0.1%
deleteUserLinkWithId Destructive 112 0.1%
retrieveFamilyMembersByFamilyIdWithId Read 112 0.1%
retrieveApplicationWithId Read 109 0.1%
retrieveJwtPublicKey Read 109 0.1%
searchThemesWithId Read 109 0.1%
deleteEmailTemplateWithId Destructive 108 0.1%
retrieveUserCommentsWithId Read 107 0.1%
searchGroupsWithId Read 107 0.1%
deleteConsentWithId Destructive 105 0.1%
deleteEntityTypePermissionWithId Destructive 105 0.1%
retrieveApplication Read 104 0.1%
retrieveConsentWithId Read 104 0.1%
retrieveDailyActiveReportWithId Read 104 0.1%
retrieveMonthlyActiveReportWithId Read 104 0.1%
retrievePendingLinkWithId Read 104 0.1%
deleteEntityWithId Destructive 103 0.1%
deleteGroupWithId Destructive 103 0.1%
retrieveIdentityProviderByTypeWithId Read 103 0.1%
retrieveDeviceUserCode Read 102 0.1%
retrieveEntityWithId Read 102 0.1%
retrieveGroupWithId Read 102 0.1%
retrieveTenantWithId Read 102 0.1%
retrieveUserWithId Read 102 0.1%
createDeviceUserCode Write 102 0.1%
searchEntityTypesWithId Read 101 0.1%
searchIPAccessControlListsWithId Read 101 0.1%
retrieveRegistrationReportWithId Read 100 0.1%
searchConsentsWithId Read 98 0.1%
searchEmailTemplatesWithId Read 98 0.1%
retrieveFamiliesWithId Read 97 0.1%
retrieveStatus Read 97 0.1%
searchTenantsWithId Read 97 0.1%
retrieveEmailTemplate Read 95 0.1%
sendPasswordlessCodeWithId Write 93 0.1%
sendFamilyRequestEmailWithId Write 83 0.0%
retrieveRefreshTokenByIdWithId Read 82 0.0%
deleteGroupMembersWithId Destructive 81 0.0%
retrievePasswordValidationRulesWithId Read 81 0.0%
generateTwoFactorSecretUsingJWTWithId Write 81 0.0%
retrieveTotalReportWithExcludesWithId Read 80 0.0%
activateReactorWithId Write 80 0.0%
retrieveUserActionReasonWithId Read 79 0.0%
revokeRefreshTokenByIdWithId Destructive 76 0.0%
validateJWTWithId Read 75 0.0%
generateTwoFactorRecoveryCodesWithId Write 74 0.0%
retrieveMessageTemplateWithId Read 71 0.0%
retrieveActionWithId Read 70 0.0%
retrieveWebhookWithId Read 70 0.0%
retrievePasswordValidationRulesWithTenantIdWithId Read 68 0.0%
deleteIPAccessControlListWithId Destructive 67 0.0%
retrieveIPAccessControlListWithId Read 66 0.0%
retrieveWebhookAttemptLogWithId Read 66 0.0%
retrieveWebhookEventLogWithId Read 66 0.0%
deleteWebAuthnCredentialsForUserWithId Destructive 64 0.0%
retrieveIdentityProviderWithId Read 64 0.0%
deleteUserActionReasonWithId Destructive 62 0.0%
sendVerifyIdentityWithId Write 62 0.0%
retrieveTwoFactorRecoveryCodesWithId Read 60 0.0%
deleteWebAuthnCredentialWithId Destructive 59 0.0%
retrieveAuditLogWithId Read 59 0.0%
retrieveEventLogWithId Read 59 0.0%
searchUsersByIdsWithId Read 59 0.0%
retrieveWebAuthnCredentialWithId Read 58 0.0%
searchEntitiesByIdsWithId Read 58 0.0%
deleteEntityTypeWithId Destructive 57 0.0%
deleteIdentityProviderWithId Destructive 57 0.0%
deleteMessageTemplateWithId Destructive 57 0.0%
retrieveAPIKeyWithId Read 57 0.0%
deleteAPIKeyWithId Destructive 56 0.0%
retrieveEntityTypeWithId Read 56 0.0%
deleteFormFieldWithId Destructive 55 0.0%
deleteMessengerWithId Destructive 54 0.0%
deleteWebhookWithId Destructive 54 0.0%
retrieveFormFieldWithId Read 54 0.0%
retrieveSystemHealthWithId Read 54 0.0%
revokeUserConsentWithId Destructive 53 0.0%
retrieveMessengerWithId Read 53 0.0%
deleteConnectorWithId Destructive 52 0.0%
deleteFormWithId Destructive 52 0.0%
deleteKeyWithId Destructive 52 0.0%
deleteLambdaWithId Destructive 52 0.0%
deleteThemeWithId Destructive 52 0.0%
retrieveLambdasByTypeWithId Read 52 0.0%
retrieveRefreshTokensWithId Read 52 0.0%
retrieveConnectorWithId Read 51 0.0%
retrieveFormWithId Read 51 0.0%
retrieveKeyWithId Read 51 0.0%
retrieveLambdaWithId Read 51 0.0%
retrieveThemeWithId Read 51 0.0%
retrieveUserActionReason Read 51 0.0%
retrieveUserConsentWithId Read 51 0.0%
retrieveWebAuthnCredentialsForUserWithId Read 51 0.0%
retrievePendingChildrenWithId Read 49 0.0%
retrieveMessageTemplate Read 46 0.0%
retrieveUserConsentsWithId Read 46 0.0%
retrieveWebhook Read 46 0.0%
retrieveJsonWebKeySetWithId Read 45 0.0%
retrieveUserInfoFromAccessTokenWithId Read 44 0.0%
createDevice_authorize Write 43 0.0%
retrieveOpenIdConfigurationWithId Read 34 0.0%
createDeviceApprove Write 33 0.0%
retrieveReactorMetricsWithId Read 32 0.0%
retrieveVersionWithId Read 30 0.0%
retrieveKeysWithId Read 28 0.0%

Most agents use a handful of these tools. They pay for all 314.

A PolicyLayer grant exposes only the tools you allow — ungranted definitions are filtered out of the tool list, so they never enter the context window. Estimates below assume typical-weight tools (584 tokens each).

Grant scopeDefinition costReduction
All 314 tools (no gateway) 183,337 tokens
3 granted tools ~1,752 tokens −99%
5 granted tools ~2,919 tokens −98%
10 granted tools ~5,839 tokens −97%

Fusionauth token-cost questions.

How many tokens does the Fusionauth MCP server use?+

Its 314 tool definitions total 183,337 tokens — 92% of a 200k context window — measured with tiktoken o200k_base over the serialised tools/list payload. Exact counts vary slightly by client and model.

Why does Fusionauth consume tokens before I send a message?+

MCP clients load every connected server's tool definitions — name, description, and input schema — into the model's context so it knows what it can call. That payload is charged against your context window on every request, whether or not a tool is used.

How do I reduce Fusionauth's token usage?+

Expose fewer tools. A PolicyLayer grant scopes Fusionauth to only the tools you allow — ungranted definitions are filtered out of the tool list, so they never enter the context window. A grant of 3 typical tools costs roughly 1,752 tokens, a 99% reduction.

Does deferred tool loading fix this?+

Partially, in some clients. Claude Code defers MCP tool schemas behind a tool-search step by default, and VS Code has experimental grouping — but you still pay tokens per search and reload, and Cursor, Windsurf and Gemini CLI load definitions upfront. Reducing the exposed tool set cuts the cost in every client.

How these numbers were measured.

01
Serialisation

Each tool is serialised as a tools/list entry — name, description, input schema — from the schemas in the PolicyLayer scan database. Clients differ slightly in framing, so treat counts as close estimates.

02
Tokeniser

tiktoken o200k_base (GPT-4o/o-series). Anthropic's current tokeniser isn't published, so Claude's exact counts will differ; for English text and JSON schemas the totals are close enough to treat these as estimates.

03
Deferred loading

Some clients now defer schema loading (Claude Code's tool search; VS Code experimental grouping). You still pay per search and reload — and Cursor, Windsurf and Gemini CLI load everything upfront.

Computed 05-06-2026 from the PolicyLayer scan database over all 314 catalogued Fusionauth tools. Counts refresh with every site build.

Expose only the tools you use — the rest never enter your context.

A PolicyLayer grant scopes Fusionauth to the tools you actually allow. Ungranted definitions never load, and every call that does run is checked against policy first.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.