JFrog · Capability

JFrog Access REST API — Projects

JFrog Access REST API — Projects. 9 operations. Lead operation: JFrog List Projects. Self-contained Naftiko capability covering one Jfrog business surface.

Run with Naftiko JfrogProjects

What You Can Do

GET
Listprojects — JFrog List Projects
/v1/api/v1/projects
POST
Createproject — JFrog Create Project
/v1/api/v1/projects
GET
Getproject — JFrog Get Project
/v1/api/v1/projects/{projectkey}
PUT
Updateproject — JFrog Update Project
/v1/api/v1/projects/{projectkey}
DELETE
Deleteproject — JFrog Delete Project
/v1/api/v1/projects/{projectkey}
PUT
Addgrouptoproject — JFrog Add Group to Project
/v1/api/v1/projects/{projectkey}/groups/{groupname}
DELETE
Removegroupfromproject — JFrog Remove Group from Project
/v1/api/v1/projects/{projectkey}/groups/{groupname}
PUT
Addusertoproject — JFrog Add User to Project
/v1/api/v1/projects/{projectkey}/users/{username}
DELETE
Removeuserfromproject — JFrog Remove User from Project
/v1/api/v1/projects/{projectkey}/users/{username}

MCP Tools

jfrog-list-projects

JFrog List Projects

read-only idempotent
jfrog-create-project

JFrog Create Project

jfrog-get-project

JFrog Get Project

read-only idempotent
jfrog-update-project

JFrog Update Project

idempotent
jfrog-delete-project

JFrog Delete Project

idempotent
jfrog-add-group-project

JFrog Add Group to Project

idempotent
jfrog-remove-group-project

JFrog Remove Group from Project

idempotent
jfrog-add-user-project

JFrog Add User to Project

idempotent
jfrog-remove-user-project

JFrog Remove User from Project

idempotent

Capability Spec

access-projects.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: JFrog Access REST API — Projects
  description: 'JFrog Access REST API — Projects. 9 operations. Lead operation: JFrog List Projects. Self-contained Naftiko
    capability covering one Jfrog business surface.'
  tags:
  - Jfrog
  - Projects
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    JFROG_API_KEY: JFROG_API_KEY
capability:
  consumes:
  - type: http
    namespace: access-projects
    baseUri: https://{server}.jfrog.io/access
    description: JFrog Access REST API — Projects business capability. Self-contained, no shared references.
    resources:
    - name: api-v1-projects
      path: /api/v1/projects
      operations:
      - name: listprojects
        method: GET
        description: JFrog List Projects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createproject
        method: POST
        description: JFrog Create Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v1-projects-projectKey
      path: /api/v1/projects/{projectKey}
      operations:
      - name: getproject
        method: GET
        description: JFrog Get Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
      - name: updateproject
        method: PUT
        description: JFrog Update Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteproject
        method: DELETE
        description: JFrog Delete Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
    - name: api-v1-projects-projectKey-groups-groupName
      path: /api/v1/projects/{projectKey}/groups/{groupName}
      operations:
      - name: addgrouptoproject
        method: PUT
        description: JFrog Add Group to Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
        - name: groupName
          in: path
          type: string
          description: Group name
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: removegroupfromproject
        method: DELETE
        description: JFrog Remove Group from Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
        - name: groupName
          in: path
          type: string
          description: Group name
          required: true
    - name: api-v1-projects-projectKey-users-username
      path: /api/v1/projects/{projectKey}/users/{username}
      operations:
      - name: addusertoproject
        method: PUT
        description: JFrog Add User to Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
        - name: username
          in: path
          type: string
          description: Username to add
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: removeuserfromproject
        method: DELETE
        description: JFrog Remove User from Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projectKey
          in: path
          type: string
          description: Project key
          required: true
        - name: username
          in: path
          type: string
          description: Username to remove
          required: true
    authentication:
      type: bearer
      token: '{{env.JFROG_API_KEY}}'
  exposes:
  - type: rest
    namespace: access-projects-rest
    port: 8080
    description: REST adapter for JFrog Access REST API — Projects. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/v1/projects
      name: api-v1-projects
      description: REST surface for api-v1-projects.
      operations:
      - method: GET
        name: listprojects
        description: JFrog List Projects
        call: access-projects.listprojects
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createproject
        description: JFrog Create Project
        call: access-projects.createproject
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/projects/{projectkey}
      name: api-v1-projects-projectkey
      description: REST surface for api-v1-projects-projectKey.
      operations:
      - method: GET
        name: getproject
        description: JFrog Get Project
        call: access-projects.getproject
        with:
          projectKey: rest.projectKey
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateproject
        description: JFrog Update Project
        call: access-projects.updateproject
        with:
          projectKey: rest.projectKey
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteproject
        description: JFrog Delete Project
        call: access-projects.deleteproject
        with:
          projectKey: rest.projectKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/projects/{projectkey}/groups/{groupname}
      name: api-v1-projects-projectkey-groups-groupname
      description: REST surface for api-v1-projects-projectKey-groups-groupName.
      operations:
      - method: PUT
        name: addgrouptoproject
        description: JFrog Add Group to Project
        call: access-projects.addgrouptoproject
        with:
          projectKey: rest.projectKey
          groupName: rest.groupName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removegroupfromproject
        description: JFrog Remove Group from Project
        call: access-projects.removegroupfromproject
        with:
          projectKey: rest.projectKey
          groupName: rest.groupName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/projects/{projectkey}/users/{username}
      name: api-v1-projects-projectkey-users-username
      description: REST surface for api-v1-projects-projectKey-users-username.
      operations:
      - method: PUT
        name: addusertoproject
        description: JFrog Add User to Project
        call: access-projects.addusertoproject
        with:
          projectKey: rest.projectKey
          username: rest.username
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removeuserfromproject
        description: JFrog Remove User from Project
        call: access-projects.removeuserfromproject
        with:
          projectKey: rest.projectKey
          username: rest.username
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: access-projects-mcp
    port: 9090
    transport: http
    description: MCP adapter for JFrog Access REST API — Projects. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: jfrog-list-projects
      description: JFrog List Projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: access-projects.listprojects
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-create-project
      description: JFrog Create Project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: access-projects.createproject
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-get-project
      description: JFrog Get Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: access-projects.getproject
      with:
        projectKey: tools.projectKey
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-update-project
      description: JFrog Update Project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: access-projects.updateproject
      with:
        projectKey: tools.projectKey
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-delete-project
      description: JFrog Delete Project
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: access-projects.deleteproject
      with:
        projectKey: tools.projectKey
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-add-group-project
      description: JFrog Add Group to Project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: access-projects.addgrouptoproject
      with:
        projectKey: tools.projectKey
        groupName: tools.groupName
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-remove-group-project
      description: JFrog Remove Group from Project
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: access-projects.removegroupfromproject
      with:
        projectKey: tools.projectKey
        groupName: tools.groupName
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-add-user-project
      description: JFrog Add User to Project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: access-projects.addusertoproject
      with:
        projectKey: tools.projectKey
        username: tools.username
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: jfrog-remove-user-project
      description: JFrog Remove User from Project
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: access-projects.removeuserfromproject
      with:
        projectKey: tools.projectKey
        username: tools.username
      outputParameters:
      - type: object
        mapping: $.