bischoff99/mcp-server
3.1
If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP Shipping Control Center is a comprehensive platform for managing shipping and orders, integrating EasyPost and Veeqo services.
MCP Shipping Control Center
A comprehensive shipping and order management platform built with the Model Context Protocol (MCP), integrating EasyPost shipping services and Veeqo order management.
๐ Features
Core Functionality
- Order Management: Create, update, and track orders through Veeqo integration
- Shipping Management: Generate labels, track shipments, and manage rates via EasyPost
- Unified Workflows: Cross-platform operations combining order and shipping data
- Real-time Dashboard: Web-based interface for monitoring operations
- Authentication: JWT-based security with role-based access control
Technical Features
- MCP Protocol: JSON-RPC 2.0 compliant API
- TypeScript: Full type safety throughout the application
- Error Handling: Comprehensive error management with retry logic
- Logging: Structured logging with correlation IDs
- Testing: Complete test coverage for all components
- Docker: Containerized deployment ready
- Kubernetes: Production-ready orchestration
๐ Project Structure
mcp-server/
โโโ src/
โ โโโ clients/ # API client implementations
โ โ โโโ easypostClient.ts
โ โ โโโ veeqoClient.ts
โ โโโ methods/ # MCP method implementations
โ โ โโโ easypost.ts
โ โ โโโ veeqo.ts
โ โ โโโ unified.ts
โ โ โโโ web.ts
โ โโโ utils/ # Utility functions
โ โ โโโ auth.ts
โ โ โโโ errors.ts
โ โ โโโ logger.ts
โ โ โโโ middleware.ts
โ โ โโโ retry.ts
โ โโโ web/ # Web interface components
โ โ โโโ components/
โ โ โโโ pages/
โ โ โโโ services/
โ โ โโโ types/
โ โโโ server.ts # Main server implementation
โ โโโ schema.ts # JSON-RPC schemas
โโโ tests/ # Test suites
โโโ k8s/ # Kubernetes manifests
โโโ Dockerfile
โโโ docker-compose.yml
โโโ package.json
โโโ README.md
๐ ๏ธ Installation
Prerequisites
- Node.js 18+
- npm or pnpm
- Docker (optional)
- Kubernetes cluster (optional)
Setup
- Clone and install dependencies:
cd mcp-server
npm install
# or
pnpm install
- Environment configuration:
cp .env.example .env
# Edit .env with your API keys and configuration
- Required environment variables:
# API Keys
EASYPOST_API_KEY=your_easypost_api_key
VEEQO_API_KEY=your_veeqo_api_key
# JWT Configuration
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=24h
# Default Admin User
DEFAULT_ADMIN_PASSWORD=admin123
# Logging
LOG_LEVEL=info
๐ Usage
Development
# Start the development server
npm run dev
# Run tests
npm test
# Build for production
npm run build
Production
# Using Docker
docker build -t mcp-server .
docker run -p 3000:3000 mcp-server
# Using Docker Compose
docker-compose up -d
# Using Kubernetes
kubectl apply -f k8s/
๐ก API Reference
MCP Methods
Veeqo Methods
veeqo.createOrder
- Create a new orderveeqo.getOrder
- Retrieve order detailsveeqo.listOrders
- List orders with paginationveeqo.updateOrder
- Update existing orderveeqo.deleteOrder
- Delete an orderveeqo.syncInventory
- Sync inventory data
EasyPost Methods
easypost.createShipment
- Create a new shipmenteasypost.getRates
- Get shipping rateseasypost.buyLabel
- Purchase shipping labeleasypost.trackShipment
- Track shipment status
Unified Methods
unified.createOrderWithShipping
- Create order and shipping in one operationunified.processReturn
- Handle return processingunified.bulkOperations
- Batch operations
Web Methods
web.login
- User authenticationweb.getDashboardStats
- Dashboard statisticsweb.searchOrders
- Search orders
Example Request
{
"jsonrpc": "2.0",
"method": "veeqo.createOrder",
"params": {
"order": {
"line_items_attributes": [
{
"product_id": "123",
"quantity": 2
}
],
"deliver_to": {
"first_name": "John",
"last_name": "Doe",
"address1": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country": "US"
}
}
},
"id": 1
}
๐ง Configuration
Docker Configuration
The application includes Docker and Docker Compose configurations for easy deployment:
- Dockerfile: Multi-stage build for production optimization
- docker-compose.yml: Complete stack with all services
- k8s/: Kubernetes manifests for production deployment
Monitoring
- Prometheus: Metrics collection and monitoring
- Structured Logging: JSON-formatted logs with correlation IDs
- Health Checks: Built-in health check endpoints
๐งช Testing
# Run all tests
npm test
# Run specific test suites
npm test -- --testNamePattern="EasyPost"
npm test -- --testNamePattern="Veeqo"
npm test -- --testNamePattern="Unified"
# Run with coverage
npm run test:coverage
๐ Monitoring
The application includes comprehensive monitoring:
- Metrics: Prometheus metrics for all operations
- Logging: Structured logging with correlation IDs
- Health Checks: Built-in health check endpoints
- Error Tracking: Comprehensive error handling and reporting
๐ Security
- JWT Authentication: Secure token-based authentication
- Role-based Access: Admin and user role permissions
- Input Validation: Comprehensive input validation
- Rate Limiting: Built-in rate limiting protection
- CORS: Configurable CORS policies
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review the test examples
๐ Version History
- v1.0.0 - Initial release with core functionality
- Complete MCP server implementation
- EasyPost and Veeqo integrations
- Web dashboard interface
- Docker and Kubernetes deployment ready