artifactory-mcp
Provides tools for querying Maven artifacts in a JFrog Artifactory repository, including fetching metadata, listing artifacts, checking version existence, retrieving POM files, and checking dependency updates.
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., "@artifactory-mcpget the latest stable version of com.google.guava:guava"
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.
artifactory-mcp
A Model Context Protocol (MCP) server that gives AI assistants like Claude Desktop or VS Code Copilot Chat the ability to query Maven artifacts in a JFrog Artifactory.
Reuses the same credentials Maven already uses (~/.m2/settings.xml) — no tokens passed via CLI args, no duplicate config, single source of truth.
Features
Reads credentials from
~/.m2/settings.xmlby default — no--artifactory-tokenCLI arg, nothing in process listingsLooks up the latest stable Maven version (excludes SNAPSHOT, alpha, beta, RC, milestone)
Wraps
mvn versions:*forcheck_dependency_updates— correct parent-chain and BOM resolution, reports plugin and property updates as well as dependency updatesUses the JFrog
/api/storage/REST API for directory listings — works even when HTML browsing is disabledWorks with Claude Desktop, VS Code Copilot, Cursor, and any MCP-compatible client
Prerequisites
Node.js 18 or higher
npm
Maven on
PATH(used bycheck_version_exists,check_dependency_updates, andget_pomwheneffective: true)Either a configured
<server id="artifactory">block in~/.m2/settings.xmlOR theARTIFACTORY_*environment variables (see below)
Installation
git clone <repo-url> artifactory-mcp
cd artifactory-mcp
npm installNo build step — the server runs directly from src/index.js.
Configuration
The server resolves credentials and the Artifactory URL in this order:
Env vars —
ARTIFACTORY_URL,ARTIFACTORY_USERNAME,ARTIFACTORY_TOKEN(orARTIFACTORY_PASSWORD). If all are set, they're used directly.~/.m2/settings.xml—<server id="artifactory">for credentials, plus<mirror>or<repository>for the URL.
Override the server id with ARTIFACTORY_SERVER_ID (defaults to artifactory).
Maven-encrypted passwords (
{...}syntax) are not supported. Use a plaintext token insettings.xmlor setARTIFACTORY_TOKEN.
Claude Desktop
Open Claude Desktop → Settings → Developer → Edit MCP configuration, and add:
{
"mcpServers": {
"artifactory": {
"command": "node",
"args": ["/absolute/path/to/artifactory-mcp/src/index.js"],
"type": "stdio"
}
}
}Credentials come from ~/.m2/settings.xml — no env vars or args needed.
VS Code (Copilot Chat / MCP extension)
Add to %APPDATA%\Code\User\mcp.json (Windows) or ~/.config/Code/User/mcp.json (Linux/macOS):
{
"servers": {
"artifactory": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/artifactory-mcp/src/index.js"]
}
}
}Override (optional)
To point at a different Artifactory instance or use a different <server> id:
{
"servers": {
"artifactory": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/artifactory-mcp/src/index.js"],
"env": {
"ARTIFACTORY_URL": "https://your-artifactory.example.com/artifactory/repo-key",
"ARTIFACTORY_SERVER_ID": "my-artifactory"
}
}
}
}Tokens passed via env (not CLI args) stay out of process listings.
Available Tools
get_metadata
Fetch the full maven-metadata.xml for an artifact.
Parameter | Type | Required | Description |
| string | yes | Maven groupId (e.g. |
| string | yes | Maven artifactId (e.g. |
get_latest_stable_version
Return the latest stable version of an artifact — excludes SNAPSHOT, alpha, beta, RC, and milestone builds.
Parameter | Type | Required |
| string | yes |
| string | yes |
check_version_exists
Verify whether a specific artifact version exists in Artifactory.
Parameter | Type | Required |
| string | yes |
| string | yes |
| string | yes |
list_artifacts
List artifacts under a Maven groupId. Uses JFrog's /api/storage/ REST endpoint.
Parameter | Type | Required |
| string | yes |
get_pom
Get the raw POM XML, or the effective POM with parent/BOM resolution applied.
Parameter | Type | Required | Description |
| string | yes | |
| string | yes | |
| string | yes | |
| boolean | no | If |
check_dependency_updates
Run a dependency update report. Wraps mvn versions:display-dependency-updates, versions:display-plugin-updates, and versions:display-property-updates.
Parameter | Type | Required | Description |
| string | yes* | For an Artifactory-hosted artifact |
| string | yes* | For an Artifactory-hosted artifact |
| string | yes* | For an Artifactory-hosted artifact |
| string | yes* | For a local Maven project directory (mutually exclusive with the above) |
* Provide either (groupId, artifactId, version) or projectPath.
Usage Examples (with an AI assistant)
What is the latest stable version of org.apache.commons:commons-lang3?Does version 3.14.0 of commons-lang3 exist in our Artifactory?List all artifacts under org.apache.logging.log4jShow me the effective POM for org.apache.commons:commons-lang3:3.14.0Check for dependency updates in the project at C:/path/to/my-projectNotes & Caveats
Stable-version filter.
get_latest_stable_versionexcludes pre-release tags like-SNAPSHOT,-alpha,-beta,-RC,-M1,-M2, etc. If you want the absolute latest including pre-releases, useget_metadataand pick from the full list.Effective POM is slow.
get_pomwitheffective: trueruns Maven, which downloads parent POMs and BOM artifacts. First-time runs against a cold local repo can take 30+ seconds.Maven required for
check_dependency_updates. This tool spawnsmvn— make sure Maven 3.x is onPATH.
Security
Use a token, not a password. Generate an identity token in Artifactory and put it in
~/.m2/settings.xml<password>(orARTIFACTORY_TOKEN).Don't commit
settings.xml. Treat it like a credential file.No Maven password encryption. This server does not decrypt
{...}encrypted passwords fromsettings.xml. Use plaintext tokens or env vars.
Troubleshooting
Symptom | Fix |
| Set |
| Set |
| Replace the |
| Install Maven 3.x and ensure it's on |
| Token is wrong or expired — regenerate in Artifactory UI |
Development
npm start # runs node src/index.jsSource lives in src/. Tools register themselves into the MCP server via the registerXxx(server, config) pattern.
This server cannot be installed
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
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/charanchelloju/artifactory-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server