Skip to main content
Glama
jfrog

JFrog MCP Server

Official
by jfrog

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
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • 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);
    }
  • 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,
    ];
  • 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);
    }

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/jfrog/mcp-jfrog'

If you have feedback or need assistance with the MCP directory API, please join our Discord server