mcp-inflow-ingredients

intelligent-staffing-systems/mcp-inflow-ingredients

3.2

If you are the rightful owner of mcp-inflow-ingredients and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An MCP server that integrates with the Inflow Inventory API to manage ingredients and inventory programmatically.

Tools
9
Resources
0
Prompts
0

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

  1. Navigate to the project directory:
cd ~/mcp-inflow-ingredients
  1. Install dependencies:
npm install
  1. Configure environment variables:
cp .env.example .env
# Edit .env with your Inflow API credentials

Required environment variables:

  • INFLOW_API_KEY: Your Inflow API key
  • INFLOW_COMPANY_ID: Your Inflow company ID
  • INFLOW_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:connection

This will test basic API connectivity and list products.

MCP Server Usage

Running the Server

Start the MCP server:

npm start

For development with auto-reload:

npm run dev

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

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 documentation

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:

npm run test:connection

Scripts

  • npm start - Start the MCP server
  • npm run dev - Development mode with auto-reload
  • npm run test:connection - Test Inflow API connection

Inflow API Resources

License

MIT