Integrates with GitHub for version control and Railway deployment pipeline, enabling automatic deployment when code is pushed to GitHub repositories.
Built as a Python-based MCP server that exposes Skulabs API functionality including inventory management, product management, order processing, customer management, and sales analytics.
Supports deployment on Railway platform with automatic Python detection, environment variable configuration, and seamless integration with Skulabs API services.
Skulabs MCP Server
A Model Context Protocol (MCP) server that exposes Skulabs API functionality as tools for AI agents like Claude, Retell AI voice agents, and other MCP-compatible applications.
Features
Inventory Management
Get Inventory: Retrieve inventory items by SKU, location, or all items
Update Inventory: Update quantity for specific SKUs
Location-based Inventory: Get inventory filtered by location
Product Management
Get Products: Retrieve product information by SKU or all products
Product Details: Get detailed information about specific products
Create Products: Add new products to the system
Order Management
Get Orders: Retrieve orders with optional status filtering
Order Details: Get detailed information about specific orders
Create Orders: Create new orders with customer and item information
Update Order Status: Change order status (pending, processing, shipped, delivered, cancelled)
Customer Management
Get Customers: Retrieve customer information with optional email filtering
Customer Details: Get detailed information about specific customers
Create Customers: Add new customers to the system
Analytics
Sales Summary: Get sales data for date ranges
Inventory Summary: Get inventory statistics and summaries
Quick Start
Prerequisites
Python 3.11+
Skulabs API key
Railway account (for deployment) or local development setup
Local Development
Clone and setup:
git clone <repository> cd skulabs-mcp pip install -r requirements.txtConfigure environment:
cp env.example .env # Edit .env with your Skulabs API keyRun the server:
python skulabs_mcp_server.py
Railway Deployment
Connect to Railway:
Push your code to GitHub
Connect Railway to your GitHub repository
Railway will auto-detect Python and install dependencies
Set Environment Variables:
Go to Railway dashboard → Variables
Add
SKULABS_API_KEY
with your Skulabs API keyOptionally set
SKULABS_BASE_URL
(defaults to https://api.skulabs.com)
Deploy:
Railway will automatically deploy on git push
Get your server URL from Railway dashboard
Configuration
Environment Variables
Variable | Description | Default | Required |
| Your Skulabs API key | - | Yes |
| Skulabs API base URL | No | |
| Server name for MCP | skulabs-mcp | No |
| Server version | 1.0.0 | No |
| Logging level | INFO | No |
Getting Your Skulabs API Key
Log into your Skulabs account
Go to Settings → Advanced → API
Generate a new API key
Copy the key to your environment variables
Usage with AI Agents
Retell AI Integration
In Retell AI Dashboard:
Go to your voice agent configuration
Add MCP server connection
Use your Railway URL as the MCP server endpoint
Voice Agent Prompts:
You have access to Skulabs inventory and order management tools. You can check inventory, create orders, update order status, and manage customers. Use the available tools to help customers with their requests.
Claude Desktop Integration
Add to Claude Desktop config:
{ "mcpServers": { "skulabs": { "command": "python", "args": ["/path/to/skulabs_mcp_server.py"], "env": { "SKULABS_API_KEY": "your-api-key" } } } }
API Reference
Tool: get_inventory
Retrieve inventory items with optional filtering.
Parameters:
sku
(string, optional): Specific SKU to retrievelocation
(string, optional): Filter by locationlimit
(integer, optional): Max items to return (default: 100)offset
(integer, optional): Items to skip (default: 0)
Tool: update_inventory
Update inventory quantity for a specific SKU.
Parameters:
sku
(string, required): SKU to updatequantity
(integer, required): New quantitylocation
(string, optional): Location to update
Tool: get_orders
Retrieve orders with optional status filtering.
Parameters:
status
(string, optional): Filter by statuslimit
(integer, optional): Max orders to return (default: 100)offset
(integer, optional): Orders to skip (default: 0)
Tool: create_order
Create a new order.
Parameters:
customer_id
(string, required): Customer IDitems
(array, required): Order items with SKU, quantity, priceshipping_address
(object, optional): Shipping addressnotes
(string, optional): Order notes
[See full API documentation in the source code for all available tools]
Error Handling
The server includes comprehensive error handling:
API Errors: Skulabs API errors are caught and returned with details
Validation Errors: Input validation with clear error messages
Network Errors: Timeout and connection error handling
Logging: Structured logging for debugging and monitoring
Development
Project Structure
Adding New Tools
Add method to SkulabsClient:
async def new_method(self, param: str) -> Dict[str, Any]: return await self._make_request("GET", f"/endpoint/{param}")Add tool definition in list_tools():
Tool( name="new_tool", description="Description of the tool", inputSchema={...} )Add handler in execute_tool():
elif name == "new_tool": return await client.new_method(arguments["param"])
Support
Skulabs API Support: Email api-support@skulabs.com with "API Support" in subject
MCP Protocol: Model Context Protocol Documentation
Issues: Create GitHub issues for bugs or feature requests
License
MIT License - see LICENSE file for details.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables AI agents to interact with Skulabs inventory management system through comprehensive tools for managing products, orders, customers, and analytics. Supports voice agents like Retell AI and desktop applications like Claude for natural language inventory operations.