jfrog_create_project
Create a new project in the JFrog platform, defining display name, description, admin privileges, storage quota, and project key. Manage access and resources for streamlined project setup.
Instructions
Create a new project in the JFrog platform
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| admin_privileges | Yes | Administrative privileges for the project | |
| description | Yes | Description of the project | |
| display_name | Yes | Display name of the project | |
| project_key | Yes | Unique identifier for the project, Project key must start with a lowercase letter and only contain lowercase letters | |
| storage_quota_bytes | Yes | Storage quota in bytes (-1 for unlimited) |
Implementation Reference
- tools/access.ts:22-29 (handler)The core handler function that executes the JFrog project creation by making a POST request to the API endpoint and parsing the response with the schema.export async function createProject(project: z.infer<typeof accessSchemas.CreateProjectSchema>) { const response = await jfrogRequest("/access/api/v1/projects", { method: "POST", body: project }); return accessSchemas.CreateProjectSchema.parse(response); }
- schemas/access.ts:44-54 (schema)Zod schema defining the structure for creating a JFrog project, used for input validation and output parsing.export const CreateProjectSchema = z.object({ display_name: z.string().describe("Display name of the project"), description: z.string().describe("Description of the project"), admin_privileges: z.object({ manage_members: z.boolean().describe("Whether project admins can manage members"), manage_resources: z.boolean().describe("Whether project admins can manage resources"), index_resources: z.boolean().describe("Whether project admins can index resources") }).describe("Administrative privileges for the project"), storage_quota_bytes: z.number().describe("Storage quota in bytes (-1 for unlimited)"), project_key: z.string().describe("Unique identifier for the project, Project key must start with a lowercase letter and only contain lowercase letters") });
- tools/access.ts:61-69 (registration)Registers the MCP tool named 'jfrog_create_project' including its name, description, input schema, and handler function that delegates to the createProject implementation.const createProjectTool = { name: "jfrog_create_project", description: "Create a new project in the JFrog platform", inputSchema: zodToJsonSchema(accessSchemas.CreateProjectSchema), //outputSchema: zodToJsonSchema(accessSchemas.CreateProjectSchema), handler: async (args: any) => { return await createProject(args); } };