Connectors · Identity & security
JFrog Artifactory MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to JFrog Artifactory and the rest of your systems. It gives your agent 270 JFrog Artifactory actions (111 reads, 120 writes and 39 that wait for a confirmation) and holds the JFrog Artifactory credential itself, so the agent never does. It paces JFrog Artifactory's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "jfrog_artifactory.projects.list", intent: "check which JFrog Artifactory account is connected"}# List projects · read · 1 upstream call- 270actionsin one signed file
- 111readlook, never change
- 120writecreate and update
- 39wait for a yesdestructive, confirmed first
Set up
Connect JFrog Artifactory in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect JFrog Artifactory.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenJFrog access token or identity tokenhostWhere your JFrog Artifactory lives: your host
account { op: "connections.requirements", service: "jfrog_artifactory" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "jfrog_artifactory.projects.list" }# list projects · read · 1 upstream callcheck { action: "jfrog_artifactory.items.copy", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
JFrog Artifactory at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Setup fields
host- Limits we pace to
- 600 calls a minute, per connection
- API covered
- JFrog Platform (Artifactory, Access, Xray, Release Lifecycle) API JFrog Platform REST APIs: Artifactory /artifactory/api, Access /access/api v1-v2, Xray /xray/api v1-v2, Lifecycle /lifecycle/api/v2, Event /event/api/v1, at your JFrog Artifactory instance's API base URL, which you enter when connecting
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 95 of 111 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 5, so ask can line JFrog Artifactory up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in JFrog Artifactory.
270 actions in 5 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 111readlook, never change
- 120writecreate and update
- 39destructivewait for a confirmation
Artifactory
14355 read · 73 write · 15 destructive
List repositories · List builds · Promote a build · Upload build info
Access
6524 read · 25 write · 16 destructive
List projects · List groups · List users · Create a project
Xray
3920 read · 15 write · 4 destructive
List Xray policies · Scan an artifact · Get an artifact's scan status · Scan a build
Lifecycle
1810 read · 5 write · 3 destructive
Create a release bundle · Distribute a release bundle version · Export a release bundle version · List a release bundle version's distributions
Event
52 read · 2 write · 1 destructive
Create a webhook · List webhooks · Get a webhook · Update a webhook
Top actions
The JFrog Artifactory API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
jfrog_artifactory.projects.listList projects | List projects. | read | this connector |
jfrog_artifactory.repositories.listList repositories | List repositories. | read | this connector |
jfrog_artifactory.access.users.listList users | List users. | read | this connector |
jfrog_artifactory.access.groups.listList groups | List groups. | read | this connector |
jfrog_artifactory.items.copyCopy an item | Copy an item. | write | this connector |
jfrog_artifactory.items.listList files under a folder | List files under a folder. | read | this connector |
jfrog_artifactory.search.aqlRun an AQL query | Run an AQL query. | read | this connector |
jfrog_artifactory.builds.listList builds | List builds. | read | this connector |
jfrog_artifactory.builds.uploadUpload build info | Upload build info. | write | this connector |
jfrog_artifactory.system.exportExport the system | Export the system. | write | this connector |
jfrog_artifactory.system.importImport a full system export | Import a full system export. | write | this connector |
jfrog_artifactory.items.deleteDelete a file or folder | Delete a file or folder. | destructive | this connector |
Try it
Prompts to paste into Claude.
Each one names the JFrog Artifactory actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Give me a one-line status for every active JFrog Artifactory project.
calls
jfrog_artifactory.projects.list - Writewrite
Copy an item in JFrog Artifactory. Show me exactly what you will send before you save it.
calls
jfrog_artifactory.items.copy
Governance for JFrog Artifactory
Destructive actions wait for a yes.
39 JFrog Artifactory actions are destructive. The first 10:
- Delete a file or folder
jfrog_artifactory.items.delete - Delete builds
jfrog_artifactory.builds.delete - Delete a project
jfrog_artifactory.projects.delete - Apply build retention
jfrog_artifactory.builds.retention - Delete a repository
jfrog_artifactory.repositories.delete - Delete a user
jfrog_artifactory.access.users.delete - Delete a group
jfrog_artifactory.access.groups.delete - Revoke an access token
jfrog_artifactory.access.tokens.revoke - Delete a project role
jfrog_artifactory.projects.roles.delete - Remove a project user
jfrog_artifactory.projects.users.remove
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a file or folder?
intent: the user asked me to delete a file or folder
account { op: "keys.create", name: "jfrog-artifactory-agent", allowed_actions: ["jfrog_artifactory.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "jfrog_artifactory.items.delete", approver: "[email protected]" }, { match: "jfrog_artifactory.builds.delete", approver: "[email protected]" }, { match: "jfrog_artifactory.projects.delete", approver: "[email protected]" } ]}Cost
What JFrog Artifactory costs on actionlake.
Every JFrog Artifactory action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call JFrog Artifactory refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 270 JFrog Artifactory actions
- 270actions pageeach page of a long list is one call
- 95reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every JFrog Artifactory action.
270 actions by area: the id your agent calls, what it does, and its effect.
Artifactory143
jfrog_artifactory.artifacts.deployDeploy a text artifactwritejfrog_artifactory.artifacts.deploy_by_checksumDeploy an artifact by checksumwritejfrog_artifactory.builds.deleteDelete buildsdestructivejfrog_artifactory.builds.diffDiff two build runsreadjfrog_artifactory.builds.getGet build inforeadjfrog_artifactory.builds.listList buildsreadjfrog_artifactory.builds.promotePromote a buildwritejfrog_artifactory.builds.renameRename a buildwritejfrog_artifactory.builds.retentionApply build retentiondestructivejfrog_artifactory.builds.runs.listList a build's runsreadjfrog_artifactory.builds.uploadUpload build infowritejfrog_artifactory.docker.images.promotePromote a Docker imagewritejfrog_artifactory.docker.repositories.listList Docker repositories in a registryreadjfrog_artifactory.docker.tags.listList Docker image tagsreadjfrog_artifactory.federation.full_syncRun a full sync of a federated repositorywritejfrog_artifactory.federation.migrateConvert a local repository to federatedwritejfrog_artifactory.federation.mirrors_lagGet federation mirror lagreadjfrog_artifactory.federation.statusGet a federated repository's sync statusreadjfrog_artifactory.folders.createCreate a folderwritejfrog_artifactory.items.checksum.set_sha256Calculate an item's SHA-256writejfrog_artifactory.items.copyCopy an itemwritejfrog_artifactory.items.deleteDelete a file or folderdestructivejfrog_artifactory.items.getGet file or folder inforeadjfrog_artifactory.items.last_modifiedGet an item's last modified timereadjfrog_artifactory.items.listList files under a folderreadjfrog_artifactory.items.moveMove an itemwritejfrog_artifactory.items.permissions.getGet effective item permissionsreadjfrog_artifactory.items.properties.deleteDelete item propertiesdestructivejfrog_artifactory.items.properties.getGet item propertiesreadjfrog_artifactory.items.properties.setSet item propertieswritejfrog_artifactory.items.properties.updateUpdate item properties (JSON)writejfrog_artifactory.items.statsGet file download statisticsreadjfrog_artifactory.plugins.build_promoteRun a build promotion pluginwritejfrog_artifactory.plugins.build_stagingGet a build staging strategyreadjfrog_artifactory.plugins.executeExecute a pluginwritejfrog_artifactory.plugins.listList user pluginsreadjfrog_artifactory.plugins.list_by_typeList user plugins of a typereadjfrog_artifactory.plugins.reloadReload user pluginswritejfrog_artifactory.replications.createCreate a repository replicationwritejfrog_artifactory.replications.create_multipleCreate multi-push replicationswritejfrog_artifactory.replications.deleteDelete a repository replicationdestructivejfrog_artifactory.replications.executeRun a pull or push replication nowwritejfrog_artifactory.replications.getGet a repository's replication configurationreadjfrog_artifactory.replications.listList replication configurationsreadjfrog_artifactory.replications.statusGet scheduled replication statusreadjfrog_artifactory.replications.updateUpdate a repository replicationwritejfrog_artifactory.replications.update_multipleUpdate multi-push replicationswritejfrog_artifactory.repositories.batch_createCreate several repositorieswritejfrog_artifactory.repositories.batch_updateUpdate several repositorieswritejfrog_artifactory.repositories.createCreate a repositorywritejfrog_artifactory.repositories.deleteDelete a repositorydestructivejfrog_artifactory.repositories.getGet a repository configurationreadjfrog_artifactory.repositories.importImport repository content from the server's file systemwritejfrog_artifactory.repositories.listList repositoriesreadjfrog_artifactory.repositories.reindex_bowerReindex a Bower repositorywritejfrog_artifactory.repositories.reindex_chefReindex a Chef repositorywritejfrog_artifactory.repositories.reindex_condaCalculate Conda repository metadatawritejfrog_artifactory.repositories.reindex_cranCalculate CRAN repository metadatawritejfrog_artifactory.repositories.reindex_debianCalculate Debian repository metadatawritejfrog_artifactory.repositories.reindex_helmCalculate a Helm chart indexwritejfrog_artifactory.repositories.reindex_mavenCalculate Maven metadatawritejfrog_artifactory.repositories.reindex_npmReindex an npm repositorywritejfrog_artifactory.repositories.reindex_nugetReindex a NuGet repositorywritejfrog_artifactory.repositories.reindex_opkgCalculate Opkg repository metadatawritejfrog_artifactory.repositories.reindex_puppetReindex a Puppet repositorywritejfrog_artifactory.repositories.reindex_pypiReindex a PyPI repositorywritejfrog_artifactory.repositories.reindex_yumCalculate YUM repository metadatawritejfrog_artifactory.repositories.updateUpdate a repository configurationwritejfrog_artifactory.search.aqlRun an AQL queryreadjfrog_artifactory.search.archive_entriesSearch archive entriesreadjfrog_artifactory.search.artifactsSearch artifacts by namereadjfrog_artifactory.search.bad_checksumSearch artifacts with bad checksumsreadjfrog_artifactory.search.build_artifactsSearch a build's artifactsreadjfrog_artifactory.search.checksumSearch by checksumreadjfrog_artifactory.search.creationSearch artifacts created in a date rangereadjfrog_artifactory.search.datesSearch artifacts by date rangereadjfrog_artifactory.search.dependencyFind builds that use an artifact as a dependencyreadjfrog_artifactory.search.gavcSearch by Maven coordinatesreadjfrog_artifactory.search.patternSearch by path patternreadjfrog_artifactory.search.unusedSearch artifacts not downloaded since a datereadjfrog_artifactory.search.versionsSearch artifact versions by Maven coordinatesreadjfrog_artifactory.security.groups.createCreate or replace a group (Artifactory)writejfrog_artifactory.security.groups.deleteDelete a group (Artifactory)destructivejfrog_artifactory.security.groups.getGet a group (Artifactory)readjfrog_artifactory.security.groups.listList groups (Artifactory)readjfrog_artifactory.security.groups.updateUpdate a group (Artifactory)writejfrog_artifactory.security.keypairs.createCreate a key pairwritejfrog_artifactory.security.keypairs.deleteDelete a key pairdestructivejfrog_artifactory.security.keypairs.getGet a key pairreadjfrog_artifactory.security.keypairs.listList key pairsreadjfrog_artifactory.security.lock_policy.getGet the user lock policyreadjfrog_artifactory.security.lock_policy.updateSet the user lock policywritejfrog_artifactory.security.locked_users.listList locked-out usersreadjfrog_artifactory.security.locked_users.unlockUnlock a userwritejfrog_artifactory.security.locked_users.unlock_allUnlock all userswritejfrog_artifactory.security.locked_users.unlock_manyUnlock several userswritejfrog_artifactory.security.password_policy.getGet the password expiration policyreadjfrog_artifactory.security.password_policy.updateSet the password expiration policywritejfrog_artifactory.security.passwords.expire_allExpire every user's passwordwritejfrog_artifactory.security.passwords.expire_userExpire a user's passwordwritejfrog_artifactory.security.passwords.expire_usersExpire several users' passwordswritejfrog_artifactory.security.passwords.unexpire_userUnexpire a user's passwordwritejfrog_artifactory.security.permissions.createCreate a permission target (Artifactory)writejfrog_artifactory.security.permissions.deleteDelete a permission target (Artifactory)destructivejfrog_artifactory.security.permissions.getGet a permission target (Artifactory)readjfrog_artifactory.security.permissions.listList permission targets (Artifactory)readjfrog_artifactory.security.permissions.replaceReplace a permission target (Artifactory)writejfrog_artifactory.security.trusted_keys.createAdd a trusted keywritejfrog_artifactory.security.trusted_keys.deleteDelete a trusted keydestructivejfrog_artifactory.security.trusted_keys.listList trusted keysreadjfrog_artifactory.security.users.createCreate or replace a user (Artifactory)writejfrog_artifactory.security.users.deleteDelete a user (Artifactory)destructivejfrog_artifactory.security.users.getGet a user (Artifactory)readjfrog_artifactory.security.users.listList users (Artifactory)readjfrog_artifactory.security.users.updateUpdate a user (Artifactory)writejfrog_artifactory.storage_info.calculateRefresh the storage summarywritejfrog_artifactory.storage_info.getGet storage summaryreadjfrog_artifactory.system.base_url.updateSet the custom base URLwritejfrog_artifactory.system.certificates.addAdd a trusted certificatewritejfrog_artifactory.system.certificates.deleteDelete a trusted certificatedestructivejfrog_artifactory.system.certificates.listList trusted certificatesreadjfrog_artifactory.system.configuration.patchPatch the global configuration (YAML)writejfrog_artifactory.system.encryption.decryptDecrypt stored passwordswritejfrog_artifactory.system.encryption.encryptEncrypt stored passwordswritejfrog_artifactory.system.exportExport the systemwritejfrog_artifactory.system.ha_licenses.deleteDelete HA cluster licensesdestructivejfrog_artifactory.system.ha_licenses.installInstall HA cluster licenseswritejfrog_artifactory.system.ha_licenses.listList HA cluster licensesreadjfrog_artifactory.system.importImport a full system exportwritejfrog_artifactory.system.license.getGet license informationreadjfrog_artifactory.system.license.installInstall a licensewritejfrog_artifactory.system.liveness.getGet Artifactory livenessreadjfrog_artifactory.system.readiness.getGet Artifactory readinessreadjfrog_artifactory.system.replications.blockBlock push and pull replicationswritejfrog_artifactory.system.replications.unblockUnblock push and pull replicationswritejfrog_artifactory.system.reverse_proxy.getGet reverse proxy configurationreadjfrog_artifactory.system.reverse_proxy.updateUpdate reverse proxy configurationwritejfrog_artifactory.system.storage.gcRun garbage collectionwritejfrog_artifactory.system.storage.optimizeOptimize system storagewritejfrog_artifactory.system.version.getGet Artifactory version and add-onsreadjfrog_artifactory.trash.emptyEmpty the trash candestructivejfrog_artifactory.trash.items.deleteDelete an item from the trash candestructivejfrog_artifactory.trash.items.restoreRestore an item from the trash canwrite
Access65
jfrog_artifactory.access.groups.createCreate a groupwritejfrog_artifactory.access.groups.deleteDelete a groupdestructivejfrog_artifactory.access.groups.getGet a groupreadjfrog_artifactory.access.groups.listList groupsreadjfrog_artifactory.access.groups.members.updateAdd or remove group memberswritejfrog_artifactory.access.groups.updateUpdate a groupwritejfrog_artifactory.access.oidc.tokenExchange an OIDC token for an access tokenwritejfrog_artifactory.access.permissions.createCreate a permissionwritejfrog_artifactory.access.permissions.deleteDelete a permissiondestructivejfrog_artifactory.access.permissions.getGet a permissionreadjfrog_artifactory.access.permissions.listList permissionsreadjfrog_artifactory.access.permissions.resources.deleteRemove a permission's resource sectiondestructivejfrog_artifactory.access.permissions.resources.getGet a permission's resource sectionreadjfrog_artifactory.access.permissions.resources.replaceReplace a permission's resource sectionwritejfrog_artifactory.access.tokens.createCreate an access tokenwritejfrog_artifactory.access.tokens.getGet an access token's detailsreadjfrog_artifactory.access.tokens.listList access tokensreadjfrog_artifactory.access.tokens.meGet the calling token's detailsreadjfrog_artifactory.access.tokens.revokeRevoke an access tokendestructivejfrog_artifactory.access.users.createCreate a userwritejfrog_artifactory.access.users.deleteDelete a userdestructivejfrog_artifactory.access.users.getGet a userreadjfrog_artifactory.access.users.inviteInvite a user by emailwritejfrog_artifactory.access.users.listList usersreadjfrog_artifactory.access.users.updateUpdate a userwritejfrog_artifactory.environments.createCreate a global environmentwritejfrog_artifactory.environments.deleteDelete a global environmentdestructivejfrog_artifactory.environments.listList global environmentsreadjfrog_artifactory.oidc.mappings.createCreate an OIDC identity mappingwritejfrog_artifactory.oidc.mappings.deleteDelete an OIDC identity mappingdestructivejfrog_artifactory.oidc.mappings.getGet an OIDC identity mappingreadjfrog_artifactory.oidc.mappings.listList OIDC identity mappingsreadjfrog_artifactory.oidc.mappings.updateUpdate an OIDC identity mappingwritejfrog_artifactory.oidc.providers.createCreate an OIDC integrationwritejfrog_artifactory.oidc.providers.deleteDelete an OIDC integrationdestructivejfrog_artifactory.oidc.providers.getGet an OIDC integrationreadjfrog_artifactory.oidc.providers.listList OIDC integrationsreadjfrog_artifactory.oidc.providers.updateUpdate an OIDC integrationwritejfrog_artifactory.projects.createCreate a projectwritejfrog_artifactory.projects.deleteDelete a projectdestructivejfrog_artifactory.projects.environments.createCreate a project environmentwritejfrog_artifactory.projects.environments.deleteDelete a project environmentdestructivejfrog_artifactory.projects.environments.listList a project's environmentsreadjfrog_artifactory.projects.getGet a projectreadjfrog_artifactory.projects.groups.getGet a project group's rolesreadjfrog_artifactory.projects.groups.listList a project's groupsreadjfrog_artifactory.projects.groups.removeRemove a project groupdestructivejfrog_artifactory.projects.groups.setAdd or update a project groupwritejfrog_artifactory.projects.listList projectsreadjfrog_artifactory.projects.repositories.assignAssign a repository to a projectwritejfrog_artifactory.projects.repositories.shareShare a repository with a projectwritejfrog_artifactory.projects.repositories.share_allShare a repository with all projectswritejfrog_artifactory.projects.repositories.unassignUnassign a repository from its projectdestructivejfrog_artifactory.projects.repositories.unshareStop sharing a repository with a projectdestructivejfrog_artifactory.projects.repositories.unshare_allStop sharing a repository with all projectsdestructivejfrog_artifactory.projects.roles.createCreate a project rolewritejfrog_artifactory.projects.roles.deleteDelete a project roledestructivejfrog_artifactory.projects.roles.getGet a project rolereadjfrog_artifactory.projects.roles.listList a project's rolesreadjfrog_artifactory.projects.roles.updateUpdate a project rolewritejfrog_artifactory.projects.updateUpdate a projectwritejfrog_artifactory.projects.users.getGet a project user's rolesreadjfrog_artifactory.projects.users.listList a project's usersreadjfrog_artifactory.projects.users.removeRemove a project userdestructivejfrog_artifactory.projects.users.setAdd or update a project userwrite
Xray39
jfrog_artifactory.xray.artifacts.scanScan an artifactwritejfrog_artifactory.xray.artifacts.statusGet an artifact's scan statusreadjfrog_artifactory.xray.builds.scanScan a buildwritejfrog_artifactory.xray.components.cves_by_componentsFind CVEs affecting componentsreadjfrog_artifactory.xray.components.search_by_cvesFind components affected by CVEsreadjfrog_artifactory.xray.dependency_graph.artifactGet an artifact's dependency graphreadjfrog_artifactory.xray.dependency_graph.buildGet a build's dependency graphreadjfrog_artifactory.xray.ignore_rules.createCreate an Xray ignore rulewritejfrog_artifactory.xray.ignore_rules.deleteDelete an Xray ignore ruledestructivejfrog_artifactory.xray.ignore_rules.getGet an Xray ignore rulereadjfrog_artifactory.xray.ignore_rules.listList Xray ignore rulesreadjfrog_artifactory.xray.indexing.builds.addAdd builds to indexingwritejfrog_artifactory.xray.indexing.builds.getGet indexed buildsreadjfrog_artifactory.xray.indexing.builds.updateSet indexed buildswritejfrog_artifactory.xray.indexing.repositories.getGet indexed repositoriesreadjfrog_artifactory.xray.indexing.repositories.updateSet indexed repositorieswritejfrog_artifactory.xray.policies.createCreate an Xray policywritejfrog_artifactory.xray.policies.deleteDelete an Xray policydestructivejfrog_artifactory.xray.policies.getGet an Xray policyreadjfrog_artifactory.xray.policies.listList Xray policiesreadjfrog_artifactory.xray.policies.updateUpdate an Xray policywritejfrog_artifactory.xray.reports.contentGet an Xray report's rowsreadjfrog_artifactory.xray.reports.create_licensesGenerate a licenses reportwritejfrog_artifactory.xray.reports.create_operational_risksGenerate an operational risks reportwritejfrog_artifactory.xray.reports.create_violationsGenerate a violations reportwritejfrog_artifactory.xray.reports.create_vulnerabilitiesGenerate a vulnerabilities reportwritejfrog_artifactory.xray.reports.deleteDelete an Xray reportdestructivejfrog_artifactory.xray.reports.getGet an Xray report's statusreadjfrog_artifactory.xray.reports.listList Xray reportsreadjfrog_artifactory.xray.summary.artifactGet artifact security summaryreadjfrog_artifactory.xray.summary.buildGet build security summaryreadjfrog_artifactory.xray.version.getGet Xray versionreadjfrog_artifactory.xray.violations.searchSearch Xray violationsreadjfrog_artifactory.xray.watches.applyApply watches to existing contentwritejfrog_artifactory.xray.watches.createCreate an Xray watchwritejfrog_artifactory.xray.watches.deleteDelete an Xray watchdestructivejfrog_artifactory.xray.watches.getGet an Xray watchreadjfrog_artifactory.xray.watches.listList Xray watchesreadjfrog_artifactory.xray.watches.updateUpdate an Xray watchwrite
Lifecycle18
jfrog_artifactory.release_bundles.createCreate a release bundlewritejfrog_artifactory.release_bundles.distributeDistribute a release bundle versionwritejfrog_artifactory.release_bundles.distributions.getGet a distribution's statusreadjfrog_artifactory.release_bundles.distributions.listList a release bundle version's distributionsreadjfrog_artifactory.release_bundles.exportExport a release bundle versionwritejfrog_artifactory.release_bundles.export_statusGet a release bundle export's statusreadjfrog_artifactory.release_bundles.names.listList release bundle namesreadjfrog_artifactory.release_bundles.promotions.createPromote a release bundle versionwritejfrog_artifactory.release_bundles.promotions.deleteDelete a promotiondestructivejfrog_artifactory.release_bundles.promotions.listList a release bundle version's promotionsreadjfrog_artifactory.release_bundles.promotions.statusGet a promotion's statusreadjfrog_artifactory.release_bundles.remote_deleteDelete a release bundle version from edge nodesdestructivejfrog_artifactory.release_bundles.versions.deleteDelete a release bundle versiondestructivejfrog_artifactory.release_bundles.versions.existsCheck whether a release bundle version existsreadjfrog_artifactory.release_bundles.versions.getGet a release bundle versionreadjfrog_artifactory.release_bundles.versions.listList a release bundle's versionsreadjfrog_artifactory.release_bundles.versions.statusGet a release bundle version's creation statusreadjfrog_artifactory.release_bundles.versions.tagTag a release bundle versionwrite
Event5
jfrog_artifactory.webhooks.createCreate a webhookwritejfrog_artifactory.webhooks.deleteDelete a webhookdestructivejfrog_artifactory.webhooks.getGet a webhookreadjfrog_artifactory.webhooks.listList webhooksreadjfrog_artifactory.webhooks.updateUpdate a webhookwrite
Questions
The JFrog Artifactory MCP server, answered.
Is there a JFrog Artifactory MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 270 JFrog Artifactory actions across artifactory, access, xray and lifecycle, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by JFrog Artifactory.
What do I need to connect JFrog Artifactory?
JFrog access token or identity token. Plus your host. The free call account { op: "connections.requirements", service: "jfrog_artifactory" } lists exactly what to paste.
Can an AI agent delete or change things in JFrog Artifactory?
Only if its key allows it, and only with an explicit confirmation. 39 JFrog Artifactory actions are destructive, including delete a file or folder, delete builds and delete a project. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my JFrog Artifactory API limit?
actionlake paces every call to the limits in the JFrog Artifactory service file: 600 calls a minute per connection. Repeated reads are answered from cache (95 JFrog Artifactory actions can be), which never reaches JFrog Artifactory.
What does a JFrog Artifactory action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (270 JFrog Artifactory actions page). Cache hits, searches, dry runs and calls JFrog Artifactory refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which JFrog Artifactory API does it cover?
The JFrog Platform (Artifactory, Access, Xray, Release Lifecycle) API JFrog Platform REST APIs: Artifactory /artifactory/api, Access /access/api v1-v2, Xray /xray/api v1-v2, Lifecycle /lifecycle/api/v2, Event /event/api/v1 at your JFrog Artifactory instance's API base URL, which you enter when connecting. It is built from JFrog Artifactory's documentation as read on 23 October 2026. 270 actions in 5 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my JFrog Artifactory data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your JFrog Artifactory credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent JFrog Artifactory today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.