ChatGPT MCP Server

by Toowiredd
Verified
openapi: 3.1.0 info: title: Docker VPS Manager API description: | API for managing Docker containers on a remote VPS through natural language commands. This API enables ChatGPT to help users: - Create and manage Docker containers - Monitor container status and logs - Execute commands within containers version: 1.0.0 servers: - url: https://chat.toowired.solutions/api description: Docker Manager API server components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key for authentication schemas: Container: type: object properties: id: type: string description: Container ID name: type: string description: Container name image: type: string description: Image name status: type: string description: Container status ports: type: array items: type: string description: Port mappings created: type: string format: date-time description: Creation timestamp Error: type: object properties: code: type: string description: Error code message: type: string description: Error message details security: - ApiKeyAuth: [] paths: /containers: get: operationId: listContainers summary: List all containers description: Returns a list of all Docker containers parameters: - name: all in: query description: Show all containers (including stopped ones) required: false schema: type: boolean responses: '200': description: List of containers content: application/json: schema: type: array items: $ref: '#/components/schemas/Container' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: createContainer summary: Create and start a new container description: Creates a new Docker container from the specified image requestBody: required: true content: application/json: schema: type: object required: - image properties: image: type: string description: Docker image name name: type: string description: Container name ports: type: array items: type: string description: Port mappings env: type: array items: type: string description: Environment variables example: image: nginx:latest name: web-server ports: - "80:80" env: - "NGINX_HOST=example.com" responses: '201': description: Container created content: application/json: schema: type: object properties: containerId: type: string description: ID of created container /containers/{id}: delete: operationId: removeContainer summary: Remove a container parameters: - in: path name: id schema: type: string required: true description: Container ID or name - in: query name: force schema: type: boolean required: false description: Force remove running container responses: '200': description: Container removed '404': description: Container not found content: application/json: schema: $ref: '#/components/schemas/Error' /containers/{id}/start: post: operationId: startContainer summary: Start a container parameters: - in: path name: id schema: type: string required: true description: Container ID or name responses: '200': description: Container started '404': description: Container not found /containers/{id}/stop: post: operationId: stopContainer summary: Stop a container parameters: - in: path name: id schema: type: string required: true description: Container ID or name responses: '200': description: Container stopped '404': description: Container not found /containers/{id}/logs: get: operationId: getContainerLogs summary: Get container logs parameters: - in: path name: id schema: type: string required: true description: Container ID or name - in: query name: tail schema: type: integer minimum: 1 required: false description: Number of lines to show from the end responses: '200': description: Container logs content: text/plain: schema: type: string '404': description: Container not found /containers/{id}/exec: post: operationId: execInContainer summary: Execute a command in a container parameters: - in: path name: id schema: type: string required: true description: Container ID or name requestBody: required: true content: application/json: schema: type: object required: - command properties: command: type: string description: Command to execute example: command: "ls -la /app" responses: '200': description: Command output content: text/plain: schema: type: string '404': description: Container not found