Connect AI Agents to the JFrog MCP Server
The jf mcp command group discovers and configures the remote MCP (Model Context Protocol) server hosted on the JFrog Platform. Use it to print the MCP endpoint or to wire an AI agent (Cursor or Claude Code) directly to your JFrog Platform instance so the agent can call JFrog APIs on your behalf.
Prerequisites
To use jf mcp:
- JFrog CLI installed and at least one server configured with
jf config add(or pass--urlinline). - For
jf mcp install: a supported AI agent (Cursor or Claude Code) installed on the workstation. - For
jf mcp install --global: write access to your home directory (for example,~/.cursor/or~/.claude.json).
Subcommands
The following table lists the jf mcp subcommands.
| Subcommand | Description |
|---|---|
jf mcp show | Print the MCP endpoint URL for the configured server |
jf mcp install | Configure an AI agent (Cursor or Claude) to connect to the JFrog MCP server |
jf mcp uninstall | Remove the JFrog entry from an agent's MCP configuration |
jf mcp show
Prints the MCP endpoint (<platform-url>/mcp) for the configured server. Use this to confirm the endpoint before installing it in an agent, or to retrieve the URL for manual configuration.
Synopsis
jf mcp show [--mcp-url=<url>] [--format=<format>] [--server-id=<id>]Aliases: none
Options
The following table lists options for jf mcp show.
| Flag | Default | Description |
|---|---|---|
--mcp-url | — | Override the MCP endpoint URL. Defaults to <platform-url>/mcp from the configured server |
--format | table | Output format: table (default) or json |
--server-id | — | Use a specific configured server instead of the default |
--url | — | JFrog Platform base URL (for example https://acme.jfrog.io/). Overrides the configured server |
Output
--format table
--format tableMCP endpoint: https://my.jfrog.io/mcp
Server ID: my-platform
Auth: OAuth (completed in the agent / client platform)
--format json
--format json{
"serverId": "my-platform",
"platformUrl": "https://my.jfrog.io/",
"mcpUrl": "https://my.jfrog.io/mcp",
"transport": "http"
}jf mcp install
Configures an AI agent to connect to the JFrog MCP server. The command:
- Verifies the MCP endpoint is reachable (use
--skip-checkto bypass). - Merges a JFrog server entry into the agent's configuration file, preserving existing entries.
- Reminds you to complete OAuth authorization in the agent before the connection becomes active.
No credentials are stored. Authentication is completed through the agent's own OAuth flow after installation.
Supported configuration targets:
| Agent | Project scope (default) | Global scope (--global) |
|---|---|---|
| Cursor | .cursor/mcp.json | ~/.cursor/mcp.json |
| Claude | .mcp.json | ~/.claude.json |
Synopsis
jf mcp install --agent=<agent> [--global] [--project-dir=<dir>] [--name=<name>] [--mcp-url=<url>] [--dry-run] [--skip-check] [--server-id=<id>]Aliases: none
Options
The following table lists options for jf mcp install.
| Flag | Default | Description |
|---|---|---|
--agent | — | Required. Target AI agent: cursor or claude |
--global | false | Apply to the user-level (global) configuration instead of the current project |
--project-dir | current dir | Project directory to configure |
--name | jfrog | Name of the MCP server entry written to the agent configuration |
--mcp-url | — | Override the MCP endpoint URL. Defaults to <platform-url>/mcp |
--dry-run | false | Print the resulting configuration without writing it |
--skip-check | false | Skip the MCP server reachability check before writing configuration |
--server-id | — | Use a specific configured server instead of the default |
--url | — | JFrog Platform base URL. Overrides the configured server URL |
jf mcp uninstall
Removes the JFrog MCP entry from an agent's configuration file, leaving any other configured MCP servers untouched.
Synopsis
jf mcp uninstall --agent=<agent> [--global] [--project-dir=<dir>] [--name=<name>] [--server-id=<id>]Aliases: none
Options
The following table lists options for jf mcp uninstall.
| Flag | Default | Description |
|---|---|---|
--agent | — | Required. Target AI agent: cursor or claude |
--global | false | Remove from the user-level (global) configuration instead of the current project |
--project-dir | current dir | Project directory from which to remove the entry |
--name | jfrog | Name of the MCP server entry to remove |
--server-id | — | Use a specific configured server instead of the default |
Environment Variables
The following table lists the related environment variables.
| Variable | Description |
|---|---|
JFROG_CLI_MCP_URL | Override the MCP endpoint URL. Equivalent to passing --mcp-url on any jf mcp command |
JFROG_CLI_REPORT_USAGE | When set to false, disables anonymous usage reporting for all jf mcp subcommands |
Examples
Show the MCP Endpoint
To print the MCP endpoint for the default configured server:
jf mcp showTo print the endpoint as JSON:
jf mcp show --format jsonTo print the endpoint for a specific configured server:
jf mcp show --server-id=my-platformConfigure Cursor for a Project
To configure Cursor for the current project:
- Run:
jf mcp install --agent cursor- The CLI writes a server entry to
.cursor/mcp.jsonin the current directory and prints:
JFrog MCP server entry written to .cursor/mcp.json
To complete the connection, approve the "jfrog" server in Cursor's MCP panel.
- Open Cursor, go to Settings > MCP, and approve the
jfrogserver to finish the OAuth flow.
Configure Cursor Globally
To configure Cursor for all projects at the user level:
jf mcp install --agent cursor --globalThe CLI writes the entry to ~/.cursor/mcp.json.
Configure Claude Code Globally
To configure Claude Code at the global level:
jf mcp install --agent claude --globalThe CLI writes the entry to ~/.claude.json. After installation, run /mcp in Claude Code to approve the server and complete authorization.
Preview Without Writing
To preview the resulting configuration without making any changes:
jf mcp install --agent cursor --dry-runThe CLI prints the configuration that would be written but makes no changes to disk.
Use a Custom MCP URL
To configure an agent with a non-default MCP endpoint:
jf mcp install --agent claude --mcp-url=https://acme.jfrog.io/mcpRemove the JFrog Entry from Cursor
To remove the JFrog MCP server entry from the current project's Cursor configuration:
jf mcp uninstall --agent cursorTo remove it from the global Cursor configuration:
jf mcp uninstall --agent cursor --globalWhen to Use
jf mcp show: Use to confirm the MCP endpoint before configuring an agent, or to retrieve the URL for a manual configuration.jf mcp install: Use to connect Cursor or Claude Code to the JFrog MCP server so the agent can call JFrog Platform APIs (Artifactory, Security, Access, and others) during AI-assisted workflows.- Use
--globalto apply the configuration to all projects on your workstation. - Use
--dry-runto verify the output before committing changes.
- Use
jf mcp uninstall: Use to disconnect an agent from the JFrog MCP server, for example when rotating platforms or cleaning up configuration.
Important Notes
- The command stores no credentials in the agent configuration. The entry that
jf mcp installwrites contains only the endpoint URL. The agent's OAuth flow completes authentication after installation. - After running
jf mcp install, the connection isn't active until you complete authorization in the agent. For example, run/mcpin Claude Code or approve the server in Cursor's MCP settings panel. jf mcp installmerges the JFrog entry into the existing agent configuration. The command preserves any other MCP servers already configured in the file.- By default,
jf mcp installverifies that the MCP endpoint is reachable before writing any configuration. Use--skip-checkto bypass this check in environments where the endpoint may not be accessible at configuration time (for example, inside CI). - The
--nameflag controls the key used for the JFrog entry (default:jfrog). Use it if you need to configure multiple JFrog Platform instances in the same agent.
Troubleshooting
To resolve common jf mcp errors:
The following table lists common errors, causes, and resolutions.
| Error | Cause | Resolution |
|---|---|---|
MCP server is not reachable at <url> | The endpoint check failed before writing the configuration | Verify the platform URL is correct and reachable from your machine. Use --skip-check to bypass the check if the endpoint is not yet accessible. |
unknown agent: <value> | Invalid value passed to --agent | Use cursor or claude. |
entry "jfrog" not found in configuration | Attempting to uninstall an entry that does not exist | Verify the correct --agent flag and --name value, and check the configuration file directly. |
| Agent does not connect after installation | OAuth not completed in the agent | Approve the server in the agent: run /mcp in Claude Code, or go to Settings > MCP in Cursor. |
permission denied writing to ~/.cursor/mcp.json | Insufficient write access to the home directory | Check file ownership and permissions (ls -la ~/.cursor/). |
