MarketMan API and MCP server Let your AI agent watch par levels and draft orders.

Purchase orders, par levels, counts and food cost for your restaurant. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with MarketMan
MarketMan logo MarketMan Cloud Browser

11 tools Read and write

Back of house

What can you automate in MarketMan? Use an AI agent, a workflow or a script.

  • Flag items below par

  • Draft the weekly supplier orders

  • Track deliveries still open

  • Report actual vs theoretical usage

  • Find the lowest-margin dishes

  • Tune par levels from real usage

Paid add-on, read only

Does MarketMan have an MCP server or an API? A read-only API as a paid add-on, no MCP server.

MarketMan has a REST API (V3) and no official MCP server (checked 28 Oct 2026). Restaurants buy it as the API Access add-on, which the pricing page lists as read-only with 5,000 calls a month, and the API Partner key and password come from MarketMan support. Cotlet runs 11 MarketMan tools hosted in your own login, over MCP for agents and REST for scripts.

  • The add-on costs $25 a month for 1 to 3 locations, $59 for 4 to 9, $99 for 10 to 30 and $199 above that, on Starter ($249) or Growth ($299). Enterprise, from $449, includes it.
  • Its endpoints cover the reads on this page. The docs also list CreateOrder and SetInventoryItemParLevel for partners, but the add-on restaurants buy is sold read-only.
  • No Zapier app and no n8n node for MarketMan. The few GitHub clients for the API are 2021 code with 0 stars, and none is an MCP server.
MarketMan API add-on, a GitHub API client and Cotlet compared
What you need API add-onGitHub clientCotlet
Read orders, items, counts, AvT, margins Yes Some, with the add-on key Yes
Create a purchase order, set a par level Sold read-only No Yes, orders after your OK
How you get access Ask support for a partner key Same key Your own MarketMan login
Monthly cap 5,000 calls 5,000 calls Pay per call
Works in Claude or ChatGPT You build it Not an MCP server Yes
Allowed by MarketMan's terms Yes, official Yes, official API Uses the web app

Checked 28 Oct 2026. Sources: MarketMan API V3 documentation · MarketMan pricing and plans · MarketMan restaurant purchasing and order management · MarketMan inventory management software · MarketMan SaaS Subscription Agreement

Set up once

How does Cotlet connect to MarketMan? One account, two ways to connect.

  1. 1Sign in to MarketMan

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run your workflow

    Ask your agent or send an HTTP request.

We never keep your MarketMan password, and no order goes to a supplier until you approve it. Who can see your session

Any MCP client

Connect MarketMan to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

  1. 1

    Sign in to MarketMan in a Cloud Browser. Make a Cotlet account, open MarketMan in its Cloud Browser, log in with your usual MarketMan user and press Enable for agents.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 where your agent takes an MCP server or a connector.

  3. 3

    Finish the sign-in. Claude and ChatGPT open a Cotlet sign-in page. Cursor, Codex, n8n and scripts use an API key from the console.

One address, https://cotlet.dev/mcp/v1, serves MarketMan and the other apps you enable. Enabled MarketMan after you connected? Refresh the connector so the new tools load.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-marketman \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-marketman": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-marketman]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: marketman_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: marketman_write
Scripts and HTTP

How to use the MarketMan REST API

Create your Cotlet API key

Create a Cotlet API key with access to MarketMan and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.

Connect MarketMan in Cotlet and enable it for agents. Account access: Your own MarketMan user (a role that can see and place orders for the location).

Make your first MarketMan API request

REST
curl "https://cotlet.dev/api/v1/marketman/inventory-items?location=Harbor+Grill" \
  -H "Authorization: Bearer $COTLET_API_KEY"

Read inventory items and apply the operation limits

