Abicart tools in Cogny
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.
- Read (25): only reads data.
- Write (8): creates or changes something.
- Destructive (0): deletes, 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.
All tools
| Tool | Kind | What it does |
|---|---|---|
get_shop | Read | Get the connected webshop: name, URLs, languages, currencies, VAT settings, company info. |
list_delivery_methods | Read | List the shop's delivery (shipping) methods with rates and free-delivery thresholds. |
list_payment_methods | Read | List the shop's payment methods (e.g. |
get_schema | Read | Get the JSON Schema of an API class (Article, Order, Customer, Articlegroup, Discount, …). |
list_articles | Read | List articles (products) in the catalog. |
count_articles | Read | Count articles matching the filters (exact total, no paging). visible_only counts hidden=false and draft=false articles only. |
get_article | Read | Get one article by uid (not article number — use list_articles(article_number=…) for that). |
create_article | Write | Create 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_article | Write | Update an article: set only the properties in `patch` (e.g. price, stock, name/description/pageTitle/metaDescription per language, hidden, draft, showInArticlegroups). |
validate_article | Read | Dry-run an article create/update: validates `patch` against the schema without saving. |
list_article_groups | Read | List article groups (categories). |
get_article_group_tree | Read | Get the article-group hierarchy as a tree from `root_id` (null = whole shop). |
get_article_group | Read | Get one article group with description and SEO meta. |
update_article_group | Write | Update an article group (name/description/pageTitle/metaDescription per language, hidden, parent). |
list_orders | Read | List placed orders, newest first by default. |
count_orders | Read | Count orders matching the window/status filters (exact total, no paging). |
get_order | Read | Get one order with expanded line items, payments, delivery, full customer address block, note and exchange rate. |
get_order_shipments | Read | List shipments for an order: type, carrier services / tracking, package count, status events. |
update_order | Write | Update administrative order fields: note, tags, externalOrderNumber, deliveryStatus, customer address details. |
get_sales_summary | Read | Orders and revenue per period, in the shop's base currency. |
get_top_articles | Read | Best-selling articles in a window, aggregated from order line items. |
list_customers | Read | List registered customers (newest first by default). |
count_customers | Read | Count customers matching the filters (exact total, no paging). |
get_customer | Read | Get one customer (addresses, info incl. note, groups). |
update_customer | Write | Update a customer: groups, approved, info.note / info.newsletter / info.customerNumber, address fields. |
list_customer_groups | Read | List customer groups (B2B tiers, VIP, staff …). |
list_custom_pages | Read | List the shop's content pages (Admin → Sidor / Mina sidor): uid, name, url, hidden. |
get_custom_page | Read | Get one content page with every stored property (name, url, meta description/keywords by language, item uids). |
list_discounts | Read | List discounts / campaigns (uid, name, active, type — e.g. |
get_discount | Read | Get one discount with every stored property (codes, rules, validity). |
create_discount | Write | Create 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_discount | Write | Update a discount — e.g. {"active": false} to pause a campaign. |
call_method | Write | Call 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.