# Tool reference

> Every tool an agent can use, by area — and what is deliberately not exposed.

Product: Clad MCP
Source: https://docs.useclad.ai/mcp/tools

---

The exact tool list is scope-filtered per credential, so you'll only see the rows
your grant allows. This is the full surface an admin OAuth grant exposes.

<!-- BEGIN GENERATED TOOLS -->
_68 tools, generated from the live registry (`server/src/mcp/tools`) — regenerate with `npm run mcp:docs`, never hand-edit._

### Identity, SLA & webhooks

Who the credential is, SLA policies, and webhook administration.

| Tool | Kind | Scope | What it does |
|---|---|---|---|
| `whoami` | Read | — | Describe the current credential: actor type, display identity, workspace (organization) name, and the granted scopes. |
| `list_sla_policies` | Read | `sla:read` | List SLA policies with their response/resolution targets (versions, newest first). |
| `list_support_hours` | Read | `sla:read` | List support-hours schedules with weekly intervals and holidays. |
| `list_webhooks` | Read | `webhooks:manage` | List webhook endpoints (admin-scoped). |
| `list_webhook_deliveries` | Read | `webhooks:manage` | List recent delivery attempts for one webhook endpoint (admin-scoped). |
| `ping_webhook` | Write | `webhooks:manage` | Send a test ping event to a webhook endpoint and return the queued delivery (admin-scoped). |

### Issues

Search the inbox, read threads, create issues, reply, and manage triage state.

| Tool | Kind | Scope | What it does |
|---|---|---|---|
| `search_issues` | Read | `issues:read` | Search and list support issues (tickets) with filters: free-text search, status, assignee, tag, account, inbox target (all/spam/trash). |
| `get_issue` | Read | `issues:read` | Fetch a single issue by id, including its conversation thread (messages, oldest first) and followers. |
| `create_issue` | Write | `issues:write` or `issues:create` | Create a new support issue with an initial message. |
| `reply_to_issue` | Write | `thread:reply` | Post a reply on an issue's conversation thread. |
| `set_issue_status` | Write | `issues:write` | Set an issue's status. |
| `set_issue_priority` | Write | `issues:write` | Set an issue's priority. |
| `assign_issue` | Write | `issues:write` | Assign an issue to a workspace member (assigneeProfileId = profileId from list_members), or pass null to unassign. |
| `set_issue_tags` | Write | `issues:write` | Replace an issue's tags with the given list (full replacement, not append). |
| `set_issue_spam` | Write | `spam:write` | Mark an issue as spam (moves it to the spam inbox) or unmark it. |
| `set_issue_trashed` | Write | `issues:write` | Move an issue to the trash or restore it. |
| `set_issue_account` | Write | `issues:write` | Link an issue to a CRM account (or null to unlink). |
| `set_issue_teams` | Write | `issues:write` | Replace the list of teams an issue is routed to (full replacement). |
| `follow_issue` | Write | `issues:write` | Add a workspace member as a follower of an issue (they get notified of updates). |
| `unfollow_issue` | Write | `issues:write` | Remove a workspace member from an issue's followers. |

### CRM — accounts & contacts

Read and write accounts, contacts, and saved account views.

| Tool | Kind | Scope | What it does |
|---|---|---|---|
| `search_accounts` | Read | `accounts:read` | Search and list CRM accounts (customers) by company name, channel name, or domain. |
| `get_account` | Read | `accounts:read` | Fetch a single CRM account by id, including ARR/contract data and custom fields. |
| `create_account` | Write | `accounts:write` | Create a CRM account. |
| `update_account` | Write | `accounts:write` | Update fields on a CRM account. |
| `search_contacts` | Read | `contacts:read` | Search and list contacts by name or email, optionally filtered to one account. |
| `get_contact` | Read | `contacts:read` | Fetch a single contact by id. |
| `create_contact` | Write | `contacts:write` | Create a contact. |
| `update_contact` | Write | `contacts:write` | Update fields on a contact. |

### Knowledge base

Collections, articles, article templates, and homepage curation.

