# actual_category_groups_create

Create a new category group in Actual Budget. Category groups help organize categories into logical sections (e.g.,

Agent View of the PolicyLayer registry record for `actual_category_groups_create`. HTML page: https://policylayer.com/tools/actual/actual-category-groups-create

## Facts

- Tool: `actual_category_groups_create`
- Server: Actual (`actual-mcp-server`) — https://policylayer.com/tools/actual.md
- Install: `npx -y actual-mcp-server`
- Homepage: git+https://github.com/agigante80/actual-mcp-server.git
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why actual_category_groups_create is rated Medium

This tool creates new data (category groups) in a financial management system, which is a reversible write operation. It does not delete data (thus not Destructive), does not execute arbitrary code (thus not Execute), and does not directly move money (thus not Financial, though it operates within a financial application).

From the tool's own definition: "Tool name includes 'create' and description states 'Create a new category group in Actual Budget', which modifies the budget structure by adding new organizational entities."

## Use case

AI agents use actual_category_groups_create to create or update resources in Actual, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Actual environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Actual:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "actual_category_groups_create": {
      "limits": [
        {
          "counter": "actual_category_groups_create_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Actual (63)

- `actual_accounts_delete` — Destructive — https://policylayer.com/tools/actual/actual-accounts-delete.md
- `actual_categories_delete` — Destructive — https://policylayer.com/tools/actual/actual-categories-delete.md
- `actual_category_groups_delete` — Destructive — https://policylayer.com/tools/actual/actual-category-groups-delete.md
- `actual_payees_delete` — Destructive — https://policylayer.com/tools/actual/actual-payees-delete.md
- `actual_rules_delete` — Destructive — https://policylayer.com/tools/actual/actual-rules-delete.md
- `actual_schedules_delete` — Destructive — https://policylayer.com/tools/actual/actual-schedules-delete.md
- `actual_tags_delete` — Destructive — https://policylayer.com/tools/actual/actual-tags-delete.md
- `actual_transactions_delete` — Destructive — https://policylayer.com/tools/actual/actual-transactions-delete.md
- `actual_bank_sync` — Execute — https://policylayer.com/tools/actual/actual-bank-sync.md
- `actual_query_run` — Execute — https://policylayer.com/tools/actual/actual-query-run.md
- `actual_session_close` — Other — https://policylayer.com/tools/actual/actual-session-close.md
- `actual_accounts_list` — Read — https://policylayer.com/tools/actual/actual-accounts-list.md
- `actual_budgets_get_all` — Read — https://policylayer.com/tools/actual/actual-budgets-get-all.md
- `actual_budgets_getMonth` — Read — https://policylayer.com/tools/actual/actual-budgets-getmonth.md
- `actual_budgets_getMonths` — Read — https://policylayer.com/tools/actual/actual-budgets-getmonths.md
- `actual_budgets_list_available` — Read — https://policylayer.com/tools/actual/actual-budgets-list-available.md
- `actual_categories_get` — Read — https://policylayer.com/tools/actual/actual-categories-get.md
- `actual_category_groups_get` — Read — https://policylayer.com/tools/actual/actual-category-groups-get.md
- `actual_entities_search` — Read — https://policylayer.com/tools/actual/actual-entities-search.md
- `actual_get_id_by_name` — Read — https://policylayer.com/tools/actual/actual-get-id-by-name.md
- `actual_notes_get` — Read — https://policylayer.com/tools/actual/actual-notes-get.md
- `actual_payee_rules_get` — Read — https://policylayer.com/tools/actual/actual-payee-rules-get.md
- `actual_payees_common_list` — Read — https://policylayer.com/tools/actual/actual-payees-common-list.md
- `actual_payees_get` — Read — https://policylayer.com/tools/actual/actual-payees-get.md
- `actual_rules_get` — Read — https://policylayer.com/tools/actual/actual-rules-get.md
- `actual_schedules_get` — Read — https://policylayer.com/tools/actual/actual-schedules-get.md
- `actual_server_info` — Read — https://policylayer.com/tools/actual/actual-server-info.md
- `actual_session_list` — Read — https://policylayer.com/tools/actual/actual-session-list.md
- `actual_tags_list` — Read — https://policylayer.com/tools/actual/actual-tags-list.md
- `actual_transactions_filter` — Read — https://policylayer.com/tools/actual/actual-transactions-filter.md
- …and 33 more: https://policylayer.com/tools/actual.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=actual · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/actual
