MCP tools

ISO-STANDARD.app exposes a Model Context Protocol (MCP) server so ChatGPT, Claude, Cursor and other MCP-aware assistants can act as the signed-in user against your workspaces. All tool calls run under the same row-level security as the app — an assistant only ever sees the workspaces you're a member of.

Server URL
https://iso-standard.app/mcp
Auth: OAuth 2.1 · Transport: Streamable HTTP

Add the URL to your MCP client. You'll be sent through Supabase login and a consent screen; after approving, the client can call any of the tools below.

list_organizations

List your workspaces

read-only

Returns the workspaces (organizations) the signed-in user is a member of, with their role. Use the returned id as organization_id in every other tool.

Inputs

None.

Example call

{
  "name": "list_organizations",
  "arguments": {}
}

list_risks

List risks

read-only

Lists risks in a workspace's risk register (title, category, likelihood, impact, status, strategy, owner). RLS restricts results to the signed-in user's workspaces.

Inputs

NameTypeRequiredDescription
organization_iduuidyesWorkspace id from list_organizations.
status'open' | 'mitigated' | 'accepted' | 'closed'noFilter by risk status.
limitinteger (1-200)noMax rows (default 50).

Example call

{
  "name": "list_risks",
  "arguments": {
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "status": "open",
    "limit": 25
  }
}

create_risk

Create risk

writes data

Adds a new risk to a workspace's risk register. Likelihood and impact are 1-5. Requires an editor role in the target workspace (enforced by RLS).

Inputs

NameTypeRequiredDescription
organization_iduuidyesWorkspace id from list_organizations.
titlestring (1-240)yesShort risk title.
likelihoodinteger 1-5yesLikelihood rating.
impactinteger 1-5yesImpact rating.
descriptionstring (≤4000)noDetailed description.
categorystring (≤120)noe.g. 'Information Security'.
ownerstring (≤120)noOwner name or role.

Example call

{
  "name": "create_risk",
  "arguments": {
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "title": "Unencrypted laptop backups",
    "category": "Information Security",
    "likelihood": 3,
    "impact": 4,
    "owner": "Information Security Manager"
  }
}

list_controls

List controls

read-only

Lists controls implemented in a workspace (ISO 27001 Annex A, ISO 9001, ISO 42001, etc.) with reference, framework, status and owner.

Inputs

NameTypeRequiredDescription
organization_iduuidyesWorkspace id.
frameworkstring (≤60)noe.g. 'ISO 27001'.
statusstring (≤60)noFilter by control status.
limitinteger (1-500)noMax rows (default 100).

Example call

{
  "name": "list_controls",
  "arguments": {
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "framework": "ISO 27001"
  }
}

list_policies

List policy documents

read-only

Lists policy documents in a workspace with standard, reference, title, status and version. Does not return the full policy body.

Inputs

NameTypeRequiredDescription
organization_iduuidyesWorkspace id.
statusstring (≤60)noe.g. 'draft', 'adopted'.
limitinteger (1-200)noMax rows (default 50).

Example call

{
  "name": "list_policies",
  "arguments": {
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "status": "adopted"
  }
}

list_assets

List information assets

read-only

Lists information assets in a workspace (systems, data stores, suppliers, etc.) with type, owner and description.

Inputs

NameTypeRequiredDescription
organization_iduuidyesWorkspace id.
limitinteger (1-500)noMax rows (default 100).

Example call

{
  "name": "list_assets",
  "arguments": {
    "organization_id": "00000000-0000-0000-0000-000000000000"
  }
}

list_tasks

List Statement of Applicability tasks

read-only

Lists open implementation tasks (SoA tasks) in a workspace with title, due date, status and owner. Useful for triaging what still needs to be done for certification.

Inputs

NameTypeRequiredDescription
organization_iduuidyesWorkspace id.
statusstring (≤60)noFilter by task status.
limitinteger (1-200)noMax rows (default 100).

Example call

{
  "name": "list_tasks",
  "arguments": {
    "organization_id": "00000000-0000-0000-0000-000000000000",
    "status": "open"
  }
}

Something missing? Email hello@iso-standard.app — we add new MCP tools regularly.