# Tool reference

> All 17 tools exposed by the cSquare MCP server, with parameters and credit costs.

Source: https://docs.csquaregrc.com/mcp/tools

Every tool returns a confidence-scored result. Credits are deducted from your workspace's AI credit balance per successful call.

| Tool | Group | Credits |
| --- | --- | --- |
| [`check_compliance`](#check_compliance) | Compliance | 5 |
| [`map_controls`](#map_controls) | Compliance | 10 |
| [`assess_gap`](#assess_gap) | Compliance | 15 |
| [`classify_evidence`](#classify_evidence) | Compliance | 3 |
| [`scan_horizon`](#scan_horizon) | Compliance | 10 |
| [`generate_report`](#generate_report) | Compliance | 20 |
| [`lookup_control`](#lookup_control) | Compliance | 1 |
| [`check_applicability`](#check_applicability) | Compliance | 2 |
| [`run_gap_analysis`](#run_gap_analysis) | Compliance | 15 |
| [`list_projects`](#list_projects) | Projects | 1 |
| [`narrate_project_status`](#narrate_project_status) | Projects | 2 |
| [`create_project`](#create_project) | Projects | 3 |
| [`add_project_task`](#add_project_task) | Projects | 1 |
| [`attach_evidence_to_project`](#attach_evidence_to_project) | Projects | 1 |
| [`link_project_to_control`](#link_project_to_control) | Projects | 2 |
| [`close_project`](#close_project) | Projects | 2 |
| [`draft_project_workflow_from_description`](#draft_project_workflow_from_description) | Projects | 5 |

## Compliance tools

### check_compliance

Run a compliance check against program controls. Returns compliance status with a confidence score and citations.

**Credits:** 5

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `program_id` | string (UUID) | Yes | The compliance program to check. |
| `control_ids` | string[] | No | Limit the check to these controls. |
| `scope` | "full" \| "quick" | No | Quick runs deterministic rules only; full adds AI analysis. |

### map_controls

Generate control mappings between two compliance frameworks.

**Credits:** 10

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `source_framework` | string | Yes | Source framework slug, for example soc2. |
| `target_framework` | string | Yes | Target framework slug, for example iso27001. |
| `control_ids` | string[] | No | Map only these source controls. |

### assess_gap

Run a readiness and gap assessment. Returns gaps, risk scores and remediation priorities.

**Credits:** 15

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `program_id` | string (UUID) | Yes | The program to assess. |
| `framework` | string | No | Framework slug to assess against. |
| `depth` | "quick" \| "standard" \| "deep" | No | Assessment depth. |

### classify_evidence

Classify and validate a piece of evidence. Returns its type, applicable controls and a quality score.

**Credits:** 3

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `evidence_description` | string | Yes | What the evidence shows. Up to 5,000 characters. |
| `file_url` | string | No | URL of the evidence file. |
| `program_id` | string (UUID) | No | Program context for control matching. |

### scan_horizon

Scan for regulatory changes and assess their impact on your compliance programs.

**Credits:** 10

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `jurisdictions` | string[] | No | Jurisdictions to scan. |
| `frameworks` | string[] | No | Framework slugs to scan. |
| `since` | string (ISO date) | No | Only changes after this date. |

### generate_report

Generate a compliance report for a program.

**Credits:** 20

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `program_id` | string (UUID) | Yes | The program to report on. |
| `report_type` | "executive_summary" \| "detailed" \| "audit_ready" \| "gap_analysis" | No | Report type. |
| `format` | "json" \| "markdown" | No | Output format. |

### lookup_control

Search compliance controls by keyword, framework or control ID.

**Credits:** 1

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes | Search text. Up to 500 characters. |
| `framework` | string | No | Filter by framework slug. |
| `limit` | number (1-100) | No | Maximum results. Default 10. |

### check_applicability

Work out which frameworks apply based on industry, geography and the data you process.

**Credits:** 2

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `industry` | string | No | Industry sector. |
| `jurisdictions` | string[] | No | Where you operate. |
| `data_types` | string[] | No | Data types processed, for example PHI or cardholder data. |
| `company_size` | "startup" \| "smb" \| "mid-market" \| "enterprise" | No | Company size. |

### run_gap_analysis

Run an on-demand gap analysis at control, program, report or organization scope. Returns risks, coverage gaps and remediation recommendations.

**Credits:** 15

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `scope` | "control" \| "program" \| "report" \| "organization" | Yes | Analysis scope. |
| `scope_id` | string (UUID) | No | Control or program ID. Required unless scope is organization. |
| `depth` | "quick" \| "standard" \| "deep" | No | Analysis depth. |

## Projects tools

### list_projects

List projects (remediation, regulator or customer inquiries, vendor actions, incident response) for your organization, including the General project.

**Credits:** 1

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `state` | "open" \| "closed" \| "all" | No | Filter by state. Default all. |
| `project_type` | string | No | Filter by project type. |
| `limit` | number (1-200) | No | Maximum rows. Default 50. |

### narrate_project_status

Summarize one project: objective, state, task and evidence counts, linked control, audit visibility and close-out summary.

**Credits:** 2

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string (UUID) | Yes | The project. |

### create_project

Create a new project.

**Credits:** 3

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | Yes | Project name. Up to 200 characters. |
| `project_type` | string | Yes | One of the project types listed below. |
| `project_objective` | string | No | Plain-language objective. |
| `target_completion_date` | string (ISO date) | No | Target close date. |

> Plan limits apply: Explorer 1, Starter 5, Foundation 25, Pro and above unlimited (the General project does not count). Over the limit the call returns BLOCKED_TIER.

### add_project_task

Add a task to a project.

**Credits:** 1

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string (UUID) | Yes | The project. |
| `description` | string | Yes | Task description. Up to 2,000 characters. |
| `due_date` | string (ISO date) | No | Due date. |

### attach_evidence_to_project

Link existing evidence to a project.

**Credits:** 1

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string (UUID) | Yes | The project. |
| `evidence_id` | string (UUID) | Yes | The evidence item. |

### link_project_to_control

Link a project to a control so it becomes visible to auditors.

**Credits:** 2

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string (UUID) | Yes | The project. |
| `control_id` | string | Yes | Program control ID or framework control identifier. |

> Foundation plan or higher; lower plans return BLOCKED_TIER. Once the link is audit-locked it cannot be changed.

### close_project

Close a project with a plain-language outcome summary for the audit trail.

**Credits:** 2

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string (UUID) | Yes | The project. |
| `close_out_summary` | string | Yes | Outcome summary. Up to 5,000 characters. |

> Closed projects cannot be reopened. Create a follow-up project instead.

### draft_project_workflow_from_description

Draft a workflow for a project from a plain-language description. The draft is saved inactive; a person approves it before it runs.

**Credits:** 5

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string (UUID) | Yes | The project. |
| `description` | string | Yes | What the workflow should do. Up to 4,000 characters. |

## Project types

`create_project` and `list_projects` accept these values:

- `ad_hoc_remediation`
- `regulator_inquiry`
- `customer_inquiry`
- `internal_project`
- `vendor_action`
- `contract_action`
- `rif_prep`
- `incident_response`
- `general`

