Kaneo

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

Overview

AI-generated overview

Official Kaneo MCP server that lets an assistant manage Kaneo tasks, projects, labels, comments, relations and time entries.

What you can do
  • Look up the signed-in user, workspaces, projects, project columns and custom field definitions
  • List, search, create, update, duplicate, move and delete tasks, including status, assignee and due date changes
  • Manage task comments, labels, and subtask/blocks/related relations between tasks
  • Read and set custom field values on tasks
  • Log, list and update time entries, and read a task's activity history
When to use it
Useful when your team tracks work in Kaneo (cloud or self-hosted) and you want an assistant to read, create or update tasks, comments, labels and time entries from a chat client instead of the web UI.
Requirements
Runs locally over stdio from the npm package @kaneo/mcp, so Node.js is needed. Requires a reachable Kaneo API: KANEO_API_URL defaults to Authentication uses KANEO_API_KEY, or an interactive device flow if the key is omitted.
Before you install
The server can create, update, move and delete tasks, comments, labels and relations, and log time entries, so changes affect real team data. It holds a Kaneo API key (KANEO_API_KEY) with the signed-in user's access to workspaces and projects; keep it out of shared configs. Pointing KANEO_API_URL at a remote host sends task data to that server.

Installation

In SourceWeft

  1. Open Kaneo in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Kaneo's logo]

Project management that doesn't become the project.

[Kaneo project board with the Kaneo logo and tagline]

Built for your team's work

  • See work your way: Board, List, Calendar, and Gantt views, plus a backlog, filters, and search.
  • Keep task context together: descriptions, attachments, subtasks, dependencies, labels, comments, and time tracking.
  • Work with your team: shared workspaces, invitations, custom roles, live updates, and public project views.
  • Shape your workflow: custom columns and fields, with rules that move tasks when repository activity changes.
  • Stay informed: in-app notifications, email, ntfy, Gotify, and personal webhooks.
  • Connect other tools: GitHub and Gitea, chat integrations, project webhooks, a REST API, a command-line client, and MCP for AI assistants.

Installation

Contributing

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.

Sponsors

Kaneo is open source. If you find it useful, consider sponsoring the project to help support ongoing development.

Partners

[CI powered by Blacksmith]

This project is tested with BrowserStack.

Community sponsors

[User avatar: Daniel Sada][User avatar: (justin)randoneering][User avatar: Ryan Ilano][User avatar: Blendbyte]

License

MIT License - see LICENSE for details.


Built with ❤️ by the Kaneo team and contributors

Source: README.md at commit dd92f6b

Tools

41

whoami

Return the current Kaneo user for the configured authentication method.

Takes no parameters.

list_workspaces

List workspaces (Better Auth organizations) the signed-in user can access.

Takes no parameters.

list_projects

List projects in a workspace.

ParametersworkspaceIdrequiredincludeArchived

get_project

Get a single project by ID.

Parametersidrequired

create_project

Create a project in a workspace.

ParametersiconrequirednamerequiredslugrequiredworkspaceIdrequired

update_project

Update project metadata (PATCH-style: only provided fields are changed).

ParametersidrequirediconnameslugisPublicdescription

list_tasks

List 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.

ParameterspagelimitsortBystatusdueAfterprioritydueBeforeprojectIdrequiredsortOrderassigneeIdrelatedPage

get_task

Get a task by ID. Custom field values are not included; use get_task_custom_field_values.

ParameterstaskIdrequired

get_task_by_ticket_id

Get 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.

ParametersticketIdrequiredprojectIdworkspaceId

create_task

Create a task in a project.

ParameterstitlerequiredstatusrequireduserIddueDatepriorityrequiredprojectIdrequiredstartDatedescriptionrequired

duplicate_task

Duplicate a task in the same project, copying its fields and labels. Pass title to rename the copy.

ParameterstitletaskIdrequired

update_task

Update a task (fetches current task, merges fields, then full update).

ParameterstitlestatustaskIdrequireduserIddueDatepositionpriorityprojectIdstartDatedescription

move_task

Move a task to another project (and optional column status).

ParameterstaskIdrequireddestinationStatusdestinationProjectIdrequired

update_task_status

Update only the status (column) of a task.

ParametersstatusrequiredtaskIdrequired

list_task_comments

List comments on a task.

ParameterstaskIdrequired

create_task_comment

Add a comment to a task.

ParameterstaskIdrequiredcontentrequired

update_task_comment

Update one of your comments on a task.

ParameterscontentrequiredcommentIdrequired

delete_task_comment

Delete one of your comments from a task.

ParameterscommentIdrequired

list_workspace_labels

List labels defined in a workspace.

ParametersworkspaceIdrequired

create_label

Create a label in a workspace (optionally attach to a task).

ParametersnamerequiredcolorrequiredtaskIdworkspaceIdrequired

attach_label_to_task

Attach an existing label to a task.

ParameterstaskIdrequiredlabelIdrequired

detach_label_from_task

Detach a label from its current task.

ParameterslabelIdrequired

create_task_relation

Create a relation between two tasks. relationType: 'subtask' (sourceTaskId is the parent, targetTaskId the child), 'blocks' (sourceTaskId blocks targetTaskId), or 'related' (bidirectional).

ParametersrelationTyperequiredsourceTaskIdrequiredtargetTaskIdrequired

get_task_relations

List all relations (subtask/blocks/related) involving a task.

ParameterstaskIdrequired

delete_task_relation

Delete a task relation by its relation ID.

Parametersidrequired

delete_label

Delete a task or workspace label by ID. Workspace-label cascades resume automatically; repeat the tool if pendingDeletion remains true.

Parametersidrequired

list_workspace_members

List the members of a workspace. Use this to resolve the user ID an assignee tool expects.

ParametersworkspaceIdrequired

list_project_columns

List a project's columns. Their slugs are the values update_task_status and create_task accept as a status.

ParametersprojectIdrequired

list_project_custom_fields

List a project's custom field definitions: id, name, type (text, number, date, dropdown, boolean, multiselect), required, options, and defaultValue.

ParametersprojectIdrequired

get_task_custom_field_values

List 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.

ParameterstaskIdrequired

set_task_custom_field_value

Set 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).

ParametersvaluerequiredtaskIdrequiredfieldIdrequired

delete_task

Delete a task by ID.

ParameterstaskIdrequired

update_task_assignee

Assign a task to a workspace member, or pass a null userId to unassign it.

ParameterstaskIdrequireduserIdrequired

update_task_due_date

Set a task's due date. Omit dueDate to clear it.

ParameterstaskIdrequireddueDate

list_task_time_entries

List the time entries logged against a task.

ParameterstaskIdrequired

get_time_entry

Get a single time entry by ID.

Parametersidrequired

create_time_entry

Log time against a task. Omit endTime to leave the entry running.

ParameterstaskIdrequiredendTimestartTimerequireddescription

update_time_entry

Update a time entry. startTime is required; omitting endTime keeps the stored one. startTime cannot be later than the end time.

ParametersidrequiredendTimestartTimerequireddescription

list_task_activity

List a task's activity history.

ParameterstaskIdrequired

list_notifications

List the signed-in user's notifications.

Takes no parameters.

Version history

4
  1. v0.1.14LatestOct 26, 2026
  2. v0.1.13Oct 9, 2026
  3. v0.1.12Oct 1, 2026
  4. v0.1.11Sep 16, 2026

Score

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.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts