Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Inflow Ingredientslist ingredients for chocolate chip cookies"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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:
cd ~/mcp-inflow-ingredientsInstall dependencies:
npm installConfigure environment variables:
cp .env.example .env
# Edit .env with your Inflow API credentialsRequired 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:
npm run test:connectionThis will test basic API connectivity and list products.
MCP Server Usage
Running the Server
Start the MCP server:
npm startFor development with auto-reload:
npm run devAvailable 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
mcp-inflow-ingredients/
├── index.js # Main MCP server entry point
├── types.ts # TypeScript definitions for JSDoc
├── package.json # Node.js dependencies and scripts
├── .env # Environment variables (not in git)
├── .env.example # Environment template
├── .mcp.json # MCP server configuration
├── src/
│ ├── inflow-client.js # Inflow API client
│ └── handlers/
│ ├── product-handlers.js # Product operations
│ └── inventory-handlers.js # Inventory operations
├── tests/
│ └── test-connection.js # API connection test
└── docs/
└── swagger.json # Inflow API documentationDevelopment
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:
npm run test:connectionScripts
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