Appearance
Group
Reference for the 7 CryptoComply MCP tools in the Group family.
Tools in this group
group_creategroup_field_schema_getgroup_listgroup_retrievegroup_screening_schedule_updategroup_sections_editgroup_update
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 (sectionoptional; 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.