# categories_get_categories

Gets categories by OData query.

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

## Facts

- Tool: `categories_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": "categories_get_categories",
    "arguments": {}
  }
}
```

## Why categories_get_categories is rated Low

This tool retrieves product or entity categories from the Dynamics 365 Commerce system without modifying, deleting, or executing any operations. OData queries are typically used for data retrieval. The blast radius of misuse is minimal—an AI agent could only retrieve data it shouldn't see, not modify or destroy anything.

From the tool's own definition: "Tool name 'categories_get_categories' and description 'Gets categories by OData query' indicate a retrieval operation with no side effects. The verb 'gets' and the use of OData query (standard for read-only queries) confirm this is a read operation."

## Use case

AI agents call categories_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": {
    "categories_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
