jfrog_list_projects
Retrieve detailed information about all projects within the JFrog platform using this tool. Simplify project management and oversight by accessing comprehensive project data.
Instructions
Get a list of all projects in the JFrog platform with their details
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- tools/access.ts:14-20 (handler)Core handler logic: Fetches all JFrog projects from /access/api/v1/projects endpoint and parses the array response using JFrogProjectSchema.export async function getAllProjects() { const response = await jfrogRequest("/access/api/v1/projects", { method: "GET", }); return z.array(accessSchemas.JFrogProjectSchema).parse(response); }
- schemas/access.ts:30-42 (schema)JFrogProjectSchema: Zod schema defining the structure of a JFrog project, used to parse the API response in getAllProjects().export const JFrogProjectSchema = z.object({ display_name: z.string().describe("Display name of the project"), description: z.string().describe("Project description"), admin_privileges: z.object({ manage_members: z.boolean().describe("Whether admin can manage members"), manage_resources: z.boolean().describe("Whether admin can manage resources"), index_resources: z.boolean().describe("Whether admin can index resources") }), storage_quota_bytes: z.number().describe("Storage quota in bytes"), soft_limit: z.boolean().describe("Whether soft limit is enabled"), storage_quota_email_notification: z.boolean().describe("Whether storage quota email notifications are enabled"), project_key: z.string().describe("Unique key of the project") });
- tools/access.ts:51-59 (registration)Tool registration object: Defines name, description, empty input schema (no args needed), and handler delegating to getAllProjects().const listAllProjectsTool = { name: "jfrog_list_projects", description: "Get a list of all projects in the JFrog platform with their details", inputSchema: zodToJsonSchema(z.object({})), //outputSchema: zodToJsonSchema(z.object({})), handler: async (args: any) => { return await getAllProjects(); } };
- tools/index.ts:13-23 (registration)Main tools array: Spreads AccessTools (containing jfrog_list_projects) into the complete list of available tools, imported by MCP server.export const tools =[ ...RepositoryTools, ...BuildsTools, ...RuntimeTools, ...AccessTools, ...AQLTools, ...CatalogTools, ...CurationTools, ...PermissionsTools, ...ArtifactSecurityTools, ];
- tools/index.ts:26-32 (helper)executeTool: Helper dispatcher that finds the tool by name (jfrog_list_projects) and invokes its handler with arguments.export async function executeTool(toolName: string, args: any) { const tool = tools.find(t => t.name === toolName); if (!tool) { throw new Error(`Tool ${toolName} not found`); } return await tool.handler(args); }