Skip to content

Group

Reference for the 7 CryptoComply MCP tools in the Group family.

Tools in this group

group_create

Read-only: no.

Create a new group. Spawns the 13 default ScreeningSchedule rows (one per screening_type x risk_rating combination), each defaulting to WEEKLY frequency. Tune those defaults later via the UI.

Two-step write tool. On success: {status: "ok", group_id, name}.

Parameters

  • organization_id (int, required) — Organization to create the group under.
  • name (str, required) — Group name (unique per org).
  • description (str, optional) — Free-text description.
  • screening_min_score (float | None, optional) — Minimum match score (0.0-1.0) for watchlist hits to materialise alerts.
  • confirm_token (str | None, optional) — Token from a prior dry-run call. Omit on the first call.

group_field_schema_get

Read-only: yes.

Read a group's field layout — the source of truth for what the group collects. Returns the compiled schema (both profile types, each section with its fields and their visible / order / field_label) AND the editable sections_configuration blob to base edits on: the group's stored blob, or the full default layout when it has none, so an edit never silently deletes a section by omission.

A group's field visibility drives three things: which fields an RFI can request, what shows on the profile page (a hidden field that already holds data is still shown and enforced, with a warning), and which fields an intake form may ask for (publishing a form that asks a field the group hides is rejected). Call this before group_sections_edit.

Returns {group_id, schema, sections_configuration}.

Parameters

  • organization_id (int, required) — Organization the group belongs to.
  • group_id (int, required) — Group id (from group_list).

group_list

Read-only: yes.

List groups for an organization. Groups bundle screening schedules, the minimum match score, and section visibility — every Profile belongs to one. Use to discover valid group_id values for other tools and to read group-level configuration.

Parameters

  • organization_id (int, required) — Organization to list groups for.
  • sort_by (Literal, optional) — Sort order. Prefix with '-' for descending (e.g. '-created_at' for newest first).
  • limit (int, optional) — Max results (1-100).
  • offset (int, optional) — Results to skip for pagination.

group_retrieve

Read-only: yes.

Get full details of one group: thresholds, section visibility, field configuration, and counts of profiles + blockchain addresses scoped to it.

Parameters

  • organization_id (int, required) — Organization the group belongs to.
  • group_id (int, required) — Group id (from group_list).

group_screening_schedule_update

Read-only: no.

Update a group's screening-schedule frequencies — the 13-row matrix of (screening_type, risk_rating) -> frequency that decides how often profiles / addresses in the group are re-screened. Pass only the rows to change; each frequency change also propagates to the matching profiles' / addresses' individual check schedules.

schedules is a list of {screening_type, risk_rating, frequency}. Valid screening_type: BLOCKCHAIN_ADDRESS, PARTY_SCREENING, NEGATIVE_NEWS. Valid risk_rating: UNKNOWN (blockchain only), LOW, MEDIUM, HIGH, SEVERE. Valid frequency codes come from screening_frequency_options. A (type, rating) combo the group has no schedule for is rejected.

Two-step write tool. On success: {status: 'ok', group_id, schedules_updated}.

Parameters

  • organization_id (int, required) — Organization the group belongs to.
  • group_id (int, required) — Group id (from group_list).
  • schedules (list, required) — Rows to change: [{screening_type, risk_rating, frequency}, ...].
  • confirm_token (str | None, optional) — Token from a prior dry-run call. Omit on the first call.

group_sections_edit

Read-only: no.

Edit a group's field / section visibility layout by surgical operations — never by resending the whole sections_configuration blob. Every group stores the COMPLETE layout (~100 field entries across all sections), so resending it risks silently reverting other fields' visibility or order; you send only the change. Read the current layout with group_field_schema_get first to learn the section and field keys you'll target.

operations is an ordered list applied atomically over the stored layout — if any operation is invalid the whole batch is rejected (a /operations/{index} pointer error) and nothing changes. profile_type on each op is individual or entity. Operations:

  • {op:'set_field', profile_type, field, visible?, order?, section?} — show / hide / reorder a field (section optional; the field is located automatically if omitted).
  • {op:'set_section', profile_type, section, visible?, order?, label?} — section visibility, order, or rename (label).
  • {op:'add_section', profile_type, section, label?, visible?, order?} — add a custom section.
  • {op:'move_field', profile_type, field, to_section} — place a field into another section.

Field keys must be ones the org offers (catalog + custom); unknown keys are rejected. Effects: hiding a field removes it from RFIs and from what an intake form may ask (a form asking a hidden field will not publish) and hides it on the profile page — except a hidden field that already holds data is still shown and enforced, with a warning. Exposure / identification THRESHOLDS are NOT editable via MCP yet.

Two-step write tool. On success: {status: 'ok', group_id}.

Parameters

  • organization_id (int, required) — Organization the group belongs to.
  • group_id (int, required) — Group id (from group_list).
  • operations (list, required) — Ordered layout operations (see the tool description); applied atomically.
  • confirm_token (str | None, optional) — Token from a prior dry-run call. Omit on the first call.

group_update

Read-only: no.

Update group metadata (name, description, min screening score).

For the rest of the group's configuration use the dedicated tools: group_screening_schedule_update (the 13-schedule frequency matrix) and group_sections_edit (field/section visibility, order, labels, custom sections — read the current layout first with group_field_schema_get). Exposure / identification-risk THRESHOLDS are NOT editable via MCP yet — configure them in the Risk Engine UI.

All fields optional. Two-step write tool. On success: {status: "ok", group_id, fields_updated}.

Parameters

  • organization_id (int, required) — Organization the group belongs to.
  • group_id (int, required) — Group id.
  • name (str | None, optional) — New group name.
  • description (str | None, optional) — New description.
  • screening_min_score (float | None, optional) — Minimum watchlist match score (0.0-1.0).
  • confirm_token (str | None, optional) — Token from a prior dry-run call. Omit on the first call.