Google Apps Script · Capability

Google Apps Script API — Projects

Google Apps Script API — Projects. 13 operations. Lead operation: Google Apps Script Create Project. Self-contained Naftiko capability covering one Google Apps Script business surface.

Run with Naftiko Google Apps ScriptProjects

What You Can Do

POST
Createproject — Google Apps Script Create Project
/v1/v1/projects
GET
Getproject — Google Apps Script Get Project
/v1/v1/projects/{scriptid}
GET
Getprojectcontent — Google Apps Script Get Project Content
/v1/v1/projects/{scriptid}/content
PUT
Updateprojectcontent — Google Apps Script Update Project Content
/v1/v1/projects/{scriptid}/content
GET
Listdeployments — Google Apps Script List Deployments
/v1/v1/projects/{scriptid}/deployments
POST
Createdeployment — Google Apps Script Create Deployment
/v1/v1/projects/{scriptid}/deployments
GET
Getdeployment — Google Apps Script Get Deployment
/v1/v1/projects/{scriptid}/deployments/{deploymentid}
PUT
Updatedeployment — Google Apps Script Update Deployment
/v1/v1/projects/{scriptid}/deployments/{deploymentid}
DELETE
Deletedeployment — Google Apps Script Delete Deployment
/v1/v1/projects/{scriptid}/deployments/{deploymentid}
GET
Getprojectmetrics — Google Apps Script Get Project Metrics
/v1/v1/projects/{scriptid}/metrics
GET
Listversions — Google Apps Script List Versions
/v1/v1/projects/{scriptid}/versions
POST
Createversion — Google Apps Script Create Version
/v1/v1/projects/{scriptid}/versions
GET
Getversion — Google Apps Script Get Version
/v1/v1/projects/{scriptid}/versions/{versionnumber}

MCP Tools

google-apps-script-create-project

Google Apps Script Create Project

google-apps-script-get-project

Google Apps Script Get Project

read-only idempotent
google-apps-script-get-project-2

Google Apps Script Get Project Content

read-only idempotent
google-apps-script-update-project

Google Apps Script Update Project Content

idempotent
google-apps-script-list-deployments

Google Apps Script List Deployments

read-only idempotent
google-apps-script-create-deployment

Google Apps Script Create Deployment

google-apps-script-get-deployment

Google Apps Script Get Deployment

read-only idempotent
google-apps-script-update-deployment

Google Apps Script Update Deployment

idempotent
google-apps-script-delete-deployment

Google Apps Script Delete Deployment

idempotent
google-apps-script-get-project-3

Google Apps Script Get Project Metrics

read-only idempotent
google-apps-script-list-versions

Google Apps Script List Versions

read-only idempotent
google-apps-script-create-version

Google Apps Script Create Version

google-apps-script-get-version

Google Apps Script Get Version

read-only idempotent

Capability Spec

