integrations tools abicart

    Abicart MCP for your AI agent

    Cogny's Abicart integration exposes 33 tools (25 read, 8 write) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

    • 25readonly reads data.
    • 8writecreates or changes something.
    • 0destructivedeletes, removes or replaces something.

    Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations. Plans, approvals and limits

    set it up.

    Add Cogny to your AI client once, then connect Abicart in Cogny. Every Abicart tool below appears in the client.

    • Claude CodeRun claude mcp add --transport http cogny https://app.cogny.com/mcp, then authorise in the browser.
    • Claude.aiSettings → Connectors → Add custom connector, URL https://app.cogny.com/mcp, then log in and pick your workspace.
    • ChatGPTSettings → Apps → Advanced settings → Developer mode → Create app, URL https://app.cogny.com/mcp, authentication OAuth.
    • CursorIn Cogny, Settings → Data & Integrations → Connect AI Clients shows the block to paste into .mcp.json, with an API key.
    • CodexRun codex mcp add cogny --url https://app.cogny.com/mcp.

    Full setup, and how to undo it

    what each tool does.

    Read 25 · only reads data

    • get_shopReadGet the connected webshop: name, URLs, languages, currencies, VAT settings, company info.
    • list_delivery_methodsReadList the shop's delivery (shipping) methods with rates and free-delivery thresholds.
    • list_payment_methodsReadList the shop's payment methods (e.g.
    • get_schemaReadGet the JSON Schema of an API class (Article, Order, Customer, Articlegroup, Discount, …).
    • list_articlesReadList articles (products) in the catalog.
    • count_articlesReadCount articles matching the filters (exact total, no paging). visible_only counts hidden=false and draft=false articles only.
    • get_articleReadGet one article by uid (not article number — use list_articles(article_number=…) for that).
    • validate_articleReadDry-run an article create/update: validates `patch` against the schema without saving.
    • list_article_groupsReadList article groups (categories).
    • get_article_group_treeReadGet the article-group hierarchy as a tree from `root_id` (null = whole shop).
    • get_article_groupReadGet one article group with description and SEO meta.
    • list_ordersReadList placed orders, newest first by default.
    • count_ordersReadCount orders matching the window/status filters (exact total, no paging).
    • get_orderReadGet one order with expanded line items, payments, delivery, full customer address block, note and exchange rate.
    • get_order_shipmentsReadList shipments for an order: type, carrier services / tracking, package count, status events.
    • get_sales_summaryReadOrders and revenue per period, in the shop's base currency.
    • get_top_articlesReadBest-selling articles in a window, aggregated from order line items.
    • list_customersReadList registered customers (newest first by default).
    • count_customersReadCount customers matching the filters (exact total, no paging).
    • get_customerReadGet one customer (addresses, info incl. note, groups).
    • list_customer_groupsReadList customer groups (B2B tiers, VIP, staff …).
    • list_custom_pagesReadList the shop's content pages (Admin → Sidor / Mina sidor): uid, name, url, hidden.
    • get_custom_pageReadGet one content page with every stored property (name, url, meta description/keywords by language, item uids).
    • list_discountsReadList discounts / campaigns (uid, name, active, type — e.g.
    • get_discountReadGet one discount with every stored property (codes, rules, validity).

    Write 8 · creates or changes something

    • create_articleWriteCreate an article. `patch` holds the properties to set, e.g. {"name": {"sv": "…"}, "articleNumber": "A-1", "price": {"regular": {"SEK": 199}}, "articlegroup": 123, "showInArticlegroups": [123], "draft": true}. Create…
    • update_articleWriteUpdate an article: set only the properties in `patch` (e.g. price, stock, name/description/pageTitle/metaDescription per language, hidden, draft, showInArticlegroups).
    • update_article_groupWriteUpdate an article group (name/description/pageTitle/metaDescription per language, hidden, parent).
    • update_orderWriteUpdate administrative order fields: note, tags, externalOrderNumber, deliveryStatus, customer address details.
    • update_customerWriteUpdate a customer: groups, approved, info.note / info.newsletter / info.customerNumber, address fields.
    • create_discountWriteCreate a discount, e.g. {"name": {"sv": "Höstrea"}, "active": false, "type": "Percentage", …}. Call get_schema("Discount") for the writable properties of each discount type, and create it inactive unless it should…
    • update_discountWriteUpdate a discount — e.g. {"active": false} to pause a campaign.
    • call_methodWriteCall any documented Abicart API method (https://developer.abicart.se/api-classes/) that has no dedicated tool here — e.g. "Giftcertificate.get", "PriceList.list", "Shipment.get", "Suborder.list", "Subscription.list".

    Exact input schemas come from tools/list once Abicart is connected; the free plan is enough to check. Missing something? Your agent can ask for it with request_feature.