Apache Tomcat · Capability

Apache Tomcat Manager API — Applications

Apache Tomcat Manager API — Applications. 7 operations. Lead operation: Deploy Application From Path. Self-contained Naftiko capability covering one Tomcat business surface.

Run with Naftiko TomcatApplications

What You Can Do

GET
Deployfrompath — Deploy Application From Path
/v1/text/deploy
PUT
Deploywarfile — Deploy WAR File
/v1/text/deploy
GET
Listapplications — List Applications
/v1/text/list
GET
Reloadapplication — Reload Application
/v1/text/reload
GET
Startapplication — Start Application
/v1/text/start
GET
Stopapplication — Stop Application
/v1/text/stop
GET
Undeployapplication — Undeploy Application
/v1/text/undeploy

MCP Tools

deploy-application-path

Deploy Application From Path

read-only idempotent
deploy-war-file

Deploy WAR File

idempotent
list-applications

List Applications

read-only idempotent
reload-application

Reload Application

read-only idempotent
start-application

Start Application

read-only idempotent
stop-application

Stop Application

read-only idempotent
undeploy-application

Undeploy Application

read-only idempotent

Capability Spec

manager-applications.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Apache Tomcat Manager API — Applications
  description: 'Apache Tomcat Manager API — Applications. 7 operations. Lead operation: Deploy Application From Path. Self-contained
    Naftiko capability covering one Tomcat business surface.'
  tags:
  - Tomcat
  - Applications
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TOMCAT_API_KEY: TOMCAT_API_KEY
capability:
  consumes:
  - type: http
    namespace: manager-applications
    baseUri: http://localhost:8080/manager
    description: Apache Tomcat Manager API — Applications business capability. Self-contained, no shared references.
    resources:
    - name: text-deploy
      path: /text/deploy
      operations:
      - name: deployfrompath
        method: GET
        description: Deploy Application From Path
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: Context path for the application (must start with /)
          required: true
        - name: war
          in: query
          type: string
          description: URL or path to WAR file or directory
        - name: config
          in: query
          type: string
          description: URL to a Context configuration XML file
        - name: update
          in: query
          type: boolean
          description: Undeploy existing app before deploying
        - name: tag
          in: query
          type: string
          description: Tag name to associate with deployment
        - name: version
          in: query
          type: string
          description: Version string for parallel deployments
      - name: deploywarfile
        method: PUT
        description: Deploy WAR File
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: Context path for the application
          required: true
        - name: update
          in: query
          type: boolean
        - name: tag
          in: query
          type: string
        - name: config
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: text-list
      path: /text/list
      operations:
      - name: listapplications
        method: GET
        description: List Applications
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: text-reload
      path: /text/reload
      operations:
      - name: reloadapplication
        method: GET
        description: Reload Application
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: Context path of the application to reload
          required: true
        - name: version
          in: query
          type: string
    - name: text-start
      path: /text/start
      operations:
      - name: startapplication
        method: GET
        description: Start Application
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: Context path of the application to start
          required: true
        - name: version
          in: query
          type: string
    - name: text-stop
      path: /text/stop
      operations:
      - name: stopapplication
        method: GET
        description: Stop Application
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: Context path of the application to stop
          required: true
        - name: version
          in: query
          type: string
    - name: text-undeploy
      path: /text/undeploy
      operations:
      - name: undeployapplication
        method: GET
        description: Undeploy Application
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: query
          type: string
          description: Context path of the application to undeploy
          required: true
        - name: version
          in: query
          type: string
    authentication:
      type: basic
      username: '{{env.TOMCAT_USER}}'
      password: '{{env.TOMCAT_PASS}}'
  exposes:
  - type: rest
    namespace: manager-applications-rest
    port: 8080
    description: REST adapter for Apache Tomcat Manager API — Applications. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/text/deploy
      name: text-deploy
      description: REST surface for text-deploy.
      operations:
      - method: GET
        name: deployfrompath
        description: Deploy Application From Path
        call: manager-applications.deployfrompath
        with:
          path: rest.path
          war: rest.war
          config: rest.config
          update: rest.update
          tag: rest.tag
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: deploywarfile
        description: Deploy WAR File
        call: manager-applications.deploywarfile
        with:
          path: rest.path
          update: rest.update
          tag: rest.tag
          config: rest.config
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/text/list
      name: text-list
      description: REST surface for text-list.
      operations:
      - method: GET
        name: listapplications
        description: List Applications
        call: manager-applications.listapplications
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/text/reload
      name: text-reload
      description: REST surface for text-reload.
      operations:
      - method: GET
        name: reloadapplication
        description: Reload Application
        call: manager-applications.reloadapplication
        with:
          path: rest.path
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/text/start
      name: text-start
      description: REST surface for text-start.
      operations:
      - method: GET
        name: startapplication
        description: Start Application
        call: manager-applications.startapplication
        with:
          path: rest.path
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/text/stop
      name: text-stop
      description: REST surface for text-stop.
      operations:
      - method: GET
        name: stopapplication
        description: Stop Application
        call: manager-applications.stopapplication
        with:
          path: rest.path
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/text/undeploy
      name: text-undeploy
      description: REST surface for text-undeploy.
      operations:
      - method: GET
        name: undeployapplication
        description: Undeploy Application
        call: manager-applications.undeployapplication
        with:
          path: rest.path
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: manager-applications-mcp
    port: 9090
    transport: http
    description: MCP adapter for Apache Tomcat Manager API — Applications. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: deploy-application-path
      description: Deploy Application From Path
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: manager-applications.deployfrompath
      with:
        path: tools.path
        war: tools.war
        config: tools.config
        update: tools.update
        tag: tools.tag
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: deploy-war-file
      description: Deploy WAR File
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: manager-applications.deploywarfile
      with:
        path: tools.path
        update: tools.update
        tag: tools.tag
        config: tools.config
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-applications
      description: List Applications
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: manager-applications.listapplications
      outputParameters:
      - type: object
        mapping: $.
    - name: reload-application
      description: Reload Application
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: manager-applications.reloadapplication
      with:
        path: tools.path
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: start-application
      description: Start Application
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: manager-applications.startapplication
      with:
        path: tools.path
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: stop-application
      description: Stop Application
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: manager-applications.stopapplication
      with:
        path: tools.path
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: undeploy-application
      description: Undeploy Application
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: manager-applications.undeployapplication
      with:
        path: tools.path
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.