Projects
Projects
Tools that read and act on projects, the budgets beneath them and the deadlines beneath the budgets.
The Projects tools cover the project-management surface of plnnrly. They let an AI client search the project list, inspect a single project in full, update its top-level fields, and create or update the budgets and deadlines that hang off it. None of the tools delete anything.
Every call runs as the user who minted the MCP token. Tenant isolation is enforced by the server, and per-tool authorization checks the user's plnnrly permissions before anything is read or written.
Tools
| Tool | Purpose |
|---|---|
list-projects-tool | List projects, filtered by status, customer, managers, dates, tags or title. |
get-project-tool | Fetch one project with its budgets, deadlines and relation counts. |
update-project-tool | Update top-level project fields. Flipping status to invoiced finishes every open deadline. |
list-budgets-tool | List budgets, filtered by project, customer, group, status or dates. |
create-budget-tool | Create a budget under a project. |
update-budget-tool | Update fields on an existing budget. |
create-deadline-tool | Create a deadline under a budget. |
update-deadline-tool | Update any editable field on a deadline. Use update-deadline-status-tool when you only need to change the kanban column. |
Permissions at a glance
| Action | Permission |
|---|---|
| List or get projects | projects::read |
| Update a project | projects::update |
| List budgets | budgets::read |
| Create or update a budget | budgets::create / budgets::update |
| Create a deadline assigned to yourself | kanban::manage_self |
| Create or reassign a deadline to another user (or leave it unassigned) | kanban::manage_for_others |
| Update any of your own deadlines | kanban::manage_self |
| Update someone else's deadline | kanban::manage_for_others |
Permissions a user does not hold cause the tool to return an authorization error.
Common workflows
- "Show me every active ACME project." —
list-projects-toolwithcustomer_idandstatus: "active". - "Give me the full picture of project 42." —
get-project-toolwithid: 42. - "Mark project 42 as invoiced." —
update-project-toolwithstatus: "invoiced"(auto-finishes all open deadlines). - "Add a 40-hour implementation budget under project 42." —
create-budget-toolwithproject_id: 42,budget: 2400. - "Plan a deadline for me on that new budget." —
create-deadline-toolwith the newbudget_id, a date and a description. - "Push the deadline by a week and bump the estimate." —
update-deadline-toolwith the newdeadlineandminutes.