Replit · Capability

Replit Development Workflow

Workflow capability for managing the full development lifecycle on Replit. Covers creating and managing Repls (coding environments), deploying applications to production, and managing user profiles. Designed for developers, educators, and platform teams automating coding workflows.

Run with Naftiko CodeDevelopment EnvironmentDeploymentsReplsProgramming Languages

What You Can Do

GET
List repls — List all Repls for the authenticated user.
/v1/repls
POST
Create repl — Create a new Repl.
/v1/repls
GET
Get repl — Get Repl details.
/v1/repls/{id}
PATCH
Update repl — Update Repl metadata.
/v1/repls/{id}
DELETE
Delete repl — Delete a Repl permanently.
/v1/repls/{id}
GET
List repl deployments — List deployments for a Repl.
/v1/repls/{id}/deployments
POST
Create repl deployment — Deploy a Repl to production.
/v1/repls/{id}/deployments
GET
Get deployment — Get deployment details and status.
/v1/deployments/{id}
DELETE
Delete deployment — Remove a deployment from production.
/v1/deployments/{id}
GET
Get current user — Get the authenticated user's profile.
/v1/user
GET
Get user — Get a user's public profile.
/v1/users/{username}
GET
List user repls — List public Repls for a user.
/v1/users/{username}/repls

MCP Tools

list-repls

List all Repls accessible to the authenticated user.

read-only
create-repl

Create a new Repl coding environment with the specified language.

get-repl

Get detailed information about a specific Repl.

read-only
update-repl

Update a Repl's title, description, or privacy setting.

idempotent
delete-repl

Permanently delete a Repl.

idempotent
deploy-repl

Deploy a Repl to production hosting.

get-deployment

Check the status and details of a deployment.

read-only
list-user-repls

Browse public Repls for any Replit user.

read-only
get-current-user

Get the authenticated user's Replit profile.

read-only

APIs Used

replit

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Replit Development Workflow"
  description: >-
    Workflow capability for managing the full development lifecycle on Replit.
    Covers creating and managing Repls (coding environments), deploying
    applications to production, and managing user profiles. Designed for
    developers, educators, and platform teams automating coding workflows.
  tags:
    - Code
    - Development Environment
    - Deployments
    - Repls
    - Programming Languages
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      REPLIT_API_TOKEN: REPLIT_API_TOKEN

capability:
  consumes:
    - import: replit
      location: ./shared/replit.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: replit-workflow-api
      description: "Unified REST API for Replit development workflow management."
      resources:
        - path: /v1/repls
          name: repls
          description: "Create and manage Replit coding environments."
          operations:
            - method: GET
              name: list-repls
              description: "List all Repls for the authenticated user."
              call: "replit.list-repls"
              with:
                limit: "rest.limit"
                cursor: "rest.cursor"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-repl
              description: "Create a new Repl."
              call: "replit.create-repl"
              with:
                title: "rest.title"
                language: "rest.language"
                description: "rest.description"
                isPrivate: "rest.isPrivate"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/repls/{id}
          name: repl
          description: "Get, update, or delete a specific Repl."
          operations:
            - method: GET
              name: get-repl
              description: "Get Repl details."
              call: "replit.get-repl"
              with:
                replId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: update-repl
              description: "Update Repl metadata."
              call: "replit.update-repl"
              with:
                replId: "rest.id"
                title: "rest.title"
                description: "rest.description"
                isPrivate: "rest.isPrivate"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-repl
              description: "Delete a Repl permanently."
              call: "replit.delete-repl"
              with:
                replId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/repls/{id}/deployments
          name: repl-deployments
          description: "Deploy Repls to production hosting."
          operations:
            - method: GET
              name: list-repl-deployments
              description: "List deployments for a Repl."
              call: "replit.list-repl-deployments"
              with:
                replId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-repl-deployment
              description: "Deploy a Repl to production."
              call: "replit.create-repl-deployment"
              with:
                replId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/deployments/{id}
          name: deployment
          description: "Manage a specific deployment."
          operations:
            - method: GET
              name: get-deployment
              description: "Get deployment details and status."
              call: "replit.get-deployment"
              with:
                deploymentId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-deployment
              description: "Remove a deployment from production."
              call: "replit.delete-deployment"
              with:
                deploymentId: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/user
          name: current-user
          description: "Current authenticated user profile."
          operations:
            - method: GET
              name: get-current-user
              description: "Get the authenticated user's profile."
              call: "replit.get-current-user"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/users/{username}
          name: user
          description: "Public user profile."
          operations:
            - method: GET
              name: get-user
              description: "Get a user's public profile."
              call: "replit.get-user"
              with:
                username: "rest.username"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/users/{username}/repls
          name: user-repls
          description: "Browse public Repls for a user."
          operations:
            - method: GET
              name: list-user-repls
              description: "List public Repls for a user."
              call: "replit.list-user-repls"
              with:
                username: "rest.username"
                limit: "rest.limit"
                cursor: "rest.cursor"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: replit-workflow-mcp
      transport: http
      description: "MCP server for AI-assisted Replit development workflow management."
      tools:
        - name: list-repls
          description: "List all Repls accessible to the authenticated user."
          hints:
            readOnly: true
            openWorld: false
          call: "replit.list-repls"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-repl
          description: "Create a new Repl coding environment with the specified language."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "replit.create-repl"
          with:
            title: "tools.title"
            language: "tools.language"
            description: "tools.description"
            isPrivate: "tools.isPrivate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-repl
          description: "Get detailed information about a specific Repl."
          hints:
            readOnly: true
            openWorld: false
          call: "replit.get-repl"
          with:
            replId: "tools.replId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: update-repl
          description: "Update a Repl's title, description, or privacy setting."
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "replit.update-repl"
          with:
            replId: "tools.replId"
            title: "tools.title"
            description: "tools.description"
            isPrivate: "tools.isPrivate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: delete-repl
          description: "Permanently delete a Repl."
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "replit.delete-repl"
          with:
            replId: "tools.replId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: deploy-repl
          description: "Deploy a Repl to production hosting."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "replit.create-repl-deployment"
          with:
            replId: "tools.replId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-deployment
          description: "Check the status and details of a deployment."
          hints:
            readOnly: true
            openWorld: false
          call: "replit.get-deployment"
          with:
            deploymentId: "tools.deploymentId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-user-repls
          description: "Browse public Repls for any Replit user."
          hints:
            readOnly: true
            openWorld: true
          call: "replit.list-user-repls"
          with:
            username: "tools.username"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-current-user
          description: "Get the authenticated user's Replit profile."
          hints:
            readOnly: true
            openWorld: false
          call: "replit.get-current-user"
          outputParameters:
            - type: object
              mapping: "$."