A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt
{
  "status": "success",
  "app": "marketman",
  "tool": "list_inventory_items",
  "result": {
    "items": [
      {
        "item_id": "inv_2210",
        "name": "Whole milk",
        "category": "Dairy",
        "unit": "case",
        "par_level": 8,
        "on_hand": 3,
        "supplier": "Lakeside Dairy"
      },
      {
        "item_id": "inv_2214",
        "name": "Butter, unsalted",
        "category": "Dairy",
        "unit": "case",
        "par_level": 4,
        "on_hand": 1,
        "supplier": "Lakeside Dairy"
      }
    ]
  }
}

Returns each item with its category, unit, par level, quantity from the last count and usual supplier. Items without a par level are left out when below_par is true.

Replace Harbor Grill with a location available to your account.

Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.

MarketMan workflows for agents and automations

MarketMan workflows you configure
ToolConnect throughExample workflow
n8nHTTP RequestLists the suppliers a location orders from. Use list_suppliers in your configured business report.
MakeHTTP > Make a requestCompares what you used (from counts) with what sales say you should have used. Use get_actual_vs_theoretical in your configured business report.
Python or Node.jsREST APILists past inventory counts of a location. Use list_inventory_counts in your configured business report.

Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads MarketMan; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.

9 read, 2 write

MarketMan API endpoints and MCP tools

Purchase orders and suppliers4

MarketMan order statuses: sent (to the supplier), pending (received by the supplier), approved (by the supplier). A new order goes to the supplier, so it asks first.

  • list_purchase_orders Lists purchase orders of a location by delivery date or sent date. read

    Returns one row per order with the supplier, status, delivery date, number of items and total. Orders come in delivery date order, oldest first. Your role decides which locations you see.

    MCP callmarketman_read → list_purchase_orders

    REST endpointGET https://cotlet.dev/api/v1/marketman/purchase-orders

    Parameters

    Parameters: list_purchase_orders
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    date_from string required string First day, YYYY-MM-DD.
    date_to string required string Last day, YYYY-MM-DD.
    date_type string string delivery or sent. Default delivery.
    status string string Filter by sent, pending or approved. Sent means sent to the supplier, pending means received by the supplier, approved means approved by the supplier.

    Example input

    {
      "location": "location",
      "date_from": "date from",
      "date_to": "date to"
    }

    Example response

    {
      "orders": [
        {
          "order_id": "po_41872",
          "supplier": "Fresh Fields Produce",
          "status": "sent",
          "delivery_date": "2026-10-30",
          "items": 12,
          "total": 486.2
        },
        {
          "order_id": "po_41873",
          "supplier": "Lakeside Dairy",
          "status": "approved",
          "delivery_date": "2026-10-31",
          "items": 8,
          "total": 212.4
        }
      ]
    }
  • get_purchase_order Returns one purchase order with its lines. read

    Returns the supplier, status, delivery date and every line with item, quantity, unit and price. It does not change the order.

    MCP callmarketman_read → get_purchase_order

    REST endpointGET https://cotlet.dev/api/v1/marketman/orders/{order_id}/purchase-order

    Parameters

    Parameters: get_purchase_order
    NameTypeDescription
    order_id string required string Order id from list_purchase_orders.

    Example input

    {
      "order_id": "order_8c41d2"
    }

    Example response

    {
      "order_id": "po_41873",
      "supplier": "Lakeside Dairy",
      "status": "approved",
      "delivery_date": "2026-10-31",
      "lines": [
        {
          "item": "Whole milk",
          "quantity": 6,
          "unit": "case",
          "price": 28.5
        },
        {
          "item": "Butter, unsalted",
          "quantity": 2,
          "unit": "case",
          "price": 20.7
        }
      ],
      "total": 212.4
    }
  • list_suppliers Lists the suppliers a location orders from. read

    Returns each supplier with its name and contact email as saved in MarketMan. Use it to group items before you create orders.

    MCP callmarketman_read → list_suppliers

    REST endpointGET https://cotlet.dev/api/v1/marketman/suppliers

    Parameters

    Parameters: list_suppliers
    NameTypeDescription
    location string required string Location name as shown in MarketMan.

    Example input

    {
      "location": "location"
    }

    Example response

    {
      "suppliers": [
        {
          "supplier_id": "sup_118",
          "name": "Lakeside Dairy",
          "email": "orders@lakesidedairy.example"
        },
        {
          "supplier_id": "sup_121",
          "name": "Fresh Fields Produce",
          "email": "orders@freshfields.example"
        }
      ]
    }
  • create_purchase_order Creates a purchase order for one supplier and sends it. writeasks first

    Creates the order and sends it to the supplier the way MarketMan does when you approve an order. The supplier and your money are affected, and you cannot recall it through Cotlet. It returns the order id, status and total. By default you confirm each call; you can switch that off for this tool.

    MCP callmarketman_write → create_purchase_order

    REST endpointPOST https://cotlet.dev/api/v1/marketman/suppliers/{supplier_id}/purchase-orders

    Parameters

    Parameters: create_purchase_order
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    supplier_id string required string Supplier id from list_suppliers.
    delivery_date string required string Delivery day, YYYY-MM-DD.
    lines array required array Items to order: item_id and quantity in the item unit.
    note string string Note for the supplier.

    Example input

    {
      "location": "location",
      "supplier_id": "supplier_8c41d2",
      "delivery_date": "delivery date",
      "lines": "lines"
    }

    Example response

    {
      "order_id": "po_41901",
      "supplier": "Lakeside Dairy",
      "status": "sent",
      "delivery_date": "2026-11-02",
      "items": 2,
      "total": 49.2
    }