openapi-projects.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Apps Script API — Projects
  description: 'Google Apps Script API — Projects. 13 operations. Lead operation: Google Apps Script Create Project. Self-contained
    Naftiko capability covering one Google Apps Script business surface.'
  tags:
  - Google Apps Script
  - Projects
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_APPS_SCRIPT_API_KEY: GOOGLE_APPS_SCRIPT_API_KEY
capability:
  consumes:
  - type: http
    namespace: openapi-projects
    baseUri: https://script.googleapis.com
    description: Google Apps Script API — Projects business capability. Self-contained, no shared references.
    resources:
    - name: v1-projects
      path: /v1/projects
      operations:
      - name: createproject
        method: POST
        description: Google Apps Script Create Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-projects-scriptId
      path: /v1/projects/{scriptId}
      operations:
      - name: getproject
        method: GET
        description: Google Apps Script Get Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
    - name: v1-projects-scriptId-content
      path: /v1/projects/{scriptId}/content
      operations:
      - name: getprojectcontent
        method: GET
        description: Google Apps Script Get Project Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: versionNumber
          in: query
          type: integer
      - name: updateprojectcontent
        method: PUT
        description: Google Apps Script Update Project Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-projects-scriptId-deployments
      path: /v1/projects/{scriptId}/deployments
      operations:
      - name: listdeployments
        method: GET
        description: Google Apps Script List Deployments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: pageSize
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
      - name: createdeployment
        method: POST
        description: Google Apps Script Create Deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-projects-scriptId-deployments-deploymentId
      path: /v1/projects/{scriptId}/deployments/{deploymentId}
      operations:
      - name: getdeployment
        method: GET
        description: Google Apps Script Get Deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: deploymentId
          in: path
          type: string
          required: true
      - name: updatedeployment
        method: PUT
        description: Google Apps Script Update Deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: deploymentId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletedeployment
        method: DELETE
        description: Google Apps Script Delete Deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: deploymentId
          in: path
          type: string
          required: true
    - name: v1-projects-scriptId-metrics
      path: /v1/projects/{scriptId}/metrics
      operations:
      - name: getprojectmetrics
        method: GET
        description: Google Apps Script Get Project Metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: metricsGranularity
          in: query
          type: string
    - name: v1-projects-scriptId-versions
      path: /v1/projects/{scriptId}/versions
      operations:
      - name: listversions
        method: GET
        description: Google Apps Script List Versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: pageSize
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
      - name: createversion
        method: POST
        description: Google Apps Script Create Version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-projects-scriptId-versions-versionNumber
      path: /v1/projects/{scriptId}/versions/{versionNumber}
      operations:
      - name: getversion
        method: GET
        description: Google Apps Script Get Version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: scriptId
          in: path
          type: string
          required: true
        - name: versionNumber
          in: path
          type: integer
          required: true
  exposes:
  - type: rest
    namespace: openapi-projects-rest
    port: 8080
    description: REST adapter for Google Apps Script API — Projects. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v1/projects
      name: v1-projects
      description: REST surface for v1-projects.
      operations:
      - method: POST
        name: createproject
        description: Google Apps Script Create Project
        call: openapi-projects.createproject
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}
      name: v1-projects-scriptid
      description: REST surface for v1-projects-scriptId.
      operations:
      - method: GET
        name: getproject
        description: Google Apps Script Get Project
        call: openapi-projects.getproject
        with:
          scriptId: rest.scriptId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}/content
      name: v1-projects-scriptid-content
      description: REST surface for v1-projects-scriptId-content.
      operations:
      - method: GET
        name: getprojectcontent
        description: Google Apps Script Get Project Content
        call: openapi-projects.getprojectcontent
        with:
          scriptId: rest.scriptId
          versionNumber: rest.versionNumber
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateprojectcontent
        description: Google Apps Script Update Project Content
        call: openapi-projects.updateprojectcontent
        with:
          scriptId: rest.scriptId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}/deployments
      name: v1-projects-scriptid-deployments
      description: REST surface for v1-projects-scriptId-deployments.
      operations:
      - method: GET
        name: listdeployments
        description: Google Apps Script List Deployments
        call: openapi-projects.listdeployments
        with:
          scriptId: rest.scriptId
          pageSize: rest.pageSize
          pageToken: rest.pageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdeployment
        description: Google Apps Script Create Deployment
        call: openapi-projects.createdeployment
        with:
          scriptId: rest.scriptId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}/deployments/{deploymentid}
      name: v1-projects-scriptid-deployments-deploymentid
      description: REST surface for v1-projects-scriptId-deployments-deploymentId.
      operations:
      - method: GET
        name: getdeployment
        description: Google Apps Script Get Deployment
        call: openapi-projects.getdeployment
        with:
          scriptId: rest.scriptId
          deploymentId: rest.deploymentId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatedeployment
        description: Google Apps Script Update Deployment
        call: openapi-projects.updatedeployment
        with:
          scriptId: rest.scriptId
          deploymentId: rest.deploymentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedeployment
        description: Google Apps Script Delete Deployment
        call: openapi-projects.deletedeployment
        with:
          scriptId: rest.scriptId
          deploymentId: rest.deploymentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}/metrics
      name: v1-projects-scriptid-metrics
      description: REST surface for v1-projects-scriptId-metrics.
      operations:
      - method: GET
        name: getprojectmetrics
        description: Google Apps Script Get Project Metrics
        call: openapi-projects.getprojectmetrics
        with:
          scriptId: rest.scriptId
          metricsGranularity: rest.metricsGranularity
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}/versions
      name: v1-projects-scriptid-versions
      description: REST surface for v1-projects-scriptId-versions.
      operations:
      - method: GET
        name: listversions
        description: Google Apps Script List Versions
        call: openapi-projects.listversions
        with:
          scriptId: rest.scriptId
          pageSize: rest.pageSize
          pageToken: rest.pageToken
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createversion
        description: Google Apps Script Create Version
        call: openapi-projects.createversion
        with:
          scriptId: rest.scriptId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/projects/{scriptid}/versions/{versionnumber}
      name: v1-projects-scriptid-versions-versionnumber
      description: REST surface for v1-projects-scriptId-versions-versionNumber.
      operations:
      - method: GET
        name: getversion
        description: Google Apps Script Get Version
        call: openapi-projects.getversion
        with:
          scriptId: rest.scriptId
          versionNumber: rest.versionNumber
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openapi-projects-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Apps Script API — Projects. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: google-apps-script-create-project
      description: Google Apps Script Create Project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi-projects.createproject
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-get-project
      description: Google Apps Script Get Project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.getproject
      with:
        scriptId: tools.scriptId
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-get-project-2
      description: Google Apps Script Get Project Content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.getprojectcontent
      with:
        scriptId: tools.scriptId
        versionNumber: tools.versionNumber
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-update-project
      description: Google Apps Script Update Project Content
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: openapi-projects.updateprojectcontent
      with:
        scriptId: tools.scriptId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-list-deployments
      description: Google Apps Script List Deployments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.listdeployments
      with:
        scriptId: tools.scriptId
        pageSize: tools.pageSize
        pageToken: tools.pageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-create-deployment
      description: Google Apps Script Create Deployment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi-projects.createdeployment
      with:
        scriptId: tools.scriptId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-get-deployment
      description: Google Apps Script Get Deployment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.getdeployment
      with:
        scriptId: tools.scriptId
        deploymentId: tools.deploymentId
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-update-deployment
      description: Google Apps Script Update Deployment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: openapi-projects.updatedeployment
      with:
        scriptId: tools.scriptId
        deploymentId: tools.deploymentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-delete-deployment
      description: Google Apps Script Delete Deployment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: openapi-projects.deletedeployment
      with:
        scriptId: tools.scriptId
        deploymentId: tools.deploymentId
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-get-project-3
      description: Google Apps Script Get Project Metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.getprojectmetrics
      with:
        scriptId: tools.scriptId
        metricsGranularity: tools.metricsGranularity
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-list-versions
      description: Google Apps Script List Versions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.listversions
      with:
        scriptId: tools.scriptId
        pageSize: tools.pageSize
        pageToken: tools.pageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-create-version
      description: Google Apps Script Create Version
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi-projects.createversion
      with:
        scriptId: tools.scriptId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: google-apps-script-get-version
      description: Google Apps Script Get Version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-projects.getversion
      with:
        scriptId: tools.scriptId
        versionNumber: tools.versionNumber
      outputParameters:
      - type: object
        mapping: $.