---
title: "Tools reference"
description: "The 40 tools of the Tarkle MCP server by area, with their main inputs, the ones that ask for confirmation and the role each needs."
---

> Documentation Index
> Fetch the complete documentation index at: https://tarkle.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools reference

The Tarkle MCP server offers 40 tools. An AI assistant calls them to list workspaces, add files, create public share links, run file requests, manage brand pages, contacts and client portal access, team folders and workspace members. The tables below group the tools by area. Each row gives the tool name, what it does, its main inputs, whether it asks for confirmation first, and the role a person needs.

Before a tool can run, the assistant connects to the server. [Connect an AI assistant](/docs/mcp/connect) has the setup for each client, and [API keys](/docs/get-started/api-keys) explains how a key is made and copied. ChatGPT, Claude and Grok connect with browser sign-in and need no key.

## How the tools check access

Every tool runs as the person who made the key, and it checks that person's access to the workspace on each call. A key set to All workspaces reaches every workspace that person can open. A key set to Only selected workspaces reaches only the workspaces chosen when it was made. A call to any other workspace answers Workspace not found. A key limited to selected workspaces cannot create a workspace.

A key has full read and write access to the workspaces it reaches. Rename and Delete are in the key's menu in Settings, API. Only the organization's owner and admins can manage keys.

A key marked Legacy was made before API keys had full access. It keeps its old, limited permissions and does not connect to the MCP server, so create a new key for it.

The Role column uses the workspace roles Owner, Admin, Member and Viewer. Any member includes a Viewer, but a Viewer cannot upload, share or create file requests.

## Confirmation

Tools marked Yes can make something public, send an email, change a person's access or create a workspace. On the first call the tool changes nothing. It describes the action and returns a confirmation code. The assistant shows that description to the person, and after they approve it, calls the same tool again with the same inputs and the code. A code works only for those exact inputs, and only for 10 to 20 minutes. Gated tools take `confirmationCode` as an optional input for that second call.

Two tools ask only for some calls. `tarkle_set_portal_access` asks only when `enabled` is true. `tarkle_update_brand` asks only when it publishes a brand page, which is when `access` is public or `isDraft` is false.

Names of files, file requests and brands are written by other people. The server marks them as data, and an assistant should not follow instructions found in them. [Authorization and security](/docs/mcp/authorization) covers this.

## Workspaces

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_list_workspaces` | Lists the workspaces the key reaches, with the person's role and whether they can upload and share files there. | none | No | Any member |
| `tarkle_create_workspace` | Creates an empty workspace owned by the person. | `name` (up to 120 characters), `region` (eu, us, apac, oceania or default) | Yes | The person who made the key, unless the key is limited to selected workspaces |

`region` is where the workspace's files are stored: eu (Europe), us (United States), apac (Asia Pacific), oceania, or default. The assistant asks the person which region they want.

## Files and folders

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_list_files` | Lists the files in a workspace library, newest first. | `workspaceId`; optional `query`, `limit` (1 to 50), `folderId` | No | Owner, Admin or Member |
| `tarkle_list_folders` | Lists the folders directly inside one folder, or at the library root. | `workspaceId`; optional `parentFolderId` | No | Any member |
| `tarkle_create_folder` | Creates a folder at the root or inside a folder, and returns its `folderId`. A name already used in that folder is refused. | `workspaceId`, `name` (1 to 255 characters); optional `parentFolderId` | No | Any member, and the files rules decide which folders each role may add to |

