Provides comprehensive access to the Swagger Petstore API with 19 tools across three categories including pet management, store operations, and user management capabilities.
Petstore MCP Server & Client
A comprehensive Model Context Protocol (MCP) implementation for the Swagger Petstore API. This project includes both a complete MCP server and a sophisticated client system for seamless agent integration.
Overview
This project provides:
MCP Server: Complete implementation of all Petstore API endpoints
MCP Client: High-level client with agent-friendly interfaces
Agent Integration: Ready-to-use components for AI agents
Configuration Management: Flexible configuration system
Prompt Templates: Pre-built prompts for different scenarios
Project Structure
MCP Server
Features
The MCP server provides comprehensive access to the Petstore API with 19 tools across three categories:
Pet Management (8 tools)
add_pet: Add a new pet to the store
update_pet: Update an existing pet
get_pet_by_id: Find pet by ID
find_pets_by_status: Find pets by status (available, pending, sold)
find_pets_by_tags: Find pets by tags
update_pet_with_form: Update a pet using form data
delete_pet: Delete a pet
upload_pet_image: Upload an image for a pet
Store Operations (4 tools)
get_inventory: Get pet inventories by status
place_order: Place an order for a pet
get_order_by_id: Find purchase order by ID
delete_order: Delete purchase order by ID
User Management (7 tools)
create_user: Create a new user
create_users_with_list: Create multiple users from a list
login_user: Log user into the system
logout_user: Log out current user session
get_user_by_name: Get user by username
update_user: Update user information
delete_user: Delete a user
Server Installation
Install server dependencies:
Make the server executable:
Or run the setup script:
Server Configuration
For Amazon Q CLI
Add the server to your MCP configuration:
Running the Server
Server API Examples
Pet Management
Add a new pet:
Find pets by status:
Store Operations
Place an order:
User Management
Create a user:
MCP Client
Client Architecture
The MCP client system consists of multiple layers for maximum flexibility and ease of use:
Core Components
Transport Layer (
transport.py
)Handles MCP server communication
Connection management with async context managers
Error handling and logging
Configuration Management (
client_config.py
)Centralized configuration system
Server connection settings
Retry policies and caching options
Prompt Management (
prompt_manager.py
)Template-based prompt generation
Different templates for various operations
Extensible prompt system
Sampling Configuration (
sampling.py
)Multiple AI model sampling presets
Configurable parameters for different use cases
Easy configuration management
Agent Interface (
agent_interface.py
)High-level task execution
Seamless integration of all components
Agent-friendly API
Client Installation
Install client dependencies:
Ensure server is available:
Client Usage
Basic Client Usage
Agent Interface Usage
Advanced Client Features
Configuration Options
Client Configuration
Sampling Configurations
Available sampling presets:
conservative: Low temperature, focused responses
balanced: Moderate creativity and focus (default)
creative: Higher temperature, more creative responses
precise: Zero temperature, deterministic responses
Prompt Templates
Available prompt templates:
pet_search: For finding and filtering pets
pet_management: For pet inventory operations
order_processing: For handling customer orders
user_management: For user account operations
Agent Integration
Task-Based Operations
The agent interface provides high-level tasks that AI agents can easily use:
Workflow Execution
Error Handling
The client system includes comprehensive error handling:
Network Errors: Automatic retry with exponential backoff
API Errors: Meaningful error messages and suggestions
Validation Errors: Input validation with helpful feedback
Connection Errors: Graceful degradation and recovery
Testing
Server Testing
Client Testing
API Reference
Base URL
Production:
https://petstore3.swagger.io/api/v3
Authentication
API Key authentication for certain endpoints
OAuth2 support for pet operations
Rate Limiting
Configurable retry policies
Exponential backoff for failed requests
Development
Extending the Server
Add new tool functions using
@server.call_tool()
decoratorUpdate tool definitions in
handle_list_tools()
Add appropriate error handling and validation
Update documentation
Extending the Client
Add new methods to
PetstoreClient
classCreate corresponding agent workflows
Add prompt templates for new operations
Update configuration options
Adding New Prompts
Security Considerations
API keys are handled securely
Passwords are not logged or cached
HTTPS connections for all API calls
Input validation and sanitization
Error messages don't expose sensitive information
Performance
Async/await throughout for non-blocking operations
Connection pooling for HTTP requests
Configurable caching with TTL
Efficient JSON parsing and serialization
Contributing
Fork the repository
Create a feature branch
Add tests for new functionality
Update documentation
Submit a pull request
License
This project follows the same license as the Swagger Petstore API (Apache 2.0).
Support
For issues and questions:
Check the example usage scripts
Review the test files
Examine the configuration options
Create an issue with detailed information
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A comprehensive Model Context Protocol implementation for the Swagger Petstore API that provides 19 tools across pet management, store operations, and user management categories.
Related MCP Servers
- -securityAlicense-qualityA server that enables interaction with any API that has a Swagger/OpenAPI specification through Model Context Protocol (MCP), automatically generating tools from API endpoints and supporting multiple authentication methods.Last updated -20102Apache 2.0
- AsecurityFlicenseAqualityA server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).Last updated -121116
- -securityAlicense-qualityA lightweight server that enables interaction with the Swagger Petstore API using the Model Context Protocol, allowing operations on pets, stores, and users through dynamically loaded OpenAPI specifications.Last updated -1Apache 2.0
MockLoop MCP Serverofficial
-securityAlicense-qualityA Model Context Protocol server that generates and runs mock API servers from API documentation like OpenAPI/Swagger specs, enabling developers and AI assistants to quickly spin up mock backends for development and testing.Last updated -12MIT License