Inventory, counts and par levels3

On-hand quantity comes from the last count. Every call names a location, and your MarketMan role decides which locations you see.

  • list_inventory_items Lists the items you order and count, with par level and last count. read

    Returns each item with its category, unit, par level, quantity from the last count and usual supplier. Items without a par level are left out when below_par is true.

    MCP callmarketman_read → list_inventory_items

    REST endpointGET https://cotlet.dev/api/v1/marketman/inventory-items

    Parameters

    Parameters: list_inventory_items
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    category string string Only items in this category.
    below_par boolean boolean Only items whose on-hand quantity is under the par level.

    Example input

    {
      "location": "location"
    }

    Example response

    {
      "items": [
        {
          "item_id": "inv_2210",
          "name": "Whole milk",
          "category": "Dairy",
          "unit": "case",
          "par_level": 8,
          "on_hand": 3,
          "supplier": "Lakeside Dairy"
        },
        {
          "item_id": "inv_2214",
          "name": "Butter, unsalted",
          "category": "Dairy",
          "unit": "case",
          "par_level": 4,
          "on_hand": 1,
          "supplier": "Lakeside Dairy"
        }
      ]
    }
  • list_inventory_counts Lists past inventory counts of a location. read

    Returns one row per count with its date, whether it was a full or partial count and the number of items counted. Newest first.

    MCP callmarketman_read → list_inventory_counts

    REST endpointGET https://cotlet.dev/api/v1/marketman/inventory-counts

    Parameters

    Parameters: list_inventory_counts
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    date_from string string First day, YYYY-MM-DD.
    date_to string string Last day, YYYY-MM-DD.

    Example input

    {
      "location": "location"
    }

    Example response

    {
      "counts": [
        {
          "count_id": "cnt_903",
          "date": "2026-10-26",
          "type": "full",
          "items_counted": 214
        },
        {
          "count_id": "cnt_897",
          "date": "2026-10-19",
          "type": "partial",
          "items_counted": 58
        }
      ]
    }
  • set_par_level Sets the par level of one inventory item. write

    Changes the par level of one item and returns the old and new value. It reaches no one and you undo it by setting the old value, so it does not wait for your OK. A lower par level changes what MarketMan suggests next time you order.

    MCP callmarketman_write → set_par_level

    REST endpointPUT https://cotlet.dev/api/v1/marketman/items/{item_id}/par-level

    Parameters

    Parameters: set_par_level
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    item_id string required string Item id from list_inventory_items.
    par_level number required number New par level in the item unit.

    Example input

    {
      "location": "Harbor Grill",
      "item_id": "inv_2210",
      "par_level": 10
    }

    Example response

    {
      "item_id": "inv_2210",
      "name": "Whole milk",
      "old_par_level": 8,
      "par_level": 10
    }

