Skip to main content
idapt
HomeCodeAI ModelsPricing
Sign inStart free
  • Home
  • Pricing
  • AI Models
  • Image models
  • Voice models
  • Video models
  • Rankings
  • New models
  • Model status
  • Multi-Model Chat
  • Voice Mode
  • Voice HUD
  • Web Search
  • Image Generation
  • Video Generation
  • Audio Generation
  • Transcription
  • Drive
  • Credentials
  • Sharing
  • Workspaces
  • Tasks
  • Memory
  • Agents
  • Subagents
  • Automations
  • Skills
  • idapt Code
  • Code Execution
  • Computers
  • Computer Use
  • Computer Assist · Soon
  • Containers · Soon
  • Cloud Computers
  • Local AI
  • AI Gateway
  • API & SDK
  • CLI
  • MCP
  • Tunnels
  • All features →
  • LLM cost calculator
  • Token counter
  • Context window checker
  • Can I run it
  • Model picker quiz
  • Savings finder
  • Video cost estimator
  • Text to speech cost
  • Transcription cost
  • API endpoint tester
  • All free tools →
  • Blog
  • Use cases
  • Comparisons
  • Best of
  • Skills
  • Learn
  • Changelog
  • Help center
  • FAQ
  • Privacy
  • Compare all models
  • Support
  • idapt Code
  • Developers
  • Quickstarts
  • API reference
  • API pricing
  • CLI
  • MCP
  • Downloads
  • Desktop
  • Badges and embeds
© idapt[email protected]TermsPrivacy PolicyLegal noticeReport content
X (Twitter)
Help Center
🔧

What an MCP client can do

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 🔧

The call shape

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.

Name your workspace on every call

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.

Discover any action from your client

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.

A sample of the surface

Drive and Tasks show the pattern. Every resource works the same way, so browse the full set in the command reference.

CommandWhat it does
idapt drive listList files (cursor-paginated). Filter to a folder with parent_id.
idapt drive readRead a file's raw content (streamed) by id.
idapt drive get-metadataGet a file's metadata by id.
idapt drive uploadUpload a file (multipart). Provide workspace_id or parent_id.
idapt drive updateUpdate file name/content. OCC via expected_updated_at.
idapt drive deleteTrash a file by id (recoverable with `drive restore`).
idapt drive restoreRestore a trashed file.
idapt drive permanent-deletePermanently delete a trashed file (irreversible).
idapt drive create-folderCreate-or-get a folder (idempotent).
idapt drive moveMove a file to a new parent_id (null = workspace root).
idapt drive content-versionsList a file's content version history (newest first).
idapt drive restore-versionRestore a file to a previous content version.
idapt drive globFind files by glob pattern (e.g. **/*.ts) across the drive.
idapt drive grepSearch file contents by regex (modes: content/files/count, ripgrep-style context).
CommandWhat it does
idapt tasks list-listList the Tasks Lists in a workspace.
idapt tasks list-createCreate a Tasks List (with a Linear-style key prefix).
idapt tasks list-getGet a Tasks List by id or key.
idapt tasks list-updateUpdate a Tasks List's name, key, description, icon, or access.
idapt tasks list-deleteDelete a Tasks List (soft-trash; tasks retained).
idapt tasks label-listList a list's labels.
idapt tasks label-createCreate a label in a list.
idapt tasks label-updateUpdate a label's name or color.
idapt tasks label-deleteDelete a label.
idapt tasks listList/search a list's tasks (filter by status, priority, assignee).
idapt tasks searchList MY tasks across every list in a workspace (assigned to / created by me).
idapt tasks createCreate a task in a list.
idapt tasks importImport tasks into a list from a Linear CSV export (status/priority map 1:1; re-imports dedupe by Linear id).
idapt tasks getGet a task by its identifier (OR-123) or resourceId.
idapt tasks updateUpdate a task's fields (title, status, priority, dates, parent).
idapt tasks deleteDelete a task (and its sub-tasks).
idapt tasks task-batch-updateBulk-update tasks in a list (status/priority/due date; add or remove labels/assignees).
idapt tasks task-batch-deleteBulk-delete tasks in a list (and their sub-tasks).
idapt tasks assignAssign a task to a workspace member (or unassign).
idapt tasks unassignRemove a single assignee from a task.
idapt tasks duplicateMark a task as a duplicate of another (or clear the link).
idapt tasks ancestorsGet a task's ancestor chain (breadcrumb), root last.
idapt tasks comment-listList a task's comments.
idapt tasks commentAdd a comment to a task.
idapt tasks comment-updateEdit a comment.
idapt tasks comment-deleteDelete a comment.
idapt tasks eventsList a task's audit events (the timeline, with comments merged client-side).
idapt tasks dependenciesGet a task's blocked-by + blocking dependencies.
idapt tasks dependAdd a blocked-by dependency (rejected if it would create a cycle).
idapt tasks undependRemove a blocked-by dependency.

What is off limits

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.

Up next

MCP permissions

API key scopes, what each one grants, and how to pick the narrowest set for your workflow.

Was this helpful?