# Strise MCP Server

## Description

Strise is an AI-powered AML (Anti-Money Laundering) automation platform for KYB/KYC compliance. The Strise MCP server gives Claude direct access to Strise's compliance intelligence — search companies and persons, retrieve risk assessments, manage reviews, and monitor entities for sanctions, PEP status, and adverse media.

## Features

- **Entity Search & Lookup** — Search companies, business persons, and private persons by name or organization number
- **Risk & Compliance** — Retrieve risk summaries with sanction/PEP screening, adverse media results, and calculated risk scores
- **Company Intelligence** — Access financials, ownership structures, board roles, branches, registers, credit reports, and more
- **Review Management** — Create and track compliance reviews with approval/disapproval decisions and risk assessments
- **Perpetual Monitoring** — Add entities to continuous monitoring and receive alerts on changes
- **Adverse Media Screening** — Review AMS hits and create dispositions (confirm true/false)
- **Entity Management** — Update statuses, manage custom registers, connect entities, and log team activities
- **Team Settings** — Read your team's settings, propose changes that Strise validates and shows side by side with the current values, and apply them once you confirm

## Setup

1. Visit the [Anthropic MCP Directory](https://claude.com/connectors)
2. Find and connect to **Strise**
3. Complete OAuth authentication with your Strise account
4. Start using Strise tools in Claude

## Authentication

This server requires OAuth 2.0 authentication. You need:
- A valid Strise platform account
- Access to at least one team in Strise

## Examples

### Example 1: Research a Company for Compliance Review

**User prompt:** "Look up the Norwegian company with organization number 923609016 and give me a compliance summary including risk score, ownership, and any sanctions or PEP hits."

**What happens:**
1. `lookup_company` finds the company by its registration number in Norway
2. `get_entity_risk_summary` retrieves the calculated risk score, sanction screening, and PEP screening results
3. `get_entity_ownership` retrieves the ownership structure and beneficial owners (UBOs)
4. Claude synthesizes a compliance summary with risk level, beneficial owners, and any flags

### Example 2: Screen a Person for Sanctions and PEP Status

**User prompt:** "Search for a person named 'John Smith' and check if they have any sanctions or PEP flags."

**What happens:**
1. `search_entities` searches for the person by name with `returnType: PERSON`
2. `get_entity_risk_summary` retrieves sanction and PEP screening results for the matching person
3. `get_entity_roles` shows the person's board memberships and executive roles
4. Claude reports whether any sanctions or PEP matches were found, along with the person's corporate roles

### Example 3: Review and Approve a Client

**User prompt:** "Review and approve Acme Corp (company ID abc-123) as low risk with a note that KYC documents are verified."

**What happens:**
1. `get_entity_risk_summary` retrieves the current risk assessment to confirm the risk level
2. `create_company_review` creates a compliance review with status APPROVED, risk level LOW, and the provided comment
3. `update_entity_status` updates the entity status to ACCOUNT
4. Claude confirms the review was created and the company status was updated

### Example 4: Monitor Adverse Media for a Portfolio Entity

**User prompt:** "Check the adverse media screening results for company xyz-456 and mark any irrelevant hits as false."

**What happens:**
1. `get_entity_ams_events` retrieves all AMS (Adverse Media Screening) hits for the entity
2. Claude presents the media hits with sources and categorizations
3. For hits identified as irrelevant, `create_ams_event_disposition` marks them as CONFIRMED_FALSE with a comment
4. Claude provides a summary of dispositioned vs remaining hits

### Example 5: Onboard a Private Person for Monitoring

**User prompt:** "Search for private person 'Jane Doe' in Sweden, check her risk profile, and add her to perpetual monitoring."

**What happens:**
1. `search_private_persons` searches by name with country filter SE
2. `get_private_person_details` retrieves the person's details
3. `get_entity_risk_summary` checks for sanctions, PEP, and adverse media flags
4. `add_private_person_to_monitoring` enables continuous screening
5. Claude confirms the person is now monitored and summarizes initial risk findings

### Example 6: Align Team Settings With a Compliance Policy

**User prompt:** "Here are our updated AML procedures. Check our Strise settings against them and suggest changes."

**What happens:**
1. `get_team_settings_schema` lists the settings sections, the rules each one enforces, and whether you can edit them
2. `get_team_settings` reads the current settings and their version
3. `propose_team_settings_changes` validates the changes the procedures call for and returns every setting they would alter
4. Claude shows you the changes, and points out requirements that no setting covers
5. After you confirm, `apply_team_settings_changes` saves them as a new settings version under your name, with your justification

---

## Tools

This guide covers common tools. Use MCP `tools/list` for the current names and input
schemas available to your authenticated session. Team-scoped calls use an explicit
`teamId`, then the `X-Strise-Team` header, then your only team. If you belong to
multiple teams, select one explicitly; `list_my_teams` lists your choices.

### Search & Discovery

#### search_entities
Search for companies, business persons, or private persons by name or keyword. Use the returned entity IDs with detail and risk tools for deeper analysis. If several results match the user's wording, list them and ask which one is meant before changing any data.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Name or keyword to search for |
| `returnType` | `ALL` \| `COMPANY` \| `PERSON` \| `PRIVATE_PERSON` | No | Entity type filter (default: ALL) |
| `first` | number | No | Max results 1–50 (default: 10) |

- Read-only: yes
- Destructive: no

**Example prompt:** "Search for companies matching 'Equinor'"

---

#### search_private_persons
Search for private persons (individuals not publicly registered as business persons) by name. Optionally filter by country.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Full or partial name to search for |
| `country` | string (ISO 3166-1 alpha-2) | No | Country code filter |

- Read-only: yes
- Destructive: no

**Example prompt:** "Search for private person 'Maria Hansen' in Norway"

---

#### lookup_company
Look up a company by its official organization or registration number. Requires the country where the company is registered.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `organizationNumber` | string | Yes | Official registration number |
| `country` | string (ISO 3166-1 alpha-2) | Yes | Country where the company is registered |

- Read-only: yes
- Destructive: no

**Example prompt:** "Look up Norwegian company with org number 923609016"

---

### Entity Details

#### get_company_details
Retrieve detailed company information including registration details, addresses, industry codes, and corporate purpose.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

**Example prompt:** "Get details for company abc-123"

---

#### get_person_details
Retrieve detailed information about a business person including nationality, citizenship, residence, and addresses.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `personId` | string | Yes | Strise person ID |

- Read-only: yes
- Destructive: no

**Example prompt:** "Get details for person def-456"

---

#### get_private_person_details
Retrieve detailed information about a private person including citizenship, registered country, and addresses.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `personId` | string | Yes | Strise private person ID |

- Read-only: yes
- Destructive: no

**Example prompt:** "Get details for private person ghi-789"

---

### Risk & Compliance

#### get_entity_risk_summary
Retrieve the risk summary for any entity, including calculated risk score, sanction screening results, and PEP screening results.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID (company, person, or private person) |

- Read-only: yes
- Destructive: no

**Example prompt:** "What is the risk score for company abc-123?"

---

#### get_entity_reviews
Retrieve compliance reviews for an entity. Returns review history including status, reviewer, and review data.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `isPrivatePerson` | boolean | No | Set to true for private persons (default: false) |

- Read-only: yes
- Destructive: no

**Example prompt:** "Show me the review history for company abc-123"

---

#### get_entity_ams_events
Retrieve Adverse Media Screening (AMS) events for an entity. Returns media hits flagged as potentially adverse, including source details and categorization.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |

- Read-only: yes
- Destructive: no

**Example prompt:** "Show adverse media hits for company abc-123"

---

### Company Data

#### get_company_branches
Retrieve branch/subsidiary offices for a company.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_financials
Retrieve financial data including annual accounts, revenue, profit, equity, and other financial metrics.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

**Example prompt:** "What are the latest financials for company abc-123?"

---

#### get_company_real_estate
Retrieve real estate properties owned by a company.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_collateral
Retrieve collateral/security interests registered against a company.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_credit_report
Retrieve the credit report including credit score, rating, and payment behavior data.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

**Example prompt:** "Get the credit report for company abc-123"

---

#### get_company_ccj_report
Retrieve County Court Judgments (CCJ) report for a UK company.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_registers
Retrieve public register entries for a company, such as trade register, VAT register, and other official registrations.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_documents
Retrieve uploaded documents associated with a company, such as compliance documents, certificates, and reports.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_reminders
Retrieve reminders/tasks set for a company, including due dates, assignees, and completion status.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_company_team_activities
Retrieve team activity log for a company, including review actions, status changes, and other team interactions.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |
| `limit` | number | No | Max activities to return, 1–100 (default: 50) |

- Read-only: yes
- Destructive: no

---

#### get_company_connected_entities
Retrieve custom/manually connected entities linked to a company, such as related persons or organizations added by the team.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

#### get_idv_persons
Retrieve Identity Verification (IDV) check results for persons associated with a company.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |

- Read-only: yes
- Destructive: no

---

### Entity Structure

#### get_entity_ownership
Retrieve ownership and beneficial ownership (UBO) details, including direct owners, beneficial owners, and ownership percentages.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |
| `beneficialOwnerThreshold` | number | No | UBO threshold percentage 0–100 (default: 25) |

- Read-only: yes
- Destructive: no

**Example prompt:** "Who are the beneficial owners of company abc-123 at a 25% threshold?"

---

#### get_entity_roles
Retrieve business roles (board members, executives, signatories, etc.) for a company, person, or private person.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `filterActive` | boolean | No | Filter to only active roles (default: true) |

- Read-only: yes
- Destructive: no

**Example prompt:** "Who are the board members of company abc-123?"

---

#### get_entity_events
Retrieve the event feed for an entity, including news articles, regulatory changes, and other relevant events.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `limit` | number | No | Max events 1–50 (default: 20) |

- Read-only: yes
- Destructive: no

**Example prompt:** "Show recent events for company abc-123"

---

### Private Person Data

#### get_connected_business_persons
Retrieve business persons connected to a private person, showing their corporate relationships and roles.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `privatePersonId` | string | Yes | Strise private person ID |

- Read-only: yes
- Destructive: no

---

### Monitoring & Alerts

#### list_alerts
List monitoring alerts for the current team's watched entities. Alerts are triggered by changes in entity data such as new flags, ownership changes, or sanctions updates.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityKind` | `COMPANY` \| `PRIVATE_PERSON` | No | Entity type filter (default: COMPANY) |

- Read-only: yes
- Destructive: no

**Example prompt:** "Show me all current monitoring alerts for companies"

---

### Review Management

#### create_company_review
Create a compliance review for a company. Sets the review status, risk level, and optional risk assessment.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise company entity ID |
| `reviewStatus` | `APPROVED` \| `DISAPPROVED` | Yes | Review decision |
| `comment` | string | No | Review comment |
| `riskLevel` | string | Yes | Risk level the reviewer assigns |
| `calculatedRiskLevel` | string | No | Calculated risk level |
| `entityStatus` | string | No | Entity status to set after review |

- Read-only: no
- Destructive: no

**Example prompt:** "Approve company abc-123 as low risk with comment 'KYC verified'"

---

#### create_private_person_review
Create a compliance review for a private person. Sets the review status, risk level, and optional risk assessment.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `privatePersonId` | string | Yes | Strise private person ID |
| `reviewStatus` | `APPROVED` \| `DISAPPROVED` | Yes | Review decision |
| `comment` | string | No | Review comment |
| `riskLevel` | string | Yes | Risk level the reviewer assigns |
| `calculatedRiskLevel` | string | No | Calculated risk level |

- Read-only: no
- Destructive: no

---

### Adverse Media Screening

#### create_ams_event_disposition
Create a disposition for an adverse media screening event. Mark an AMS hit as confirmed true or confirmed false.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID the event belongs to |
| `eventId` | string | Yes | AMS event ID to disposition |
| `clusteredEventIds` | string[] | No | Related clustered event IDs (default: []) |
| `status` | `CONFIRMED_TRUE` \| `CONFIRMED_FALSE` | Yes | Disposition decision |
| `comment` | string | No | Comment explaining the disposition |

- Read-only: no
- Destructive: no

**Example prompt:** "Mark AMS event evt-789 for entity abc-123 as confirmed false — it's about a different company with the same name"

---

#### create_custom_ams_event
Create a custom adverse media screening event for an entity. Manually add a news article or media event for AMS tracking.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `title` | string | Yes | Title of the article |
| `url` | string | Yes | URL of the source |
| `publishedAt` | string (ISO 8601) | Yes | Publication date |
| `language` | string | Yes | Article language |
| `relatedEntityIds` | string[] | Yes | Related entity IDs |
| `publisher` | string | No | Publisher name |
| `summary` | string | No | Article summary |

- Read-only: no
- Destructive: no

---

### Report Ordering

#### order_credit_report
Order a credit report for a company from the credit bureau.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |
| `customerId` | string | Yes | Customer (portfolio) ID |

- Read-only: no
- Destructive: no

---

#### order_ccj_report
Order a County Court Judgment (CCJ) report for a company.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |
| `customerId` | string | Yes | Customer (portfolio) ID |

- Read-only: no
- Destructive: no

---

### Custom Registers

#### create_custom_register
Create a custom register entry for an entity. Registers track regulatory registrations, licenses, and permits.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `name` | string | Yes | Register or license name |
| `status` | `REGISTERED` \| `UNREGISTERED` | Yes | Registration status |
| `comment` | string | No | Comment |
| `source` | string | No | Source of the information |
| `registeredSince` | string (ISO 8601) | No | Registration date |
| `sourceTimestamp` | string (ISO 8601) | No | Source timestamp |

- Read-only: no
- Destructive: no

---

#### update_custom_register
Update an existing custom register entry.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registerId` | string | Yes | Custom register ID |
| `name` | string | Yes | Register or license name |
| `status` | `REGISTERED` \| `UNREGISTERED` | Yes | Registration status |
| `comment` | string | No | Comment |
| `source` | string | No | Source of the information |
| `registeredSince` | string (ISO 8601) | No | Registration date |
| `sourceTimestamp` | string (ISO 8601) | No | Source timestamp |

- Read-only: no
- Destructive: no

---

#### delete_custom_register
Delete a custom register entry.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registerId` | string | Yes | Custom register ID |

- Read-only: no
- Destructive: **yes**

---

### Ownership Management

#### update_entity_owner
Update ownership details for an entity owner, including ownership percentage.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Company whose ownership is being viewed |
| `ownerEntityId` | string | Yes | Entity ID of the owner being updated |
| `ownership` | number | No | Ownership percentage 0–100 |
| `previousOwnership` | number | No | Previous ownership percentage |
| `comment` | string | No | Comment about the ownership edit |

- Read-only: no
- Destructive: no

---

#### reset_entity_owners
Reset all ownership edits for an entity back to original data source values.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |

- Read-only: no
- Destructive: **yes**

---

### Role Management

#### update_entity_role
Update a business role for an entity.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Company whose roles are being viewed |
| `roleEntityId` | string | Yes | Person whose role is being updated |
| `roleTitleId` | string | Yes | Role title ID |
| `periodFrom` | string (ISO 8601) | No | Role start date |
| `periodTo` | string (ISO 8601) | No | Role end date |
| `previousRoleTitleId` | string | No | Previous role title ID |
| `previousPeriodFrom` | string (ISO 8601) | No | Previous start date |
| `previousPeriodTo` | string (ISO 8601) | No | Previous end date |
| `comment` | string | No | Comment about the role edit |

- Read-only: no
- Destructive: no

---

#### reset_entity_roles
Reset all role edits for an entity back to original data source values.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `entityType` | `company` \| `person` | Yes | Type of entity |

- Read-only: no
- Destructive: **yes**

---

### Entity Connections

#### connect_custom_company
Connect a custom company to a registered entity.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customCompanyId` | string | Yes | Custom company ID |
| `registeredEntityId` | string | Yes | Registered entity ID |
| `comment` | string | No | Comment about the connection |

- Read-only: no
- Destructive: no

---

#### connect_person
Connect one or more persons to a private person record for consolidated monitoring.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `privatePersonId` | string | Yes | Private person ID |
| `connections` | array | Yes | Array of `{ personToConnect, comment }` |

- Read-only: no
- Destructive: no

---

#### delete_custom_entity_connection
Delete the connection between a custom entity and a registered entity.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customEntityId` | string | Yes | Custom entity ID |

- Read-only: no
- Destructive: **yes**

---

#### remove_connected_persons
Remove connected persons from a private person record.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `privatePersonId` | string | Yes | Private person ID |
| `personsToRemove` | string[] | Yes | Person IDs to disconnect |

- Read-only: no
- Destructive: **yes**

---

### Entity Status

#### update_entity_status
Update a company or private person's status using its entity ID. When a search returned several matching entities, use the one the user confirmed.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID from a search or detail tool |
| `status` | string | Yes | EntityStatus value from the tool's input schema, such as ACCOUNT or PROSPECT |
| `teamId` | string | When ambiguous | Team to operate in; call list_my_teams for available teams |

- Read-only: no
- Destructive: no

**Example prompt:** "Set company abc-123 status to ACCOUNT"

---

#### add_companies_to_portfolio
Add up to 1,000 companies to the team portfolio in one call, the same way a portfolio CSV upload does. Companies already in the portfolio are left unchanged. The import runs in the background, so the companies appear in the portfolio over the following minutes.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyIds` | string[] | Yes | 1–1,000 Strise company IDs |
| `status` | string | No | EntityStatus for the added companies (default: ACTIVE) |
| `addToMonitoring` | boolean | No | Whether the added companies are monitored (default: true) |
| `teamId` | string | When ambiguous | Team to operate in |

- Read-only: no
- Destructive: no

**Example prompt:** "Add these 300 companies to our portfolio as ACTIVE and monitor them"

---

#### remove_entity_status
Remove the status from a company or private person.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entityId` | string | Yes | Strise entity ID |
| `teamId` | string | When ambiguous | Team to operate in |

- Read-only: no
- Destructive: **yes**

---

### Monitoring

#### add_private_person_to_monitoring
Add a private person to perpetual monitoring. The system will continuously check for changes in PEP status, sanctions, and adverse media.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `privatePersonId` | string | Yes | Strise private person ID |

- Read-only: no
- Destructive: no

**Example prompt:** "Add private person ghi-789 to perpetual monitoring"

---

#### remove_private_person_from_monitoring
Remove a private person from perpetual monitoring.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `privatePersonId` | string | Yes | Strise private person ID |

- Read-only: no
- Destructive: **yes**

---

### Team Activities

#### create_team_activity
Create a team activity (note, meeting, or call) for a company. Used to log interactions and notes on a company record.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |
| `kind` | `NOTE` \| `MEETING` \| `CALL` | Yes | Activity type |
| `timestamp` | string (ISO 8601) | Yes | Activity timestamp |
| `reminderStatus` | `ACTIVE` \| `INACTIVE` | No | Reminder status (default: INACTIVE) |
| `note` | string | No | Note or description |
| `assignee` | string | No | User ID to assign to |

- Read-only: no
- Destructive: no

**Example prompt:** "Log a note on company abc-123 that we had a KYC verification call today"

---

#### delete_team_activity
Delete a team activity from a company record.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companyId` | string | Yes | Strise company ID |
| `teamActivityId` | string | Yes | Team activity ID |

- Read-only: no
- Destructive: **yes**

---

### Team Settings

Anyone with access to team settings can read them. Proposing and applying changes needs the
settings:write permission, which Managers have. Users and Team Admins can't change settings. Claude
always shows you the proposed changes and asks you to confirm before it applies them. Strise saves
each applied change as a new settings version under your name, with your justification. You can
see it in the settings changelog.

#### get_team_settings_schema
Describe the settings sections: what each controls, whether your team has it, its input format and
the limits a save enforces. Also reports whether you can edit settings.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | string | No | Team to describe |

- Read-only: yes

---

#### get_team_settings
Read the team settings and their version. Pass `version` to read an earlier version.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | string | No | Team to read |
| `version` | integer | No | Settings version; omit for the current settings |

- Read-only: yes

---

#### propose_team_settings_changes
Validate changes without saving them. Returns each setting that would change, every reason a save
would be refused, and whether settings changed since the version the changes were prepared against.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | string | No | Team to change |
| `baseVersion` | integer | Yes | Version the changes were prepared against |
| `changes` | array of `{path, value}` | Yes | Settings to change, e.g. `{path: "pepSettings.nameSimilarityThreshold", value: 92}` |

- Read-only: yes

---

#### apply_team_settings_changes
Save confirmed changes as a new settings version. Refuses to save when someone changed the settings
since `baseVersion` or when Strise would refuse the changes. Custom risk fields are edited in the
Strise app.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamId` | string | No | Team to change |
| `baseVersion` | integer | Yes | Version the changes were proposed against |
| `justification` | string | Yes | Why the settings change, recorded on the version |
| `changes` | array of `{path, value}` | Yes | The confirmed changes |

- Read-only: no
- Destructive: no

**Example prompt:** "Raise our PEP name similarity threshold to 95 and apply it once I confirm"

---

## Privacy Policy

See our privacy policy: https://strise.ai/privacy-policy

## Support

- Email: support@strise.ai
- Website: https://strise.ai
