What an MCP client can do
Found this helpful? Share it:
Found this helpful? Share it:
idapt exposes one MCP tool, idapt. You call it with a
structured input and address every capability through an action path 🔧
Call the tool with {action: "<resource> <verb>", args: {...}}. The
action names a resource and a verb; the arguments ride in args as plain JSON, with no shell quoting.
The command column below is that action string: a row reading idapt drive read is the call {action: "drive read", args: {...}}. It is the same
grammar the idapt CLI speaks.
The older {cmd: "idapt ..."}string form is not
accepted. Always send a structured action.
Every call except one needs a workspace-qualified handle, written /owner/workspace-slug. There is no chat context to guess
from, so a bare slug is rejected.
The exception is {action: "workspace list"}. Start
there to see the workspaces your key can reach, then use one of those
handles for the rest of your calls.
Ask the tool to describe itself, with no separate call type:
Contract(arguments, types, return shape, errors): {action: "help drive read"}, or args.help: true on the verb.
Playbook(when to use it, why, anti-patterns): {action: "instructions drive"}, or args.instructions: true.
Drive and Tasks show the pattern. Every resource works the same way, so browse the full set in the command reference.
| Command | What it does |
|---|---|
idapt drive list | List files (cursor-paginated). Filter to a folder with parent_id. |
idapt drive read | Read a file's raw content (streamed) by id. |
idapt drive get-metadata | Get a file's metadata by id. |
idapt drive upload | Upload a file (multipart). Provide workspace_id or parent_id. |
idapt drive update | Update file name/content. OCC via expected_updated_at. |
idapt drive delete | Trash a file by id (recoverable with `drive restore`). |
idapt drive restore | Restore a trashed file. |
idapt drive permanent-delete | Permanently delete a trashed file (irreversible). |
idapt drive create-folder | Create-or-get a folder (idempotent). |
idapt drive move | Move a file to a new parent_id (null = workspace root). |
idapt drive content-versions | List a file's content version history (newest first). |
idapt drive restore-version | Restore a file to a previous content version. |
idapt drive glob | Find files by glob pattern (e.g. **/*.ts) across the drive. |
idapt drive grep | Search file contents by regex (modes: content/files/count, ripgrep-style context). |
| Command | What it does |
|---|---|
idapt tasks list-list | List the Tasks Lists in a workspace. |
idapt tasks list-create | Create a Tasks List (with a Linear-style key prefix). |
idapt tasks list-get | Get a Tasks List by id or key. |
idapt tasks list-update | Update a Tasks List's name, key, description, icon, or access. |
idapt tasks list-delete | Delete a Tasks List (soft-trash; tasks retained). |
idapt tasks label-list | List a list's labels. |
idapt tasks label-create | Create a label in a list. |
idapt tasks label-update | Update a label's name or color. |
idapt tasks label-delete | Delete a label. |
idapt tasks list | List/search a list's tasks (filter by status, priority, assignee). |
idapt tasks search | List MY tasks across every list in a workspace (assigned to / created by me). |
idapt tasks create | Create a task in a list. |
idapt tasks import | Import tasks into a list from a Linear CSV export (status/priority map 1:1; re-imports dedupe by Linear id). |
idapt tasks get | Get a task by its identifier (OR-123) or resourceId. |
idapt tasks update | Update a task's fields (title, status, priority, dates, parent). |
idapt tasks delete | Delete a task (and its sub-tasks). |
idapt tasks task-batch-update | Bulk-update tasks in a list (status/priority/due date; add or remove labels/assignees). |
idapt tasks task-batch-delete | Bulk-delete tasks in a list (and their sub-tasks). |
idapt tasks assign | Assign a task to a workspace member (or unassign). |
idapt tasks unassign | Remove a single assignee from a task. |
idapt tasks duplicate | Mark a task as a duplicate of another (or clear the link). |
idapt tasks ancestors | Get a task's ancestor chain (breadcrumb), root last. |
idapt tasks comment-list | List a task's comments. |
idapt tasks comment | Add a comment to a task. |
idapt tasks comment-update | Edit a comment. |
idapt tasks comment-delete | Delete a comment. |
idapt tasks events | List a task's audit events (the timeline, with comments merged client-side). |
idapt tasks dependencies | Get a task's blocked-by + blocking dependencies. |
idapt tasks depend | Add a blocked-by dependency (rejected if it would create a cycle). |
idapt tasks undepend | Remove a blocked-by dependency. |
The server fails closed. There are no always-available actions: every action is scope-gated, and an action with no scope mapping is denied. A few surfaces are excluded from MCP entirely:
Computer use: the desktop screenshot-and-click loop needs live visual feedback.
Background actions and reading buffered tool output: they reference in-flight chat executions.
Sub-agent write verbs: launching and steering workers stays in chat.
Hub actions: installing and publishing are internal, not agent-callable.
Related articles
idapt MCP Server
Connect Claude Code, Cursor, Codex, and any other MCP client to your idapt workspace.
MCP permissions
API key scopes, what each one grants, and how to pick the narrowest set for your workflow.
Connect your tool
Create a scoped API key and point any MCP client at idapt's endpoint, then check that it worked.
Was this helpful?