openapi: 3.0.0 info: title: Sample API description: A sample API for demonstrating OpenAPI2MCP version: 1.0.0 servers: - url: https://api.example.com/v1 paths: /users: get: summary: Get all users description: Returns a list of all users in the system operationId: getUsers parameters: - name: limit in: query description: Maximum number of users to return required: false schema: type: integer default: 10 - name: offset in: query description: Number of users to skip required: false schema: type: integer default: 0 responses: '200': description: A list of users content: application/json: schema: type: array items: $ref: '#/components/schemas/User' post: summary: Create a new user description: Creates a new user in the system operationId: createUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserInput' responses: '201': description: User created successfully content: application/json: schema: $ref: '#/components/schemas/User' /users/{userId}: get: summary: Get user by ID description: Returns a single user by ID operationId: getUserById parameters: - name: userId in: path description: ID of the user to retrieve required: true schema: type: string responses: '200': description: A user object content: application/json: schema: $ref: '#/components/schemas/User' '404': description: User not found put: summary: Update user description: Updates an existing user operationId: updateUser parameters: - name: userId in: path description: ID of the user to update required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserInput' responses: '200': description: User updated successfully content: application/json: schema: $ref: '#/components/schemas/User' '404': description: User not found delete: summary: Delete user description: Deletes a user from the system operationId: deleteUser parameters: - name: userId in: path description: ID of the user to delete required: true schema: type: string responses: '204': description: User deleted successfully '404': description: User not found components: schemas: User: type: object required: - id - name - email properties: id: type: string description: Unique identifier for the user name: type: string description: Name of the user email: type: string format: email description: Email address of the user role: type: string enum: [user, admin] default: user description: Role of the user UserInput: type: object required: - name - email properties: name: type: string description: Name of the user email: type: string format: email description: Email address of the user role: type: string enum: [user, admin] default: user description: Role of the user