Food cost, recipes and invoices4

Actual vs theoretical needs two dates that each had a count. Invoices are read only; nothing is uploaded or edited.

  • get_actual_vs_theoretical Compares what you used (from counts) with what sales say you should have used. read

    Returns each item with actual usage, theoretical usage and the difference. The dates must be days with a count, so call list_inventory_counts first. Sorted by the largest gap.

    MCP callmarketman_read → get_actual_vs_theoretical

    REST endpointGET https://cotlet.dev/api/v1/marketman/actual-vs-theoretical

    Parameters

    Parameters: get_actual_vs_theoretical
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    date_from string required string Start count date, YYYY-MM-DD.
    date_to string required string End count date, YYYY-MM-DD.

    Example input

    {
      "location": "location",
      "date_from": "date from",
      "date_to": "date to"
    }

    Example response

    {
      "period": {
        "from": "2026-10-19",
        "to": "2026-10-26"
      },
      "items": [
        {
          "name": "Whole milk",
          "unit": "case",
          "actual": 9,
          "theoretical": 7.5,
          "difference": 1.5
        },
        {
          "name": "Butter, unsalted",
          "unit": "case",
          "actual": 3.5,
          "theoretical": 3.2,
          "difference": 0.3
        }
      ]
    }
  • get_menu_profitability Returns cost, price and margin for each menu item. read

    Returns each menu item with its portion cost, selling price, units sold and margin. Lowest margin first.

    MCP callmarketman_read → get_menu_profitability

    REST endpointGET https://cotlet.dev/api/v1/marketman/menu-profitability

    Parameters

    Parameters: get_menu_profitability
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    date_from string required string First day, YYYY-MM-DD.
    date_to string required string Last day, YYYY-MM-DD.

    Example input

    {
      "location": "location",
      "date_from": "date from",
      "date_to": "date to"
    }

    Example response

    {
      "items": [
        {
          "name": "Seafood linguine",
          "cost": 7.9,
          "price": 17,
          "sold": 64,
          "margin_percent": 53.5
        },
        {
          "name": "House burger",
          "cost": 4.1,
          "price": 14,
          "sold": 212,
          "margin_percent": 70.7
        }
      ]
    }
  • list_recipes Lists recipes with their ingredients and portion cost. read

    Returns each recipe with its ingredients, quantities and the cost of one portion. It does not change recipes.

    MCP callmarketman_read → list_recipes

    REST endpointGET https://cotlet.dev/api/v1/marketman/recipes

    Parameters

    Parameters: list_recipes
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    search string string Part of a recipe name.

    Example input

    {
      "location": "location"
    }

    Example response

    {
      "recipes": [
        {
          "name": "House burger",
          "portion_cost": 4.1,
          "ingredients": [
            {
              "item": "Ground beef",
              "quantity": 0.25,
              "unit": "lb"
            },
            {
              "item": "Brioche bun",
              "quantity": 1,
              "unit": "each"
            }
          ]
        }
      ]
    }
  • list_invoices Lists supplier invoices recorded for a location. read

    Returns each invoice with its supplier, date and total. Newest first. It reads invoices only; it does not upload or edit one.

    MCP callmarketman_read → list_invoices

    REST endpointGET https://cotlet.dev/api/v1/marketman/invoices

    Parameters

    Parameters: list_invoices
    NameTypeDescription
    location string required string Location name as shown in MarketMan.
    date_from string required string First day, YYYY-MM-DD.
    date_to string required string Last day, YYYY-MM-DD.

    Example input

    {
      "location": "location",
      "date_from": "date from",
      "date_to": "date to"
    }

    Example response

    {
      "invoices": [
        {
          "invoice_id": "inv_77120",
          "supplier": "Fresh Fields Produce",
          "date": "2026-10-27",
          "total": 486.2
        },
        {
          "invoice_id": "inv_77094",
          "supplier": "Lakeside Dairy",
          "date": "2026-10-24",
          "total": 198
        }
      ]
    }
