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()
decorator - Update tool definitions in
handle_list_tools()
- Add appropriate error handling and validation
- Update documentation
Extending the Client
- Add new methods to
PetstoreClient
class - Create 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 -61TypeScriptApache 2.0
- -securityFlicense-qualityA 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 -211TypeScript
- -securityAlicense-qualityA tool that creates MCP (Model Context Protocol) servers from OpenAPI/Swagger specifications, enabling AI assistants to interact with your APIs.Last updated -1518TypeScriptMIT License
- -securityFlicense-qualityA lightweight Model Context Protocol server that enables creating, managing, and querying model contexts with integrated Datadog metrics and monitoring.Last updated -Python