Petstore MCP Server

Swagger Petstore API (v1.0.27) as MCP for testing and prototyping powered by the HAPI MCP server

Should I use this

Quality & Safety

A
Description quality
92%
Schema completeness
77%
Naming quality
99%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'getInventory' description lacks action verbin getInventory
  • LOWTool 'placeOrder' description lacks action verbin placeOrder

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,779Tokens (tool definitions)
~763 BTypical response size
Moderate attention impact (1.39% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "petstore": {
      "url": "https://petstore.run.mcp.com.ai/mcp"
    }
  }
}

Remote endpoints

https://petstore.run.mcp.com.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (19)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡updatePet(updatePetBody, x-hapi-auth-state)

Update an existing pet. - Update an existing pet by Id.

Input Schema

{
  "type": "object",
  "properties": {
    "updatePetBody": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "name": {
          "type": "string"
        },
        "category": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "format": "int64"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "photoUrls": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "name": {
                "type": "string"
              }
            }
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "available",
            "pending",
            "sold"
          ],
          "description": "pet status in the store"
        }
      },
      "required": [
        "name",
        "photoUrls"
      ]
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "updatePetBody"
  ]
}
🟡addPet(addPetBody, x-hapi-auth-state)

Add a new pet to the store. - Add a new pet to the store.

Input Schema

{
  "type": "object",
  "properties": {
    "addPetBody": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "name": {
          "type": "string"
        },
        "category": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "format": "int64"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "photoUrls": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "format": "int64"
              },
              "name": {
                "type": "string"
              }
            }
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "available",
            "pending",
            "sold"
          ],
          "description": "pet status in the store"
        }
      },
      "required": [
        "name",
        "photoUrls"
      ]
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "addPetBody"
  ]
}
⚪findPetsByStatus(status, x-hapi-auth-state)

Finds Pets by status. - Multiple status values can be provided with comma separated strings.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "available",
        "pending",
        "sold"
      ]
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "status"
  ]
}
⚪findPetsByTags(tags, x-hapi-auth-state)

Finds Pets by tags. - Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.

Input Schema

{
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "tags"
  ]
}
🟢getPetById(petId, x-hapi-auth-state)

Find pet by ID. - Returns a single pet.

Input Schema

{
  "type": "object",
  "properties": {
    "petId": {
      "type": "integer",
      "format": "int64"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "petId"
  ]
}
⚪updatePetWithForm(petId, name, status, x-hapi-auth-state)

Updates a pet in the store with form data. - Updates a pet resource based on the form data.

Input Schema

{
  "type": "object",
  "properties": {
    "petId": {
      "type": "integer",
      "format": "int64"
    },
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "petId"
  ]
}
🔴deletePet(api_key, petId, x-hapi-auth-state)

Deletes a pet. - Delete a pet.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string"
    },
    "petId": {
      "type": "integer",
      "format": "int64"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "petId"
  ]
}
🟡uploadFile(petId, additionalMetadata, uploadFileBody, x-hapi-auth-state)

Uploads an image. - Upload image of the pet.

Input Schema

{
  "type": "object",
  "properties": {
    "petId": {
      "type": "integer",
      "format": "int64"
    },
    "additionalMetadata": {
      "type": "string"
    },
    "uploadFileBody": {
      "type": "string",
      "format": "binary"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "petId"
  ]
}
⚪getInventory(x-hapi-auth-state)

Returns pet inventories by status. - Returns a map of status codes to quantities.

Input Schema

{
  "type": "object",
  "properties": {
    "x-hapi-auth-state": {
      "type": "string"
    }
  }
}
⚪placeOrder(placeOrderBody, x-hapi-auth-state)

Place an order for a pet. - Place a new order in the store.

Input Schema

{
  "type": "object",
  "properties": {
    "placeOrderBody": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "petId": {
          "type": "integer",
          "format": "int64"
        },
        "quantity": {
          "type": "integer",
          "format": "int32"
        },
        "shipDate": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "type": "string",
          "enum": [
            "placed",
            "approved",
            "delivered"
          ],
          "description": "Order Status"
        },
        "complete": {
          "type": "boolean"
        }
      }
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  }
}
🟢getOrderById(orderId, x-hapi-auth-state)

Find purchase order by ID. - For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.

Input Schema

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "integer",
      "format": "int64"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "orderId"
  ]
}
🔴deleteOrder(orderId, x-hapi-auth-state)

Delete purchase order by identifier. - For valid response try integer IDs with value < 1000. Anything above 1000 or non-integers will generate API errors.

Input Schema

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "integer",
      "format": "int64"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "orderId"
  ]
}
🟡createUser(createUserBody, x-hapi-auth-state)

Create user. - This can only be done by the logged in user.

Input Schema

{
  "type": "object",
  "properties": {
    "createUserBody": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "username": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "userStatus": {
          "type": "integer",
          "format": "int32",
          "description": "User Status"
        }
      }
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  }
}
🟢createUsersWithListInput(createUsersWithListInputBody, x-hapi-auth-state)

Creates list of users with given input array. - Creates list of users with given input array.

Input Schema

{
  "type": "object",
  "properties": {
    "createUsersWithListInputBody": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "username": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "userStatus": {
            "type": "integer",
            "format": "int32",
            "description": "User Status"
          }
        }
      }
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  }
}
⚪loginUser(username, password, x-hapi-auth-state)

Logs user into the system. - Log into the system.

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  }
}
⚪logoutUser(x-hapi-auth-state)

Logs out current logged in user session. - Log user out of the system.

Input Schema

{
  "type": "object",
  "properties": {
    "x-hapi-auth-state": {
      "type": "string"
    }
  }
}
🟢getUserByName(username, x-hapi-auth-state)

Get user by user name. - Get user detail based on username.

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "username"
  ]
}
🟡updateUser(username, updateUserBody, x-hapi-auth-state)

Update user resource. - This can only be done by the logged in user.

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string"
    },
    "updateUserBody": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "username": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "userStatus": {
          "type": "integer",
          "format": "int32",
          "description": "User Status"
        }
      }
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "username"
  ]
}
🔴deleteUser(username, x-hapi-auth-state)

Delete user resource. - This can only be done by the logged in user.

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string"
    },
    "x-hapi-auth-state": {
      "type": "string"
    }
  },
  "required": [
    "username"
  ]
}

Recommended Prompts

search_research
Search for information about [topic] using Petstore MCP Server
Expected tools: findPetsByStatus
find_specific
Find [specific item] using Petstore MCP Server
Expected tools: findPetsByStatus
retrieve_data
Get details about [item] from Petstore MCP Server
Expected tools: getPetById
fetch_info
Fetch [information type] using Petstore MCP Server
Expected tools: getPetById
list_items
List all [items] available in Petstore MCP Server
Expected tools: createUsersWithListInput

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded19 tools
verifiedversion not recorded19 tools