# products_get_categories

Get product categories

Agent View of the PolicyLayer registry record for `products_get_categories`. HTML page: https://policylayer.com/tools/jiantmo-mcp-commerce/products-get-categories

## Facts

- Tool: `products_get_categories`
- Server: MCP Dynamics 365 Commerce Server (`jiantmo/mcp-commerce`) — https://policylayer.com/tools/jiantmo-mcp-commerce.md
- Homepage: https://github.com/jiantmo/mcp-commerce
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "products_get_categories",
    "arguments": {}
  }
}
```

## Why products_get_categories is rated Low

This tool retrieves product category data from the Dynamics 365 Commerce system. It performs a read-only query operation that returns information without altering any data, executing code, or triggering external operations. The blast radius of misuse is minimal—an AI agent could at worst retrieve unwanted category information, but cannot modify inventory, execute commands, or cause financial harm.

From the tool's own definition: "Tool name 'products_get_categories' uses the verb 'get', and description states 'Get product categories' — a retrieval operation with no modifications or side effects."

## Use case

AI agents call products_get_categories to retrieve information from MCP Dynamics 365 Commerce Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches MCP Dynamics 365 Commerce Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "products_get_categories": {}
  }
}
```

## Other tools on MCP Dynamics 365 Commerce Server (325)

- `cart_delete_entity` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-delete-entity.md
- `cart_remove_cart_lines` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-remove-cart-lines.md
- `example_delete_entity` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/example-delete-entity.md
- `operations_void_suspended_transactions` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/operations-void-suspended-transactions.md
- `product_lists_delete_entity` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/product-lists-delete-entity.md
- `product_lists_remove_product_list_lines` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/product-lists-remove-product-list-lines.md
- `products_remove_from_wishlist` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/products-remove-from-wishlist.md
- `shifts_delete_shifts` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/shifts-delete-shifts.md
- `shifts_force_delete` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/shifts-force-delete.md
- `shifts_void_suspended_carts` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/shifts-void-suspended-carts.md
- `stock_count_journal_remove_journal` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/stock-count-journal-remove-journal.md
- `stock_count_journal_remove_transaction` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/stock-count-journal-remove-transaction.md
- `stock_count_remove_line_by_line_id` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/stock-count-remove-line-by-line-id.md
- `stock_count_remove_line_by_product_rec_id` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/stock-count-remove-line-by-product-rec-id.md
- `tender_drop_create_transaction` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/tender-drop-create-transaction.md
- `transfer_order_delete_entity` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/transfer-order-delete-entity.md
- `transfer_order_delete_transfer_order_lines` — Destructive — https://policylayer.com/tools/jiantmo-mcp-commerce/transfer-order-delete-transfer-order-lines.md
- `cart_recalculate_order` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-recalculate-order.md
- `sales_orders_fulfillment_ship_fulfillment_lines` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/sales-orders-fulfillment-ship-fulfillment-lines.md
- `salesorder_checkin_for_order_pickup` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/salesorder-checkin-for-order-pickup.md
- `shifts_blind_close` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/shifts-blind-close.md
- `shifts_resume` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/shifts-resume.md
- `shifts_use` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/shifts-use.md
- `stock_count_journal_commit` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/stock-count-journal-commit.md
- `stock_count_journal_sync_transactions` — Execute — https://policylayer.com/tools/jiantmo-mcp-commerce/stock-count-journal-sync-transactions.md
- `cart_cashout_gift_card` — Financial — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-cashout-gift-card.md
- `cart_checkout` — Financial — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-checkout.md
- `cart_issue_gift_card` — Financial — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-issue-gift-card.md
- `cart_refill_gift_card` — Financial — https://policylayer.com/tools/jiantmo-mcp-commerce/cart-refill-gift-card.md
- `loyaltycard_redeem_points` — Financial — https://policylayer.com/tools/jiantmo-mcp-commerce/loyaltycard-redeem-points.md
- …and 295 more: https://policylayer.com/tools/jiantmo-mcp-commerce.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=jiantmo-mcp-commerce · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/jiantmo-mcp-commerce
