Freshly Inventory MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.2.3Updated Nov 5, 2026

Read batches and assignments; create, update and assign batches in Freshly Inventory.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableDatabasesBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for Freshly Inventory that lets an assistant read, create, update and assign Shopify inventory batches (lot tracking).

What you can do
  • Look up the connected Shopify store and confirm the key works
  • List and read inventory batches, filtering by location, variant, name, number, barcode or invoice
  • List the batches assigned to a Shopify order line item
  • Create a new batch for a variant at a location, optionally syncing the Shopify stock level
  • Update batch fields such as quantity, location, variant, dates or text
  • Assign a batch quantity to an order line item, or remove an existing assignment
When to use it
Useful when you track inventory by lot or batch in Freshly and want an assistant to answer questions about expiry, quantities and which lot shipped on an order, or to record new batches and assignments without opening the dashboard.
Requirements
Remote endpoint only, no local install; connect with the server URL and sign in through OAuth. On first connect you supply your Freshly API key (from Preferences, API keys in Freshly), which the server validates and stores per user. No API key or Authorization header goes in the client config.
Before you install
Four tools create, change or delete Freshly data, and create/update can also change Shopify stock levels when sync is enabled; confirm before running them. The server stores your Freshly API key per user. Usage is metered: free plan 50 calls a month, and the upgrade tool returns Stripe Checkout payment links for paid plans.

Installation

In SourceWeft

  1. Open Freshly Inventory MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Ffreshly-inventory/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "freshly-inventory-by-usefulapi": {
      "type": "http",
      "url": "https://freshly-inventory.usefulapi.io/mcp"
    }
  }
}

README

Freshly Inventory MCP by usefulapi

Use your Freshly account from Claude, Cursor, or any MCP client. Reads and manages inventory batches and their order-line assignments, and changes Shopify stock only when you turn sync on. Hosted, no local install: connect with your own credentials.

Live endpoint: https://freshly-inventory.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://freshly-inventory.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http freshly-inventory https://freshly-inventory.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "freshly-inventory": {      "url": "https://freshly-inventory.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Freshly Inventory credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/freshly-inventory/

On first connect you provide your Freshly API key (Preferences → API keys in Freshly; Freshly shows it once). The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
freshly_get_shopreadGet Freshly shop
freshly_list_inventory_batchesreadList inventory batches
freshly_get_inventory_batchreadGet inventory batch
freshly_list_batch_assignmentsreadList batch assignments for an order line
freshly_create_inventory_batchwriteCreate inventory batch
freshly_update_inventory_batchwriteUpdate inventory batch
freshly_assign_batch_to_line_itemwriteAssign batch to order line
freshly_remove_batch_assignmentwriteRemove batch assignment from order line
freshly_usage_statusmetaUsage status (free-tier meter)
freshly_request_featuremetaRequest a missing feature
freshly_upgrademetaUpgrade to Pro or Pro+
freshly_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with freshly_upgrade (it returns a Stripe Checkout link). Cancel any time with freshly_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running freshly_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/freshly-inventory/README.md at commit 4046075

Tools

8

freshly_get_shop

Get Freshly shop

Return the Shopify store this API key belongs to (store name and shopify_domain). Good first call to confirm the key works. Freshly API: GET /api/shopify/shop.

Takes no parameters.

freshly_list_inventory_batches

List inventory batches

List inventory batches (lot tracking) with quantity, received and expiry dates and metadata. Filter by Shopify location or variant, or search by batch name, number, barcode or invoice. Freshly API: GET /api/shopify/inventory_batches.

Parameterspagesearchvariant_idlocation_id

freshly_get_inventory_batch

Get inventory batch

Return one inventory batch by its Freshly id. Freshly API: GET /api/shopify/inventory_batches/:id.

Parametersbatch_idrequired

freshly_list_batch_assignments

List batch assignments for an order line

List the inventory batches assigned to one Shopify order line item (batch, quantity, assignment id). Freshly API: GET /api/shopify/inventory_batch_order_items.

Parametersorder_idrequiredline_item_idrequired

freshly_create_inventory_batch

Create inventory batch

Create a new inventory batch of one product variant at one Shopify location. Set enable_shopify_sync true only when the Shopify stock level must change too. Freshly API: POST /api/shopify/inventory_batches.

Parametersbarcodequantityrequiredbatch_namevariant_idrequireddescriptionexpiry_datelocation_idrequiredbatch_numberreceived_dateinvoice_numberenable_shopify_sync

freshly_update_inventory_batch

Update inventory batch

Change fields of one inventory batch (quantity, location, variant, dates or text). Only the fields you pass change. Set enable_shopify_sync true only when the Shopify stock level must change too. Freshly API: PUT /api/shopify/inventory_batches/:id.

Parametersbarcodebatch_idrequiredquantitybatch_namevariant_iddescriptionexpiry_datelocation_idbatch_numberreceived_dateinvoice_numberenable_shopify_sync

freshly_assign_batch_to_line_item

Assign batch to order line

Assign a quantity of one inventory batch to one Shopify order line item, so Freshly tracks which lot shipped. Freshly API: POST /api/shopify/inventory_batch_order_items.

Parametersorder_idrequiredquantityrequiredline_item_idrequiredinventory_batch_idrequired

freshly_remove_batch_assignment

Remove batch assignment from order line

Remove one batch assignment from an order line item (the assignment id comes from freshly_list_batch_assignments). Freshly API: DELETE /api/shopify/inventory_batch_order_items/:id.

Parametersassignment_idrequired

Version history

6
  1. v1.2.3LatestNov 5, 2026
  2. v1.2.2Nov 5, 2026
  3. v1.2.1Nov 4, 2026
  4. v1.2.0Nov 3, 2026
  5. v1.1.1Nov 3, 2026
  6. v1.0.0Nov 1, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations