Connectors · Work & projects
Plane MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Plane and the rest of your systems. It gives your agent 556 Plane actions (226 reads, 240 writes and 90 that wait for a confirmation) and holds the Plane credential itself, so the agent never does. It paces Plane's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "plane.work_items.list_workspace", intent: "check which Plane account is connected"}# List work items across a workspace · read · 1 upstream call- 556actionsin one signed file
- 226readlook, never change
- 240writecreate and update
- 90wait for a yesdestructive, confirmed first
Set up
Connect Plane in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Plane.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyPlane API keyhostWhere your Plane lives: your hostworkspace_slugYour Plane workspace slug
account { op: "connections.requirements", service: "plane" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "plane.work_items.list_workspace" }# list work items across a workspace · read · 1 upstream callcheck { action: "plane.work_items.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Plane at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_key- Setup fields
hostworkspace_slug- Limits we pace to
- 60 calls a minute, per connection
- API covered
- Plane REST API v2 (plus v1 routes v2 does not cover: epics, work item relations, work item search)
api.plane.so - Built from
- Plane's documentation, read 23 October 2026developers.plane.sodevelopers.plane.so
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 223 of 226 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 3, so ask can line Plane up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Plane.
556 actions in 93 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 226readlook, never change
- 240writecreate and update
- 90destructivewait for a confirmation
Project automations
198 read · 8 write · 3 destructive
Create a project automation · Create an automation edge · Create an automation node · List project automations
Workspace automations
198 read · 8 write · 3 destructive
Create a workspace automation · Create an automation edge · Create an automation node · List workspace automations
Cycles
132 read · 9 write · 2 destructive
List cycles · Create a cycle · Get a cycle · Update a cycle
Work items
134 read · 7 write · 2 destructive
List work items across a workspace · Create a work item · List work items · Get a work item
Group sync
125 read · 5 write · 2 destructive
Create a project mapping · Create a workspace mapping · List project mappings · List workspace mappings
Modules
122 read · 8 write · 2 destructive
Bulk create modules · Create a module · List modules · Archive a module
Collections
115 read · 5 write · 1 destructive
Create a collection · List collections · List collection pages · Search pages for a collection
Initiatives
115 read · 5 write · 1 destructive
Create an initiative · List initiatives · List an initiative's labels · List an initiative's projects
85 more areas · 446 actions
- Project releases 11
- Projects 11
- Releases 11
- Milestones 10
- Estimate points 9
- Estimates 9
- Labels 9
- States 9
- Work item comments 9
- Work item types 9
- Customers 8
- Members 8
- Epics 7
- Project pages 7
- Project templates 7
- Teamspaces 7
- Work item type governance 7
- Workflow hooks 7
- Workspace pages 7
- Workspace workflow hooks 7
- Permissions 6
- Project states 6
- Project work item templates 6
- Webhooks 6
- Work item worklogs 6
- Workflows 6
- Workspace work item types 6
- Workspace workflow states 6
- Workspace workflows 6
- Customer properties 5
- Customer requests 5
- Initiative labels 5
- Intake work items 5
- Invitations 5
- Permission grants 5
- Project labels 5
- Project page templates 5
- Project release comments 5
- Project release links 5
- Project views 5
- Recurring work items 5
- Release comments 5
- Release labels 5
- Release links 5
- Release tags 5
- Stickies 5
- User assets 5
- Work item attachments 5
- Work item links 5
- Work item properties 5
- Work item property contexts 5
- Work item property options 5
- Workflow states 5
- Workflow transitions 5
- Workspace assets 5
- Workspace page attachments 5
- Workspace page templates 5
- Workspace states 5
- Workspace views 5
- Workspace work item properties 5
- Workspace work item property options 5
- Workspace work item templates 5
- Workspace workflow transitions 5
- Artifacts 4
- Work item pages 4
- Work item type properties 4
- Workspace work item type properties 4
- Work item relations 3
- Work item type workflows 3
- Work item votes 3
- Audit logs 2
- Customer property values 2
- Notifications 2
- Permission schemes 2
- Project features 2
- Roles 2
- Template categories 2
- Webhook logs 2
- Work item activities 2
- Work items V1 2
- Workflow activities 2
- Workspace features 2
- Workspace workflow activities 2
- Published pages 1
- Users 1
Top actions
The Plane API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 81 of Plane's 81 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
plane.work_items.list_workspaceList work items across a workspace | List the work items you can see across the workspace. | read | work.task.list122 connectors |
plane.projects.listList projects | Projects are the main container for work items in a workspace. | read | work.project.list109 connectors |
plane.members.list_workspaceList workspace members | Return the workspace's active member roster as a paginated list. | read | work.workspace_member.list26 connectors |
plane.work_items.createCreate a work item | Create a work item in a project. | write | work.task.create127 connectors |
plane.projects.createCreate a project | Projects are the main container for work items in a workspace. | write | work.project.create102 connectors |
plane.work_items.deleteDelete a work item | Delete a work item. | destructive | work.task.delete107 connectors |
plane.work_item_comments.createCreate a comment | Post a comment on a work item. | write | work.task_comment.create28 connectors |
plane.work_item_comments.listList comments | Return the comments on one work item. | read | work.task_comment.list27 connectors |
plane.members.list_projectList project members | Return one project's active member roster as a paginated list. | read | work.project_member.list12 connectors |
plane.work_item_worklogs.listList worklogs | Worklogs record time spent on a work item. | read | work.time_entry.list59 connectors |
plane.work_item_worklogs.createCreate a worklog | Worklogs record time spent on a work item. | write | work.time_entry.create56 connectors |
plane.users.get_currentGet current user | Return the principal behind the credentials you just sent: which user it acts as, whether it is an OAuth token or an API key, and which scopes it carries. | read | identity.current_user.get307 connectors |
Try it
Prompts to paste into Claude.
Each one names the Plane actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Plane tasks are overdue, and who owns each one?
calls
plane.work_items.list_workspace - Writewrite
Create a work item in Plane. Show me exactly what you will send before you save it.
calls
plane.work_items.create
Governance for Plane
Destructive actions wait for a yes.
90 Plane actions are destructive. The first 10:
- Delete a work item
plane.work_items.delete - Delete a project
plane.projects.delete - Delete a comment
plane.work_item_comments.delete - Delete a worklog
plane.work_item_worklogs.delete - Delete a state
plane.states.delete - Delete a cycle
plane.cycles.delete - Delete a label
plane.labels.delete - Delete a milestone
plane.milestones.delete - Delete an attachment
plane.work_item_attachments.delete - Delete a project view
plane.project_views.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a work item?
intent: the user asked me to delete a work item
account { op: "keys.create", name: "plane-agent", allowed_actions: ["plane.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "plane.work_items.delete", approver: "[email protected]" }, { match: "plane.projects.delete", approver: "[email protected]" }, { match: "plane.work_item_comments.delete", approver: "[email protected]" } ]}Cost
What Plane costs on actionlake.
Every Plane action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Plane refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 556 Plane actions
- 556actions pageeach page of a long list is one call
- 223reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Plane action.
556 actions by area: the id your agent calls, what it does, and its effect.
Project automations19
plane.project_automations.createCreate a project automationwriteplane.project_automations.create_edgeCreate an automation edgewriteplane.project_automations.create_nodeCreate an automation nodewriteplane.project_automations.listList project automationsreadplane.project_automations.deleteDelete a project automationdestructiveplane.project_automations.delete_edgeDelete an automation edgedestructive- and 13 more in this area
Workspace automations19
plane.workspace_automations.createCreate a workspace automationwriteplane.workspace_automations.create_edgeCreate an automation edgewriteplane.workspace_automations.create_nodeCreate an automation nodewriteplane.workspace_automations.listList workspace automationsreadplane.workspace_automations.deleteDelete a workspace automationdestructiveplane.workspace_automations.delete_edgeDelete an automation edgedestructive- and 13 more in this area
Cycles13
plane.cycles.createCreate a cyclewriteplane.cycles.getGet a cyclereadplane.cycles.listList cyclesreadplane.cycles.updateUpdate a cyclewriteplane.cycles.archiveArchive a cyclewriteplane.cycles.bulk_createBulk create cycleswrite- and 7 more in this area
Work items13
plane.work_items.createCreate a work itemwriteplane.work_items.getGet a work itemreadplane.work_items.listList work itemsreadplane.work_items.list_workspaceList work items across a workspacereadplane.work_items.archiveArchive a work itemwriteplane.work_items.bulk_createBulk create work itemswrite- and 7 more in this area
Group sync12
plane.group_sync.create_project_mappingCreate a project mappingwriteplane.group_sync.create_workspace_mappingCreate a workspace mappingwriteplane.group_sync.list_project_mappingsList project mappingsreadplane.group_sync.list_workspace_mappingsList workspace mappingsreadplane.group_sync.delete_project_mappingDelete a project mappingdestructiveplane.group_sync.delete_workspace_mappingDelete a workspace mappingdestructive- and 6 more in this area
Modules12
plane.modules.archiveArchive a modulewriteplane.modules.bulk_createBulk create moduleswriteplane.modules.createCreate a modulewriteplane.modules.listList modulesreadplane.modules.bulk_deleteBulk delete modulesdestructiveplane.modules.bulk_updateBulk update moduleswrite- and 6 more in this area
Collections11
plane.collections.createCreate a collectionwriteplane.collections.listList collectionsreadplane.collections.list_pagesList collection pagesreadplane.collections.search_pagesSearch pages for a collectionreadplane.collections.deleteDelete a collectiondestructiveplane.collections.getGet a collectionread- and 5 more in this area
Initiatives11
plane.initiatives.createCreate an initiativewriteplane.initiatives.listList initiativesreadplane.initiatives.list_labelsList an initiative's labelsreadplane.initiatives.list_projectsList an initiative's projectsreadplane.initiatives.deleteDelete an initiativedestructiveplane.initiatives.getGet an initiativeread- and 5 more in this area
Project releases11
plane.project_releases.createCreate a project releasewriteplane.project_releases.listList project releasesreadplane.project_releases.list_labelsList a project release's labelsreadplane.project_releases.list_work_itemsList a project release's work itemsreadplane.project_releases.deleteDelete a project releasedestructiveplane.project_releases.getGet a project releaseread- and 5 more in this area
Projects11
plane.projects.createCreate a projectwriteplane.projects.getGet a projectreadplane.projects.listList projectsreadplane.projects.updateUpdate a projectwriteplane.projects.archiveArchive a projectwriteplane.projects.bulk_createBulk create projectswrite- and 5 more in this area
Releases11
plane.releases.createCreate a releasewriteplane.releases.listList releasesreadplane.releases.list_labelsList a release's labelsreadplane.releases.list_work_itemsList a release's work itemsreadplane.releases.deleteDelete a releasedestructiveplane.releases.getGet a releaseread- and 5 more in this area
Milestones10
plane.milestones.createCreate a milestonewriteplane.milestones.getGet a milestonereadplane.milestones.listList milestonesreadplane.milestones.updateUpdate a milestonewriteplane.milestones.bulk_createBulk create milestoneswriteplane.milestones.bulk_deleteBulk delete milestonesdestructive- and 4 more in this area
Estimate points9
plane.estimate_points.bulk_createBulk create estimate pointswriteplane.estimate_points.bulk_updateBulk update estimate pointswriteplane.estimate_points.createCreate an estimate pointwriteplane.estimate_points.listList estimate pointsreadplane.estimate_points.bulk_deleteBulk delete estimate pointsdestructiveplane.estimate_points.deleteDelete an estimate pointdestructive- and 3 more in this area
Estimates9
plane.estimates.bulk_createBulk create estimateswriteplane.estimates.bulk_updateBulk update estimateswriteplane.estimates.createCreate an estimatewriteplane.estimates.listList estimatesreadplane.estimates.bulk_deleteBulk delete estimatesdestructiveplane.estimates.deleteDelete an estimatedestructive- and 3 more in this area
Labels9
plane.labels.createCreate a labelwriteplane.labels.getGet a labelreadplane.labels.listList labelsreadplane.labels.updateUpdate a labelwriteplane.labels.bulk_createBulk create labelswriteplane.labels.bulk_deleteBulk delete labelsdestructive- and 3 more in this area
States9
plane.states.createCreate a statewriteplane.states.getGet a statereadplane.states.listList statesreadplane.states.updateUpdate a statewriteplane.states.bulk_createBulk create stateswriteplane.states.bulk_deleteBulk delete statesdestructive- and 3 more in this area
Work item comments9
plane.work_item_comments.createCreate a commentwriteplane.work_item_comments.getGet a commentreadplane.work_item_comments.listList commentsreadplane.work_item_comments.updateUpdate a commentwriteplane.work_item_comments.bulk_createBulk create commentswriteplane.work_item_comments.bulk_deleteBulk delete commentsdestructive- and 3 more in this area
Work item types9
plane.work_item_types.createCreate a work item typewriteplane.work_item_types.getGet a work item typereadplane.work_item_types.listList work item typesreadplane.work_item_types.updateUpdate a work item typewriteplane.work_item_types.deleteDelete a work item typedestructiveplane.work_item_types.enableEnable work item typeswrite- and 3 more in this area
Customers8
plane.customers.createCreate a customerwriteplane.customers.getGet a customerreadplane.customers.listList customersreadplane.customers.list_work_itemsList a customer's work itemsreadplane.customers.deleteDelete a customerdestructiveplane.customers.manage_work_itemsLink or unlink customer work itemswrite- and 2 more in this area
Members8
plane.members.create_projectCreate a project memberwriteplane.members.get_projectGet a project memberreadplane.members.list_projectList project membersreadplane.members.list_workspaceList workspace membersreadplane.members.delete_projectDelete a project memberdestructiveplane.members.get_project_role_distributionGet project role distributionread- and 2 more in this area
Epics7
plane.epics.createCreate an epicwriteplane.epics.deleteDelete an epicdestructiveplane.epics.listList all epicsreadplane.epics.updateUpdate an epicwriteplane.epics.add_work_itemsAdd work items to epicwriteplane.epics.get_detailRetrieve an epicread- and 1 more in this area
Project pages7
plane.project_pages.archiveArchive a project pagewriteplane.project_pages.createCreate a project pagewriteplane.project_pages.getGet a project pagereadplane.project_pages.listList project pagesreadplane.project_pages.deleteDelete a project pagedestructiveplane.project_pages.unarchiveUnarchive a project pagewrite- and 1 more in this area
Project templates7
plane.project_templates.createCreate a project templatewriteplane.project_templates.getGet a project templatereadplane.project_templates.listList project templatesreadplane.project_templates.updateUpdate a project templatewriteplane.project_templates.copyCopy a project templatewriteplane.project_templates.deleteDelete a project templatedestructive- and 1 more in this area
Teamspaces7
plane.teamspaces.createCreate a teamspacewriteplane.teamspaces.listList teamspacesreadplane.teamspaces.list_membersList a teamspace's membersreadplane.teamspaces.list_projectsList a teamspace's projectsreadplane.teamspaces.deleteDelete a teamspacedestructiveplane.teamspaces.getGet a teamspaceread- and 1 more in this area
Work item type governance7
plane.work_item_type_governance.create_workflow_pinCreate workflow pinswriteplane.work_item_type_governance.getGet work item type governancereadplane.work_item_type_governance.list_workflow_pinsList workflow pinsreadplane.work_item_type_governance.previewPreview a governance changereadplane.work_item_type_governance.delete_workflow_pinDelete a workflow pindestructiveplane.work_item_type_governance.get_workflow_pinGet a workflow pinread- and 1 more in this area
Workflow hooks7
plane.workflow_hooks.createCreate a workflow hookwriteplane.workflow_hooks.getGet a workflow hookreadplane.workflow_hooks.listList workflow hooksreadplane.workflow_hooks.list_executionsList workflow hook executionsreadplane.workflow_hooks.deleteDelete a workflow hookdestructiveplane.workflow_hooks.regenerate_secretRegenerate a workflow hook secretwrite- and 1 more in this area
Workspace pages7
plane.workspace_pages.archiveArchive a workspace pagewriteplane.workspace_pages.createCreate a workspace pagewriteplane.workspace_pages.getGet a workspace pagereadplane.workspace_pages.listList workspace pagesreadplane.workspace_pages.deleteDelete a workspace pagedestructiveplane.workspace_pages.unarchiveUnarchive a workspace pagewrite- and 1 more in this area
Workspace workflow hooks7
plane.workspace_workflow_hooks.createCreate a workspace workflow hookwriteplane.workspace_workflow_hooks.getGet a workspace workflow hookreadplane.workspace_workflow_hooks.listList workspace workflow hooksreadplane.workspace_workflow_hooks.list_executionsList workspace workflow hook executionsreadplane.workspace_workflow_hooks.deleteDelete a workspace workflow hookdestructiveplane.workspace_workflow_hooks.regenerate_secretRegenerate a workspace workflow hook secretwrite- and 1 more in this area
Permissions6
plane.permissions.checkCheck a permissionreadplane.permissions.get_projectGet your effective project permissionsreadplane.permissions.get_resource_relationGet your relation to a resourcereadplane.permissions.get_workspaceGet your effective workspace permissionsreadplane.permissions.list_accessible_resourcesList resources you can accessreadplane.permissions.list_resourceList your permissions on a resourceread
Project states6
plane.project_states.createCreate a project statewriteplane.project_states.getGet a project statereadplane.project_states.listList project statesreadplane.project_states.mark_defaultMark a project state as defaultwriteplane.project_states.deleteDelete a project statedestructiveplane.project_states.updateUpdate a project statewrite
Project work item templates 6Webhooks 6Work item worklogs 6Workflows 6Workspace work item types 6Workspace workflow states 6Workspace workflows 6Customer properties 5Customer requests 5Initiative labels 5Intake work items 5Invitations 5Permission grants 5Project labels 5Project page templates 5Project release comments 5Project release links 5Project views 5Recurring work items 5Release comments 5Release labels 5Release links 5Release tags 5Stickies 5User assets 5Work item attachments 5Work item links 5Work item properties 5Work item property contexts 5Work item property options 5Workflow states 5Workflow transitions 5Workspace assets 5Workspace page attachments 5Workspace page templates 5Workspace states 5Workspace views 5Workspace work item properties 5Workspace work item property options 5Workspace work item templates 5Workspace workflow transitions 5Artifacts 4Work item pages 4Work item type properties 4Workspace work item type properties 4Work item relations 3Work item type workflows 3Work item votes 3Audit logs 2Customer property values 2Notifications 2Permission schemes 2Project features 2Roles 2Template categories 2Webhook logs 2Work item activities 2Work items V1 2Workflow activities 2Workspace features 2Workspace workflow activities 2Published pages 1Users 1
This index shows a sample of each area. All 556 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Plane MCP server, answered.
Is there a Plane MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 556 Plane actions across project automations, workspace automations, cycles and work items, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Plane.
What do I need to connect Plane?
Plane API key. Plus your host and your workspace slug. The free call account { op: "connections.requirements", service: "plane" } lists exactly what to paste.
Can an AI agent delete or change things in Plane?
Only if its key allows it, and only with an explicit confirmation. 90 Plane actions are destructive, including delete a work item, delete a project and delete a comment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Plane API limit?
actionlake paces every call to the limits in the Plane service file: 60 calls a minute per connection. Repeated reads are answered from cache (223 Plane actions can be), which never reaches Plane.
What does a Plane action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (556 Plane actions page). Cache hits, searches, dry runs and calls Plane refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Plane API does it cover?
The Plane REST API v2 (plus v1 routes v2 does not cover: epics, work item relations, work item search) at api.plane.so by default, or the base URL set when you connect. It is built from Plane's documentation as read on 23 October 2026. 556 actions in 93 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Plane data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Plane credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Plane today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.