## Uploads

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_start_upload` | Starts an upload of one file and returns signed addresses. The bytes go straight to storage with HTTP PUT. | `workspaceId`, `fileName`, `sizeBytes`; optional `contentType`, `folderId` | No | Owner, Admin or Member |
| `tarkle_upload_text` | Saves text the assistant already holds as a file, up to 3 MB. | `workspaceId`, `fileName`, `content`; optional `contentType`, `folderId` | No | Owner, Admin or Member |
| `tarkle_upload_from_url` | Has Tarkle download a file from a public https address, or take a file attached in ChatGPT, and save it. Up to 50 MB. | `workspaceId`, `url` or `file`; optional `fileName`, `contentType`, `folderId` | No | Owner, Admin or Member |
| `tarkle_get_upload_parts` | Returns fresh signed addresses for a range of parts of a large upload. | `sessionId`, `fromPart`; optional `count` (1 to 100) | No | The person who started the upload |
| `tarkle_get_upload_status` | Checks an upload. When every byte has arrived, it finishes the upload and returns the `fileId`. | `sessionId` | No | The person who started the upload |
| `tarkle_get_upload_page` | Returns a browser link where the person picks a file the assistant cannot read, such as a chat attachment. | optional `workspaceId` | No | Owner, Admin or Member |

Up to 1 GB is one upload address. Above 1 GB, the file is split into parts of 512 MB, and each part has its own address. An assistant in a web chat app is limited to 5 GB through the server. For a larger file it gives the person the browser link from `tarkle_get_upload_page`. A key counts as a computer-based client, so the plan's per-file limit applies to it. [Uploads](/docs/mcp/uploads) has the full size rules.

## Sharing

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_create_transfer` | Creates a public share link for files in the workspace. Anyone with the link can view and download them. `kind` can be `audio` or `video` to make a player page. No email is sent. | `workspaceId`, `fileIds` (1 to 25 file ids), `title` (up to 200 characters); optional `description` (up to 1,000 characters), `kind` | Yes | Owner, Admin or Member |

## File requests

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_create_file_request` | Creates a file request with a public upload link. No email is sent. | `workspaceId`, `title` (up to 200 characters); optional `description` (up to 2,000 characters), `destinationFolderId`, `expiresAt` (a date and time) | Yes | Owner, Admin or Member |
| `tarkle_close_file_request` | Stops the link from accepting uploads. Files already submitted stay. | `workspaceId`, `requestId` | No | Owner, Admin or Member |
| `tarkle_reopen_file_request` | Lets the link of a closed file request accept uploads again. | `workspaceId`, `requestId` | Yes | Owner, Admin or Member |
| `tarkle_delete_file_request` | Permanently deletes a file request and its link. Submitted files stay in the library. | `workspaceId`, `requestId` | Yes | Owner, Admin or Member |
| `tarkle_list_file_requests` | Lists the workspace's file requests, newest first. | `workspaceId`; optional `status` (active, completed or all) | No | Any member |
| `tarkle_get_file_request_submissions` | Lists the files submitted to one file request. | `workspaceId`, `requestId` | No | Any member |

## Brand pages

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_list_brands` | Lists a workspace's brands, with each brand's own brand page domain if it has one. | `workspaceId` | No | Any member |
| `tarkle_get_brand` | Reads everything a brand page holds: text, colors, fonts, team, press, guidelines, links, access, analytics ids and files. | `workspaceId`, `brandId` | No | Any member |
| `tarkle_lookup_brand_domain` | Looks up a company by its website and returns a suggested name, summary, colors, fonts, social links and image addresses. Saves nothing. | `domain`, such as acme.com | No | Any person with a key |
| `tarkle_create_brand` | Creates a brand page as a private draft. It counts toward the plan's brand page limit. | `workspaceId`, `name` (up to 48 characters), `industry`, `summary` (up to 200 characters); optional `slug` and any other brand field | No | Owner or Admin |
| `tarkle_update_brand` | Changes the fields you send. Publishing a brand page asks for confirmation. | `workspaceId`, `brandId`; optional any brand field, `access` (public or restricted), `isDraft` | Yes, when it publishes | Owner or Admin |
| `tarkle_import_brand_file` | Fetches a public https image and puts it on a brand, in one of the brand's file slots. | `workspaceId`, `brandId`, `slot`, `url`; optional `name`, `member_id`, `section_id` and other slot fields | No | Owner or Admin |
| `tarkle_connect_brand_domain` | Sets a brand page's own domain and returns the DNS records to add. A brand has at most one domain. | `workspaceId`, `brandId`, `domain` | No | Owner or Admin |
| `tarkle_check_brand_domain` | Checks the brand page's custom domain and returns its status and DNS records. | `workspaceId`, `brandId` | No | Owner or Admin |

Creating, changing, importing and connecting brand pages, and checking their domains, is limited to the Owner and Admin roles. The tool never changes DNS itself. A new brand is always a private draft.

