Skip to main content
Glama

M/M/1 Queue Simulation Server

by kiyoung8
SMITHERY_DEPLOYMENT.md4.51 kB
# Smithery Deployment Guide for M/M/c MCP Server ## Current Status - **Version**: 0.2.0 - **Features**: Full M/M/1 and M/M/c support with comparison tools - **HTTP Transport**: Fixed and ready for deployment ## What Was Fixed 1. **HTTP Transport Implementation**: - Updated to use FastMCP's `streamable_http_app()` method - Added proper CORS middleware for Smithery compatibility - Fixed 404 errors by properly configuring HTTP endpoints 2. **Configuration Updates**: - Simplified `smithery.yaml` to minimal container configuration - Updated Dockerfile to include `--http` flag - Added fallback imports for MCP compatibility ## Deployment Steps ### 1. Automatic Deployment (If GitHub Connected) Your Smithery deployment should automatically update when you push to GitHub. ### 2. Manual Deployment If automatic deployment isn't configured: ```bash # From your local machine smithery publish ``` Or from Smithery dashboard: 1. Go to https://smithery.ai/dashboard 2. Select your MCP server project 3. Click "Deploy" or "Redeploy" ### 3. Verify Deployment After deployment completes: 1. Check deployment logs in Smithery dashboard 2. Test the MCP connection: - The server should be available at: `https://server.smithery.ai/@kiyoung8/share_2025_simulationmcp_wsc/` ### 4. Test in Claude Desktop Update your Claude Desktop configuration: ```json { "mcpServers": { "mm-simulation": { "type": "smithery", "smitheryId": "@kiyoung8/share_2025_simulationmcp_wsc" } } } ``` Or use the direct URL: ```json { "mcpServers": { "mm-simulation": { "command": "curl", "args": ["-X", "POST", "https://server.smithery.ai/@kiyoung8/share_2025_simulationmcp_wsc/mcp", "-H", "Content-Type: application/json"] } } } ``` ## Available Tools After Deployment The following tools should be available: ### M/M/c Simulation Tools - `run_mmc_simulation` - Run M/M/c queue simulation (1 to n servers) - `compare_mm1_vs_mmc` - Compare separate queues vs pooled queue - `analyze_cashier_problem` - Analyze supermarket cashier scenarios ### M/M/1 Tools (Legacy) - `validate_config` - Validate M/M/1 parameters - `calculate_metrics` - Calculate theoretical metrics - `run_simulation` - Run M/M/1 simulation - `compare_results` - Compare simulation vs theory - `recommend_parameters` - Get optimal parameters ## Testing the Deployment ### Test 1: Basic M/M/3 Simulation ``` Run an M/M/3 simulation with arrival rate 12, service rate 5 per server ``` Expected: Should return simulation results for 3-server system ### Test 2: Compare Strategies ``` Compare 3 separate M/M/1 queues vs single M/M/3 pooled queue for a supermarket with: - 12 customers/minute arriving - Each cashier serves 5 customers/minute ``` Expected: Should show pooled queue has ~77% better waiting time ### Test 3: Cashier Problem Analysis ``` Analyze a supermarket with 100 waiting customers and 3 cashiers ``` Expected: Should provide clearing time analysis and recommendations ## Troubleshooting ### If Still Getting 404 Errors 1. Check Smithery deployment logs for build errors 2. Ensure Docker image builds successfully 3. Verify FastMCP is installed in the container (Python 3.11+ required) ### If Tools Not Available 1. Restart Claude Desktop after updating configuration 2. Check that the server URL is accessible 3. Verify the MCP connection in Claude's settings ### If Simulation Results Are Identical - Fixed: Random seed is now time-based instead of fixed at 42 - Each simulation run should produce slightly different results ## What's New in v0.2.0 ### New Features ✅ **M/M/c Support**: Simulate multi-server queues (2+ servers) ✅ **Comparison Tools**: Compare separate vs pooled queue strategies ✅ **Cashier Analysis**: Specialized tool for supermarket scenarios ✅ **Dynamic Random Seeds**: Each simulation uses unique seed ### Fixed Issues ✅ Division by zero errors in metrics calculation ✅ Empty list handling with safe_mean functions ✅ HTTP transport 404 errors ✅ Fixed random seed issue (was always 42) ## Contact & Support For issues or questions: - GitHub Issues: https://github.com/kiyoung8/Simulation_by_SimPy/issues - Smithery Support: https://smithery.ai/support ## Next Steps After successful deployment: 1. Test all M/M/c tools in Claude Desktop 2. Run experiments comparing M/M/1×3 vs M/M/3 3. Generate poster presentation materials with results 4. Document accuracy metrics (MAPE) for validation

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kiyoung8/Simulation_by_SimPy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server