jfrog_get_package_curation_status
Check the curation status of a specific package version (approved, blocked, or inconclusive) by specifying package type, name, and version on the JFrog MCP Server.
Instructions
Useful for checking the curation status of a specific package version. Returns one of the following statuses: approved, blocked, inconclusive.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| packageName | Yes | The name of the package, as it appears in the package repository. | |
| packageType | Yes | The type of package. | |
| packageVersion | Yes | The version of the package, as it appears in the package repository. |
Implementation Reference
- tools/curation.ts:19-49 (handler)The core handler function that performs the HTTP request to JFrog Xray API to retrieve curation status for a specific package version across all repositories and computes the overall status (approved, blocked, or inconclusive).export async function getCurationPackageStatus(options: GetCurationPackageStatusInput): Promise<GetCurationPackageStatusOutput> { const response = await jfrogRequest( "xray/api/v1/curation/package_status/all_repos", { method: "POST", body: JSON.stringify({ packageType: options.packageType, packageName: options.packageName, packageVersion: options.packageVersion }) } ) as CurationStatusResponse & { repositories: any[] }; const totalApproved = response.summary.total_approved; const totalBlocked = response.summary.total_blocked; const isRepoInformation = true; const status = totalApproved > 0 && totalBlocked === 0 ? "approved" : totalApproved === 0 && totalBlocked > 0 ? "blocked" : "inconclusive"; const details = totalApproved > 0 && totalBlocked === 0 ? "The package is approved in all repositories." : totalApproved === 0 && totalBlocked > 0 ? "The package is blocked in all repositories." : "The package has mixed curation status across repositories."; if (isRepoInformation) { return { status, details, repositories: response.repositories }; } return { status, details }; }
- tools/curation.ts:51-64 (registration)Defines the MCP tool object for 'jfrog_get_package_curation_status' including name, description, input schema conversion, and a wrapper handler that parses input and calls the core function. Exports as CurationTools array.const getCurationPackageStatusTool = { name: "jfrog_get_package_curation_status", description: "Useful for checking the curation status of a specific package version. Returns one of the following statuses: approved, blocked, inconclusive.", inputSchema: zodToJsonSchema(GetCurationPackageStatusInputSchema), //outputSchema: zodToJsonSchema(GetCurationPackageStatusOutputSchema), handler: async (args: any) => { const parsedArgs = GetCurationPackageStatusInputSchema.parse(args); return await getCurationPackageStatus(parsedArgs); } }; export const CurationTools = [ getCurationPackageStatusTool ];
- tools/index.ts:9-23 (registration)Imports the CurationTools and spreads them into the global 'tools' array, registering the tool for use in the MCP system.import { CurationTools } from "./curation.js"; import { PermissionsTools } from "./permissions.js"; import { ArtifactSecurityTools } from "./security.js"; export const tools =[ ...RepositoryTools, ...BuildsTools, ...RuntimeTools, ...AccessTools, ...AQLTools, ...CatalogTools, ...CurationTools, ...PermissionsTools, ...ArtifactSecurityTools, ];