|
1 | 1 | # Built-in `jfrog` MCP |
2 | 2 |
|
3 | | -The plugin ships a built-in `jfrog` MCP at |
4 | | -`https://${JFROG_PLATFORM_URL}/mcp` in its read-only `mcp.json`. |
5 | | -**Hard rules** (apply before any MCP action below): |
6 | | - |
7 | | -- `jfrog` is always available with respect to AI Catalog policy; |
8 | | - never tell the user it's blocked or missing for catalog reasons. |
9 | | -- NEVER run any Agent Guard flow (`--inspect`, `--login`, install, |
10 | | - remove) against `jfrog`, and NEVER edit or delete its entry. |
11 | | - Removal is only possible by uninstalling the plugin from Cursor. |
| 3 | +The plugin ships a built-in `jfrog` MCP in its read-only `mcp.json`, |
| 4 | +launched as `npx @jfrog/agent-guard` with `_JF_ARGS=mcp=jfrog-mcp`. |
| 5 | +agent-guard recognizes that shape, skips the AI Catalog, and connects |
| 6 | +directly to `${JFROG_URL}/mcp`. **Hard rules** (apply before any MCP |
| 7 | +action below): |
| 8 | + |
| 9 | +- `jfrog` is always available; never tell the user it's blocked, |
| 10 | + missing, or pending because of catalog/entitlement. |
| 11 | +- NEVER run any Agent Guard catalog flow (`--inspect`, `--login`, |
| 12 | + install, remove) against `jfrog`, and NEVER edit or delete its |
| 13 | + entry. Removal is only possible by uninstalling the plugin from |
| 14 | + Cursor. |
12 | 15 | - In any "currently installed" listing, report `jfrog` as |
13 | 16 | `scope: plugin (jfrog)`, `managed-by: plugin`. The rest of this |
14 | 17 | document does not apply to it. |
15 | | -- If the AI Catalog also publishes the JFrog MCP (typically as |
16 | | - `jfrog-mcp`) and the user wants catalog-managed tool policy, |
17 | | - install it via the standard catalog flow under a different |
18 | | - `mcpServers` key — e.g., `jfrog-catalog` — so it coexists with |
19 | | - the built-in `jfrog`. Tell the user about the rename and that |
20 | | - they end up with both entries. |
21 | | -- Cursor's enterprise admin **MCP Configuration** panel sits above |
22 | | - plugins and CAN block `jfrog`. If the user reports `jfrog` is |
23 | | - missing, see "Built-in `jfrog` MCP missing under enterprise MCP |
24 | | - Configuration" in Troubleshooting. |
| 18 | +- Tool calls on the built-in `jfrog` are constrained by the JFrog |
| 19 | + access token, not by AI Catalog tool policy. If the AI Catalog |
| 20 | + also publishes the JFrog MCP (typically as `jfrog-mcp`) and the |
| 21 | + user wants catalog-managed tool policy, install it via the |
| 22 | + standard catalog flow (`_JF_ARGS=project=<key>&mcp=jfrog-mcp`) |
| 23 | + under a different `mcpServers` key — e.g., `jfrog-catalog` — so |
| 24 | + it coexists with the built-in `jfrog`. Tell the user about the |
| 25 | + rename and that they end up with both entries. |
25 | 26 |
|
26 | 27 | # MCP Server Management — JFrog Agent Guard |
27 | 28 |
|
@@ -446,18 +447,16 @@ the display name. |
446 | 447 | Tools & MCP** — never enabled. Re-run Step 4a |
447 | 448 | (`cursor agent mcp enable <name>`); if the entry is brand-new, |
448 | 449 | also `Developer: Reload Window` so Cursor picks up the file. |
449 | | -- **Built-in `jfrog` MCP missing under enterprise MCP |
450 | | - Configuration** — the built-in `jfrog` server is HTTP at |
451 | | - `https://${JFROG_PLATFORM_URL}/mcp` and is filtered by Cursor's |
452 | | - admin **MCP Configuration** allowlist (Server/Command list with |
453 | | - Command or URL entries) like every MCP. Most common silent-block: |
454 | | - an allowlist with only Command entries (e.g. agent-guard-only |
455 | | - `npx ... @jfrog/agent-guard ...`) and zero URL entries — an HTTP |
456 | | - server has nothing to match. The plugin cannot bypass the admin |
457 | | - panel. Tell the user this is an enterprise-policy block (not a |
458 | | - plugin or AI Catalog issue) and to ask their Cursor admin to add a |
459 | | - URL entry covering `https://${JFROG_PLATFORM_URL}/mcp` in the |
460 | | - admin **MCP Configuration** panel. |
| 450 | +- **Built-in `jfrog` MCP missing** — almost always either (a) |
| 451 | + `JFROG_URL` / `JFROG_ACCESS_TOKEN` unset (agent-guard fails fast at |
| 452 | + startup; check the error in the Cursor MCP / Output panel), or (b) |
| 453 | + Cursor's admin **MCP Configuration** allowlist filters the |
| 454 | + `npx ... @jfrog/agent-guard` Command. The plugin cannot bypass the |
| 455 | + admin panel — tell the user this is an environment / enterprise |
| 456 | + policy issue (not a plugin or AI Catalog issue) and either to set |
| 457 | + the env vars or to ask their Cursor admin to add a Command entry |
| 458 | + covering `npx ... @jfrog/agent-guard` (no `--server` / `--mcp` / |
| 459 | + `--project` args) in the admin **MCP Configuration** panel. |
461 | 460 | - **Agent Guard: `multiple/no JFrog server configured`** (the agent guard |
462 | 461 | cannot pick a JFrog server) — pass `--server <ID>` (after |
463 | 462 | `jf c add <SERVER_ID>`) OR export both `JFROG_URL` and |
|
0 commit comments