Inventory MCP Server
Inventory MCP Server
A Model Context Protocol (MCP) server for managing inventory using Supabase (PostgreSQL) database.
Features
Add Inventory: Add or update inventory items with product name, location, and quantity
Remove Inventory: Remove items from inventory at specific locations
Check Stock: Query stock levels for specific items at locations
List Inventory: Get a complete list of all inventory items
Prerequisites
Python 3.11 or higher
Supabase account with a project
Database password from Supabase Dashboard
Setup Instructions
1. Install Dependencies
pip install fastmcp psycopg2-binary supabaseOr using the project file:
pip install -e .2. Set Up Supabase Database
Run the simplified database setup script:
python setup_database_simple.pyThis will:
Connect to your Supabase database (port 6543 - connection pooler)
Create the
inventorytableInsert sample data (24 items across 4 locations)
You'll be prompted for:
Your Supabase database password
Note: Your Supabase URL and configuration are already set in the script:
Host:
db.sitomhzoqsoqpkaglxzg.supabase.coPort:
6543(connection pooler)Database:
postgresUser:
postgres
3. Server Configuration
The server is already configured with your Supabase credentials:
Supabase URL:
https://sitomhzoqsoqpkaglxzg.supabase.coDatabase password is set to
root(default)Port:
6543(connection pooler)
If you need to change the password, edit inventory-mcp-server.py:
DB_PASSWORD = os.getenv("SUPABASE_DB_PASSWORD", "your_password")Or set an environment variable:
set SUPABASE_DB_PASSWORD=your_password4. Run the Server
python inventory-mcp-server.pyDatabase Schema
The inventory table has the following structure (PostgreSQL/Supabase):
item_id(VARCHAR(50)) - Unique item identifierproduct_name(VARCHAR(100)) - Name of the productlocation(VARCHAR(50)) - Location/warehouse namequantity(INT) - Stock quantityPrimary Key: (
item_id,location)
Available Tools
add_inventory
Adds or updates inventory items.
Parameters:
item_id(str): Unique identifier for the itemproduct_name(str): Name of the productlocation(str): Location/warehouse namequantity(int): Quantity to add
Returns: Confirmation message
remove_inventory
Removes items from inventory.
Parameters:
item_id(str): Item identifierlocation(str): Location/warehouse namequantity(int): Quantity to remove
Returns: Confirmation message
check_stock
Checks stock level for a specific item at a location.
Parameters:
item_id(str): Item identifierlocation(str): Location/warehouse name
Returns: Item details with current stock level
list_inventory
Lists all inventory items.
Returns: List of all inventory items with their details
Sample Data
The setup script includes sample data for:
Laptops (LAP-001 to LAP-006)
Mobile phones (MOB-001 to MOB-006)
Tablets (TAB-001 to TAB-006)
Accessories (ACC-001 to ACC-006)
Items are distributed across locations: Bengaluru, Mumbai, Delhi, and Pune.
Troubleshooting
Supabase Connection Issues
Verify Database Password:
Go to: https://supabase.com/dashboard/project/sitomhzoqsoqpkaglxzg/settings/database
Check or reset your database password
Check Connection Settings:
Default port:
6543(connection pooler - recommended)Alternative:
5432(direct connection)Ensure SSL is enabled (
sslmode=require)
IP Allowlist:
Check Supabase Dashboard > Settings > Database > Connection Pooling
Ensure your IP is allowed or use "Allow all IPs" for development
Test Connection:
python test_connection.py
Import Errors
If you encounter import errors, ensure all dependencies are installed:
pip install --upgrade fastmcp psycopg2-binary supabaseLicense
This project is provided as-is for educational and development purposes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Adiitiir/inventory-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server