Encrypted, revocable

Who can see my MarketMan session, and how do I revoke it?

  • What we store

    Your signed-in MarketMan profile, AES-256-GCM, in Finland. Not your password.

  • What your agent gets

    The 11 MarketMan tools. No cookie, no API Partner key.

  • What the session sees

    The locations, orders, costs and invoices your MarketMan role opens.

  • What no tool touches

    Users, billing, POS and accounting settings, recipe edits.

  • If MarketMan logs you out

    Your agent gets a link and you log in again. We never log in for you.

  • How to cut access

    Disable MarketMan for agents, reset the browser or delete the API key.

Use a MarketMan user your company bought a seat for: the agreement allows only Permitted Users the customer authorized. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results); no SOC 2 report or third-party pentest yet.

Account risk

Is it against MarketMan's terms? Account safety On paper, yes: the agreement bans automated access.

"Customer must not, and shall not allow any Permitted User or any other third party to: ... use any automated means to access the SaaS Services and/or the MarketMan App"
MarketMan SaaS Subscription Agreement, Restrictions, last updated 17 Dec 2025

The same agreement lets MarketMan suspend access "at any time in its sole discretion, with or without notice". The API add-on is the route the terms leave clear, for reads. We found no public case of a MarketMan account closed for automation (checked 28 Oct 2026); public complaints are about cancelling a contract. A group that cares should ask its MarketMan account manager first.

How we keep your account looking like you

  • Your own MarketMan user, logged in by you
  • One Cloud Browser with its own IP and cookies
  • Supplier orders wait for your OK
  • No tool edits recipes, users or integrations
  • If MarketMan objects, we pause the MarketMan tools for everyone within 24 h

The Terms of Use also ban "a disproportionately large load". Pull a year of reports for 30 locations over several nights, not in one run.

Tested every 12 h

What happens when MarketMan changes? We repair the tool; your prompts stay the same.

between tests of the MarketMan reads
12 h
for a call to a MarketMan tool paused for repair
$0

If MarketMan moves a report or renames a column in Purchasing, we change the tool and the same prompt keeps working. status.cotlet.dev watches the site, console and API every 3 minutes.

1 tool asks first

Approvals, undo and mistakes No supplier sees an order you did not approve.

  1. 01 Lists items under par For the location you named, with each usual supplier.
  2. 02 Groups them by supplier One draft order each, with quantities to reach par.
  3. 03 Waits for your OK Each order shows up in your Cotlet console first.
  4. 04 Reports back Orders sent, totals and delivery dates.
Which MarketMan actions can be undone
ActionUndo
Create and send a purchase orderNot through Cotlet; call or email the supplier
Set a par levelYes, set the old value; the tool returns it
Every readNothing to undo; reads change nothing

1 of 11 tools asks first: create_purchase_order. set_par_level runs at once and returns the old value; it reaches no one but changes what MarketMan suggests on the next order. Turn the wait off per tool for a scheduled run.

Check the delivery date before you approve: a supplier with a cutoff may have closed that day already.

MCP call
{
  "name": "set_par_level",
  "arguments": {
    "location": "Harbor Grill",
    "item_id": "inv_2210",
    "par_level": 10
  }
}
REST
curl -X PUT https://cotlet.dev/api/v1/marketman/items/inv_2210/par-level \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"Harbor Grill","par_level":10}'
Response
{
  "item_id": "inv_2210",
  "name": "Whole milk",
  "old_par_level": 8,
  "par_level": 10
}