| Tool | Kind | Scope | What it does |
|---|---|---|---|
| `search_articles` | Read | `articles:read` | Search knowledge base articles by title/content, optionally filtered by status or collection. |
| `get_article` | Read | `articles:read` | Fetch a single knowledge base article by id, including its full content. |
| `list_featured_articles` | Read | `articles:read` | List the complete ordered set of help-center homepage pins, including unavailable pins that must be included in a replacement to preserve them. |
| `search_featured_article_candidates` | Read | `articles:read` | Search bounded, metadata-only live articles in included collections that can be newly pinned to the help-center homepage. |
| `replace_featured_articles` | Write | `articles:write` and `articles:publish` | Atomically replace the complete ordered help-center homepage pin set (0-6); omitted pins are unpinned, so first list the set and include unavailable pins you want to preserve; new pins must be live and belong to an included collection. |
| `create_article` | Write | `articles:write` | Create a knowledge base article. |
| `update_article` | Write | `articles:write` | Update an article. |
| `list_collections` | Read | `articles:read` | List knowledge base collections (folders for articles), optionally filtered by name. |
| `get_collection` | Read | `articles:read` | Fetch a single knowledge base collection by id. |
| `create_collection` | Write | `collections:write` | Create a knowledge base collection. |
| `update_collection` | Write | `collections:write` | Update a knowledge base collection's name, description, or icon. |
| `list_article_templates` | Read | `articles:read` | List reusable article templates (newest first). |
| `create_article_template` | Write | `articles:write` | Create a reusable article template. |
| `update_article_template` | Write | `articles:write` | Update an article template's name or content. |

### Directory

Workspace members, teams, and tags.

| Tool | Kind | Scope | What it does |
|---|---|---|---|
| `list_members` | Read | `members:read` | List all members of the workspace with their profile ids, emails, display names, roles, and availability. |
| `list_teams` | Read | `members:read` | List all teams in the workspace with their members. |
| `create_team` | Write | `teams:write` | Create a new team. |
| `rename_team` | Write | `teams:write` | Rename an existing team. |
| `add_team_members` | Write | `teams:write` | Add workspace members (by Profile id) to a team. |
| `remove_team_member` | Write | `teams:write` | Remove one member (by Profile id) from a team. |
| `list_account_views` | Read | `views:read` | List saved account views (custom CRM table configurations), alphabetical. |
| `create_account_view` | Write | `views:write` | Create a saved account view with an optional config (columns, filters, sorting as JSON). |
| `update_account_view` | Write | `views:write` | Update a saved account view's name, config, or starred flag. |

### Settings & admin

Workspace settings, custom fields, widgets, forms, SLA, and webhooks.

| Tool | Kind | Scope | What it does |
|---|---|---|---|
| `list_tags` | Read | `settings:read` | List all workspace tags (name + color), alphabetical. |
| `create_tag` | Write | `tags:write` | Create a workspace tag. |
| `update_tag` | Write | `tags:write` | Rename a tag or change its color. |
| `get_workspace_settings` | Read | `settings:read` | Read workspace settings: email signature, trash auto-clear retention, closed-ticket auto-archive retention, and reactions behavior. |
| `update_workspace_settings` | Write | `settings:write` | Update workspace settings (admin only): email signature (max 500 chars), trash retention, closed-ticket auto-archive retention, and reactions behavior. |
| `get_auto_response_settings` | Read | `settings:read` | Read the AI auto-response configuration: enabled flag, custom prompt, knowledge-base scope, ignored accounts. |
| `update_auto_response_settings` | Write | `settings:write` | Update the AI auto-response configuration (admin only). |
| `list_custom_fields` | Read | `settings:read` | List custom field definitions for accounts or contacts. |
| `create_custom_field` | Write | `customfields:write` | Create a custom field definition (admin only). |
| `update_custom_field` | Write | `customfields:write` | Update a custom field definition (admin only). |
| `list_widgets` | Read | `settings:read` | List all web chat widget configurations for the workspace. |
| `get_widget` | Read | `settings:read` | Fetch one widget configuration by id. |
| `create_widget` | Write | `widget:write` | Create a new web chat widget configuration. |
| `update_widget` | Write | `widget:write` | Patch a widget's configuration. |
| `list_widget_forms` | Read | `settings:read` | List all widget intake forms for the workspace. |
| `create_widget_form` | Write | `widget:write` | Create a widget intake form. |
| `update_widget_form` | Write | `widget:write` | Update a widget intake form. |
<!-- END GENERATED TOOLS -->

### Not exposed, by design

The following are deliberately absent from every credential, regardless of scope:

- **Deletes** of any kind (moving an issue to trash is the reversible exception).
- **Credential minting** or key management.
- **Webhook creation / rotation** (agents can list and `ping`, not create).
- **Billing.**

An agent with a compromised token cannot destroy data or mint itself new
credentials.
