MCP Inflow Ingredients
An MCP (Model Context Protocol) server that enables AI assistants to interact with Inflow Inventory API, allowing them to manage ingredients/products and inventory programmatically.
Features
Product/Ingredient Management
List Ingredients: Search and filter products with smart search
Get Ingredient Details: Retrieve full information about specific products
Get Inventory Summary: View quantities (on hand, available, reserved, etc.)
Search Ingredients: Full-text search across name, description, SKU, barcode
Create Ingredient: Add new products to inventory
Update Ingredient: Modify existing product information
Inventory Management
Create Stock Adjustment: Adjust inventory quantities for products
List Stock Adjustments: View adjustment history
Get Stock Adjustment: Retrieve details of specific adjustments
Setup
Prerequisites
Node.js 18+ installed
Inflow Inventory account with API access
Inflow API key and Company ID
Installation
Navigate to the project directory:
Install dependencies:
Configure environment variables:
Required environment variables:
INFLOW_API_KEY: Your Inflow API keyINFLOW_COMPANY_ID: Your Inflow company IDINFLOW_API_URL: API base URL (default: https://cloudapi.inflowinventory.com)INFLOW_API_VERSION: API version (default: 2025-06-24)
Test Connection
Verify your Inflow API connection:
This will test basic API connectivity and list products.
MCP Server Usage
Running the Server
Start the MCP server:
For development with auto-reload:
Available Tools
Product/Ingredient Tools
list_ingredients
List all products with optional filters
Parameters: name, description, isActive, barcode, smart, include, limit
get_ingredient
Get detailed information about a specific product
Parameters: productId (required), include
get_inventory_summary
Get inventory summary with quantities
Parameters: productId (required)
search_ingredients
Search products using full-text search
Parameters: query (required), limit, include
create_ingredient
Create a new product
Parameters: productId (UUID, required), name (required), sku, description, isActive, additionalFields
update_ingredient
Update an existing product
Parameters: productId (required), name, sku, description, isActive, additionalFields
Inventory Tools
create_stock_adjustment
Create a stock adjustment to modify inventory
Parameters: stockAdjustmentId (UUID, required), locationId (required), lines (array, required), adjustmentReasonId, notes, adjustmentDate
list_stock_adjustments
List stock adjustments
Parameters: adjustmentNumber, include, limit
get_stock_adjustment
Get details of a specific adjustment
Parameters: stockAdjustmentId (required), include
Project Structure
Development
Type Safety
This project uses JSDoc with TypeScript type definitions for type safety without a build step. Types are defined in types.ts and imported via JSDoc comments.
Testing
Run the connection test:
Scripts
npm start- Start the MCP servernpm run dev- Development mode with auto-reloadnpm run test:connection- Test Inflow API connection
Inflow API Resources
License
MIT