Scripts and cron jobs reach the same tools over REST at /api/v1/marketman, with one key and one price. A call for a location your role cannot open fails with a permission error and costs nothing. The tools table lists the REST path of each tool.

Pay per call

How much does the MarketMan MCP server cost?

About $20 a monthfor one independent restaurant, 3,480 credits. Your MarketMan plan stays as it is.

A month of MarketMan jobs for one restaurant, in credits
JobCallsCredits
Items below par with their supplier, daily2 × 30600
Open orders and supplier status, daily3 × 30900
Draft 4 supplier orders, weekly6 × 4240
Actual vs theoretical after the count, weekly2 × 480
Lowest-margin dishes, weekly2 × 480
Invoices against orders, weekly2 × 480
Cloud Browser, 30 days1,500
Total3,480
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • No API add-on or Enterprise plan needed

The month is our example: one location on Starter, 100 to 200 items, a full count each week and 4 supplier orders a week. For comparison, MarketMan's read-only API add-on is $25 a month for 1 to 3 locations, before the code you write (pricing page, 28 Oct 2026). Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

MarketMan MCP server on GitHub or hosted: which to use There is no other MarketMan MCP server yet.

Other ways to reach MarketMan data, checked 28 Oct 2026
OptionWhat it doesWhere it stops
LukasKlement/python-marketmanA basic Python client for the V3 API, Apache-2.0.Needs the add-on key; 0 stars, last commit 25 Apr 2021; not an MCP server.
Mashey/tap-marketmanA Singer tap that exports API data to a warehouse.Export only; last commit 5 Mar 2021.
zirinisp/marketman_google_apps_scriptPulls API data into Google Sheets.Read only; last commit 13 Nov 2021.
TenzoRestaurant analytics that reads MarketMan next to POS and labor data.Dashboards for people, not an agent tool.

If you have the add-on and a developer, the API gives the reads directly. Nothing on GitHub or in Zapier and n8n speaks MCP to MarketMan, and nothing outside the web app creates orders for a restaurant. Cotlet covers both in your own login.

EU company, since 2019

Who runs Cotlet A company you can look up.

Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273) and trading since 2019. Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing) founded it. Write to contact@cotlet.dev with questions about the MarketMan tools.

MarketMan API and MCP: questions

How do I get access?

Sign up free at https://cotlet.dev, open MarketMan under Integrations in the console and log in to MarketMan in its Cloud Browser. The trial starts with your first app and needs no card.

How do I connect MarketMan to ChatGPT or Claude?

Sign up at cotlet.dev, log in to MarketMan once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your MarketMan account through Cotlet, in their phone apps too.

What can ChatGPT do in MarketMan?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in MarketMan: draft the weekly supplier order; flag items below par; weekly food cost variance report. You ask in plain words, and anything that reaches other people waits for your OK first.

Do I need the MarketMan API add-on?

No. Cotlet works in your own MarketMan login, so it does not use the API Partner key. MarketMan sells Open API Access as an add-on on Starter and Growth and includes it in Enterprise (pricing page, checked 28 Oct 2026). Your user role still decides which locations and orders you can see.

Will my agent send orders to suppliers by itself?

Only if you switch confirmation off. create_purchase_order reaches a supplier, so by default you confirm each call. Reading orders, counts and reports changes nothing.

Does MarketMan have webhooks?

Yes, inside the API: API Partners can register webhooks for order events. They need the same partner key. Without it, run your agent on a schedule, for example a daily list_purchase_orders.

Does it work with several locations?

Yes. Every tool takes a location by its MarketMan name, and you see the locations your MarketMan role sees. Run a report per location, or ask the agent to loop over them.

Is the MCP server different from the REST API?

Only the way in. Both carry the same 11 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with MarketMan?

No. Cotlet is independent and not affiliated with MarketMan or Meal Ticket.

Can I use the MarketMan API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

Give your agent access to MarketMan.

Free 7-day trial with 2,000 credits, no card needed.