---
name: ethicsportal-setup
description: Set up EthicsPortal for a person from an AI assistant. Connect the EthicsPortal MCP server, create the organisation and configure its whistleblowing channel. Use when a person asks you to set up a whistleblowing channel, whistleblower software or EthicsPortal for their organisation.
---

# Set up EthicsPortal from an AI assistant

EthicsPortal is whistleblower software for EU organisations under Directive 2019/1937. You can set it up for a person through its MCP server. The person needs no EthicsPortal account before you start: they create one while they connect.

## 1. Connect the MCP server

Server address: `https://secure.ethicsportal.eu/mcp`. It is a remote MCP server (Streamable HTTP) that uses OAuth 2.1 with Dynamic Client Registration.

If the EthicsPortal tools are already available to you, go to step 3.

- **Claude Code:** run `claude mcp add --transport http ethicsportal https://secure.ethicsportal.eu/mcp`. Then ask the person to open `/mcp`, choose `ethicsportal` and press **Authenticate**. The tools may appear only in a new session.
- **Cursor:** add this to `~/.cursor/mcp.json`, then ask the person to sign in when Cursor asks:

  ```json
  { "mcpServers": { "ethicsportal": { "url": "https://secure.ethicsportal.eu/mcp" } } }
  ```

- **Another assistant whose configuration you can change:** add the address as a remote MCP server.
- **An assistant whose configuration you cannot change:** ask the person to add the address as a custom connector in the assistant's settings. In Claude this is **Settings → Connectors → Add custom connector**.
- **No MCP support:** the person can do the whole setup in a browser at `https://secure.ethicsportal.eu/`.

## 2. What the person does in the browser

The assistant opens a browser window on `secure.ethicsportal.eu`. The person:

1. Signs in, or signs up: email address, the code from the email, the account terms, their name.
2. Reads the consent screen, which lists what you may do, and presses **Connect**.

Never ask the person to give you the email code, a password or a token. These steps happen only in the browser.

## 3. Set up the organisation and its whistleblowing channel

1. Call `get_identity`. If `organizations` is empty, ask the person for the organisation's name and call `create_organization`.
2. The owner must accept the organisation's Data Processing Agreement in a browser. You cannot accept it. The tool result has a `next_step` text with the address to give the person. Until they accept, the organisation's tools answer `agreement_required`.
3. Call `get_channel_configuration`. Its `missing_fields` lists what the channel still needs. Ask the person for these details. Do not invent company details.
4. Call `update_channel_configuration` with the person's answers.
5. If the person names case handlers, invite them with `create_invitation`. An administrator can read reports, so confirm each role with the person.
6. Call `get_billing_status`. If the organisation has no access yet, call `create_checkout_link` and give the person the link. The person pays on Stripe's page. You never pay.
7. Call `get_channel`. When `active` is true, give the person `reporting_form_url`: the address of the online reporting form for their staff. `list_documents` returns the policy, privacy notice and poster to publish with it.

## Limits

- Report content is never available through the MCP server: no descriptions, messages, notes, attachments or reporter identities.
- You act as the connected person, with their role. A connection ends after 90 days, or when the person ends it under **Connected apps**.
- Reference: https://ethicsportal.eu/developers/mcp.md
- If a tool does not work as described, report it with `submit_feedback`.