## Contacts and client portal

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_list_contacts` | Lists a workspace's contacts, newest first, and whether each one has client portal access. | `workspaceId`; optional `query`, `limit` (1 to 50) | No | Owner, or a member who can view contacts |
| `tarkle_create_contact` | Adds a contact, and optionally its organization. Creates the record only: no email is sent and no login is made. | `workspaceId`, `email`, `firstName`; optional `lastName`, `organizationName` | No | Owner, or a member who can add and edit contacts |
| `tarkle_set_portal_access` | Turns a contact's client portal on or off. Turning it on for the first time emails the contact an invite. | `workspaceId`, `contactId`, `enabled` | Yes, when `enabled` is true | Owner, or a member who can add and edit contacts |
| `tarkle_resend_portal_invite` | Emails a contact who already has portal access the sign-in link again. | `workspaceId`, `contactId` | Yes | Owner, or a member who can add and edit contacts |
| `tarkle_set_portal_storage_limit` | Sets how much one contact may upload from the portal, from 1 to 10,000 GB. | `workspaceId`, `contactId`, `limitGb` | No | Owner, or a member who can add and edit contacts |

The client portal and organizations are Pro features. Contacts follow the permissions of each person: a member who can view clients can list them, and a member who can add and edit clients can change them.

## Team folders

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_list_team_folders` | Lists the team folders the person can see, with their storage budgets, usage and who can open them. | `workspaceId` | No | Any member |
| `tarkle_create_team_folder` | Creates a team folder, optionally with a storage budget. `access` is `members` (the default) or `everyone`. | `workspaceId`, `name` (up to 120 characters); optional `description`, `access`, `budgetGb` | No | Owner or Admin |
| `tarkle_set_team_folder_budget` | Sets a team folder's storage budget in GB, or removes it. | `workspaceId`, `teamFolderId`, and `budgetGb` (1 to 1,000,000) or `unlimited` set to true | No | Owner or Admin |
| `tarkle_add_member_to_team_folder` | Gives one workspace member access to a members-only team folder. | `workspaceId`, `teamFolderId`, `memberUserId` | No | Owner or Admin |
| `tarkle_remove_member_from_team_folder` | Takes one member's access to a team folder away. The member stays in the workspace. | `workspaceId`, `teamFolderId`, `memberUserId` | No | Owner or Admin |

Team folders are a Pro feature. Creating them, setting their budgets and changing who can open them is limited to the Owner and Admin roles.

## Members

| Tool | What it does | Inputs | Confirmation | Role |
| --- | --- | --- | --- | --- |
| `tarkle_list_members` | Lists the people in a workspace and their workspace role. Team folders are listed by `tarkle_list_team_folders`. | `workspaceId` | No | Owner or Admin |
| `tarkle_invite_member` | Emails an invitation to join as Admin, Member or Viewer. Uses a team seat on plans with a seat limit. | `workspaceId`, `email`, `role` (Admin, Member or Viewer) | Yes | Owner or Admin |
| `tarkle_change_member_role` | Changes a member's role to Admin, Member or Viewer. | `workspaceId`, `memberUserId`, `role` | Yes | Owner or Admin |
| `tarkle_remove_member` | Removes a member from the workspace. Their content moves to `transferToUserId`, or to the owner when that is left out. | `workspaceId`, `memberUserId`; optional `transferToUserId` | Yes | Owner or Admin |

The workspace owner cannot be changed or removed, and nobody can change or remove their own membership through the MCP server.

## Not available through MCP

The 40 tools above are the whole set. Delete a workspace, edit the text of a file, or save a new version of a file are not among them. These tasks are also not available through the MCP server, and the API does them instead:

- Archive, restore and delete a brand page. Deleting a brand in the Brand API archives it and needs `confirm_delete` set to true, and an archived brand can be restored with `POST /archived-brands/{id}/restore`. See [Create, delete and restore brands](/docs/api/brands/create-and-delete).
- Delete a file or folder, or rename and move one. `DELETE /api/v1/files/{id}` moves a file or folder to the bin, and `PATCH /api/v1/files/{id}` renames or moves it. See [Files](/docs/api/files).
- Purchases and billing. No key carries the purchase permission.

Source: https://tarkle.com/docs/mcp/tools/index.mdx
