MCP-OpenAPI

{ "openapi" : "3.1.0", "info" : { "title" : "Swagger Petstore - OpenAPI 3.1", "description" : "This is a sample Pet Store Server based on the OpenAPI 3.1 specification.\nYou can find out more about\nSwagger at [http://swagger.io](http://swagger.io).", "termsOfService" : "http://swagger.io/terms/", "contact" : { "email" : "apiteam@swagger.io" }, "license" : { "name" : "Apache 2.0 AND (MIT OR GPL-2.0-only)", "identifier" : "Apache-2.0 AND (MIT OR GPL-2.0-only)" }, "version" : "1.0.7", "summary" : "Pet Store 3.1", "x-namespace" : "swagger" }, "externalDocs" : { "description" : "Find out more about Swagger", "url" : "http://swagger.io" }, "servers" : [ { "url" : "/api/v31" } ], "tags" : [ { "name" : "pet", "description" : "Everything about your Pets", "externalDocs" : { "description" : "Find out more", "url" : "http://swagger.io" } }, { "name" : "store", "description" : "Access to Petstore orders", "externalDocs" : { "description" : "Find out more about our store", "url" : "http://swagger.io" } }, { "name" : "user", "description" : "Operations about user" } ], "paths" : { "/pet" : { "put" : { "tags" : [ "pet" ], "summary" : "Update an existing pet", "description" : "Update an existing pet by Id", "operationId" : "updatePet", "requestBody" : { "description" : "Pet object that needs to be updated in the store", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in JSON Format", "required" : [ "id" ], "writeOnly" : true } }, "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in XML Format", "required" : [ "id" ], "writeOnly" : true } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful operation", "content" : { "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in XML Format", "readOnly" : true } }, "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in JSON Format", "readOnly" : true } } } }, "400" : { "description" : "Invalid ID supplied" }, "404" : { "description" : "Pet not found" }, "405" : { "description" : "Validation exception" } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ] }, "post" : { "tags" : [ "pet" ], "summary" : "Add a new pet to the store", "description" : "Add a new pet to the store", "operationId" : "addPet", "requestBody" : { "description" : "Create a new pet in the store", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in JSON Format", "required" : [ "id" ], "writeOnly" : true } }, "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in XML Format", "required" : [ "id" ], "writeOnly" : true } } }, "required" : true }, "responses" : { "200" : { "description" : "Successful operation", "content" : { "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in XML Format", "readOnly" : true } }, "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in JSON Format", "readOnly" : true } } } }, "405" : { "description" : "Invalid input" } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] } ] } }, "/pet/{petId}" : { "get" : { "tags" : [ "pets" ], "summary" : "Find pet by ID", "description" : "Returns a pet when 0 < ID <= 10. ID > 10 or nonintegers will simulate API error conditions", "operationId" : "getPetById", "parameters" : [ { "name" : "petId", "in" : "path", "description" : "ID of pet that needs to be fetched", "required" : true, "schema" : { "type" : "integer", "format" : "int64", "description" : "param ID of pet that needs to be fetched", "exclusiveMaximum" : 10, "exclusiveMinimum" : 1 } } ], "responses" : { "default" : { "description" : "The pet", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in JSON format" } }, "application/xml" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "A Pet in XML format" } } } }, "400" : { "description" : "Invalid ID supplied" }, "404" : { "description" : "Pet not found" } }, "security" : [ { "petstore_auth" : [ "write:pets", "read:pets" ] }, { "api_key" : [ ] } ] } } }, "components" : { "schemas" : { "Category" : { "$id" : "/api/v31/components/schemas/category", "description" : "Category", "properties" : { "id" : { "type" : "integer", "format" : "int64", "example" : 1 }, "name" : { "type" : "string", "example" : "Dogs" } }, "xml" : { "name" : "Category" } }, "Pet" : { "$schema" : "https://json-schema.org/draft/2020-12/schema", "description" : "Pet", "properties" : { "id" : { "type" : "integer", "format" : "int64", "example" : 10 }, "category" : { "$ref" : "#/components/schemas/Category", "description" : "Pet Category" }, "name" : { "type" : "string", "example" : "doggie" }, "photoUrls" : { "type" : "array", "items" : { "type" : "string", "xml" : { "name" : "photoUrl" } }, "xml" : { "wrapped" : true } }, "tags" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/Tag" }, "xml" : { "wrapped" : true } }, "status" : { "type" : "string", "description" : "pet status in the store", "enum" : [ "available", "pending", "sold" ] }, "availableInstances" : { "type" : "integer", "format" : "int32", "example" : 7, "exclusiveMaximum" : 10, "exclusiveMinimum" : 1, "swagger-extension" : true }, "petDetailsId" : { "type" : "integer", "format" : "int64", "$ref" : "/api/v31/components/schemas/petdetails#pet_details_id" }, "petDetails" : { "$ref" : "/api/v31/components/schemas/petdetails" } }, "required" : [ "name", "photoUrls" ], "xml" : { "name" : "Pet" } }, "PetDetails" : { "$id" : "/api/v31/components/schemas/petdetails", "$schema" : "https://json-schema.org/draft/2020-12/schema", "$vocabulary" : "https://spec.openapis.org/oas/3.1/schema-base", "properties" : { "id" : { "type" : "integer", "format" : "int64", "$anchor" : "pet_details_id", "example" : 10 }, "category" : { "$ref" : "/api/v31/components/schemas/category", "description" : "PetDetails Category" }, "tag" : { "$ref" : "/api/v31/components/schemas/tag" } }, "xml" : { "name" : "PetDetails" } }, "Tag" : { "$id" : "/api/v31/components/schemas/tag", "properties" : { "id" : { "type" : "integer", "format" : "int64" }, "name" : { "type" : "string" } }, "xml" : { "name" : "Tag" } } }, "securitySchemes" : { "petstore_auth" : { "type" : "oauth2", "flows" : { "implicit" : { "authorizationUrl" : "https://petstore3.swagger.io/oauth/authorize", "scopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" } } } }, "mutual_tls" : { "type" : "mutualTLS" }, "api_key" : { "type" : "apiKey", "name" : "api_key", "in" : "header" } } }, "webhooks" : { "newPet" : { "post" : { "requestBody" : { "description" : "Information about a new pet in the system", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Pet", "description" : "Webhook Pet" } } } }, "responses" : { "200" : { "description" : "Return a 200 status to indicate that the data was received successfully" } } } } } }