whoami
Return the current Kaneo user for the configured authentication method.
Takes no parameters.

io.github.usekaneoPublished by GitHub account usekaneov0.1.14Updated Oct 26, 2026
Official MCP server for Kaneo: manage tasks, projects, and labels from Claude and other MCP clients
Official Kaneo MCP server that lets an assistant manage Kaneo tasks, projects, labels, comments, relations and time entries.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
Project management that doesn't become the project.
[Kaneo project board with the Kaneo logo and tagline]
Code, translations, documentation, and bug reports are welcome. Start with the contributing guide and local development setup. Pay particular attention to contribution eligibility.
Join us on Discord, report bugs in GitHub Issues, or submit and vote on feature requests at Kaneo Feedback.
Kaneo is open source. If you find it useful, consider sponsoring the project to help support ongoing development.
This project is tested with BrowserStack.
MIT License - see LICENSE for details.
Built with ❤️ by the Kaneo team and contributors
Source: README.md at commit dd92f6b
Return the current Kaneo user for the configured authentication method.
Takes no parameters.
List workspaces (Better Auth organizations) the signed-in user can access.
Takes no parameters.
List projects in a workspace.
workspaceIdrequiredincludeArchivedGet a single project by ID.
idrequiredCreate a project in a workspace.
iconrequirednamerequiredslugrequiredworkspaceIdrequiredUpdate project metadata (PATCH-style: only provided fields are changed).
idrequirediconnameslugisPublicdescriptionList a bounded page of tasks for a project (50 by default, maximum 100). Use pagination.totalPages and page to retrieve the rest; filters and sorting apply before pagination. For every task page, also follow relatedPage through pagination.relatedTotalPages for complete labels, links and column metadata. Custom field values are not included; use get_task_custom_field_values.
pagelimitsortBystatusdueAfterprioritydueBeforeprojectIdrequiredsortOrderassigneeIdrelatedPageGet a task by ID. Custom field values are not included; use get_task_custom_field_values.
taskIdrequiredGet one task by its ticket ID (project key and number, e.g. KAN-12). If multiple accessible tasks share the ID, provide workspaceId or projectId.
ticketIdrequiredprojectIdworkspaceIdCreate a task in a project.
titlerequiredstatusrequireduserIddueDatepriorityrequiredprojectIdrequiredstartDatedescriptionrequiredDuplicate a task in the same project, copying its fields and labels. Pass title to rename the copy.
titletaskIdrequiredUpdate a task (fetches current task, merges fields, then full update).
titlestatustaskIdrequireduserIddueDatepositionpriorityprojectIdstartDatedescriptionMove a task to another project (and optional column status).
taskIdrequireddestinationStatusdestinationProjectIdrequiredUpdate only the status (column) of a task.
statusrequiredtaskIdrequiredList comments on a task.
taskIdrequiredAdd a comment to a task.
taskIdrequiredcontentrequiredUpdate one of your comments on a task.
contentrequiredcommentIdrequiredDelete one of your comments from a task.
commentIdrequiredList labels defined in a workspace.
workspaceIdrequiredCreate a label in a workspace (optionally attach to a task).
namerequiredcolorrequiredtaskIdworkspaceIdrequiredAttach an existing label to a task.
taskIdrequiredlabelIdrequiredDetach a label from its current task.
labelIdrequiredCreate a relation between two tasks. relationType: 'subtask' (sourceTaskId is the parent, targetTaskId the child), 'blocks' (sourceTaskId blocks targetTaskId), or 'related' (bidirectional).
relationTyperequiredsourceTaskIdrequiredtargetTaskIdrequiredList all relations (subtask/blocks/related) involving a task.
taskIdrequiredDelete a task relation by its relation ID.
idrequiredDelete a task or workspace label by ID. Workspace-label cascades resume automatically; repeat the tool if pendingDeletion remains true.
idrequiredList the members of a workspace. Use this to resolve the user ID an assignee tool expects.
workspaceIdrequiredSearch across tasks, projects, workspaces, comments, and activities.
qrequiredtypelimitprojectIdworkspaceIdList a project's columns. Their slugs are the values update_task_status and create_task accept as a status.
projectIdrequiredList a project's custom field definitions: id, name, type (text, number, date, dropdown, boolean, multiselect), required, options, and defaultValue.
projectIdrequiredList a task's custom field values with each field's name, type, and options. Fields without a value are omitted. Multiselect values are JSON array strings.
taskIdrequiredSet or clear one custom field value on a task. Get fieldId from list_project_custom_fields. Pass dates as YYYY-MM-DD, a dropdown value as one of its options, multiselect values as an array of options, and null to clear the value (required fields can't be cleared).
valuerequiredtaskIdrequiredfieldIdrequiredDelete a task by ID.
taskIdrequiredAssign a task to a workspace member, or pass a null userId to unassign it.
taskIdrequireduserIdrequiredSet a task's due date. Omit dueDate to clear it.
taskIdrequireddueDateList the time entries logged against a task.
taskIdrequiredGet a single time entry by ID.
idrequiredLog time against a task. Omit endTime to leave the entry running.
taskIdrequiredendTimestartTimerequireddescriptionUpdate a time entry. startTime is required; omitting endTime keeps the stored one. startTime cannot be later than the end time.
idrequiredendTimestartTimerequireddescriptionList a task's activity history.
taskIdrequiredList the signed-in user's notifications.
Takes no parameters.
90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.