MCP server
Your project board, inside your AI assistant.
Kantanit ships a standard MCP server. Connect it to Claude, Claude Code, Cursor or any MCP-compatible client and manage tasks, boards and sprints in plain language.
https://api.kantanit.app/mcp Connect
Two ways in. Pick the one your client supports.
Option A · No token
Sign in with OAuth
For clients with remote MCP connectors, such as the Claude apps. Nothing to copy or store.
- In Claude, open Settings → Connectors → Add custom connector.
-
Paste the server URL:
https://api.kantanit.app/mcp - Sign in to Kantanit, pick the workspace and choose an access level: Read only or Read and write.
Option B · Any client
Use an API token
For Claude Code, Cursor and every client that sends an Authorization header.
- In Kantanit, open User settings → API Tokens and create a token.
- Choose its scopes and expiry. Read scopes come preselected; write scopes are opt-in.
-
Copy the
sk-mho_…token right away. It is shown only once.
Claude Code
claude mcp add --transport http kantanit https://api.kantanit.app/mcp \
--header "Authorization: Bearer sk-mho_YOUR_TOKEN_HERE" Run /mcp inside Claude Code to confirm the server is connected.
Cursor and other JSON-configured clients
{
"mcpServers": {
"kantanit": {
"url": "https://api.kantanit.app/mcp",
"headers": {
"Authorization": "Bearer sk-mho_YOUR_TOKEN_HERE"
}
}
}
}
In Cursor this goes in ~/.cursor/mcp.json. The transport is Streamable HTTP.
get_current_workspace and answer with the workspace name and your role.
Permissions
Scoped access. Read only until you say otherwise.
Every connection carries a set of scopes, and the assistant only sees the tools those scopes allow.
Write scopes are never granted by default. A scope also never replaces a board role: a viewer with a
tasks:write token still cannot modify tasks.
| Scope | What it allows |
|---|---|
workspace:read | Workspace info, workspace members and teams |
boards:read | Boards, their statuses, types, members and tags, board templates and board analytics |
boards:write opt-in | Create, update and archive boards; add board members; create board tags |
tasks:read | View and search tasks, task details and comments |
tasks:write opt-in | Create, update, complete and delete tasks; comment; add and remove tags |
sprints:read | Sprint list, active sprint status, burndown and health |
sprints:write opt-in | Create, start and complete sprints; move tasks in and out of a sprint |
activity:read | Daily activity and a task's change history |
Tools
39 tools. The whole workflow, end to end.
"Board role" is the minimum role you need on the board; read tools only need membership. Tools marked confirms overwrite or remove data, so clients may ask you before running them.
Workspace and team
Who is in the workspace, how teams are organized, and what happened today.
| Tool | What it does | Scope | Board role |
|---|---|---|---|
get_current_workspace | Workspace name, your role and image | workspace:read | — |
list_workspace_members | Workspace members, searchable, to resolve who is who | workspace:read | — |
list_teams | Teams of the workspace, optionally with their members | workspace:read | — |
get_today_activity | Summary of your activity for the day, in your timezone | activity:read | — |
Boards
Read the shape of a board, measure it, or create a new one from a template.
| Tool | What it does | Scope | Board role |
|---|---|---|---|
list_boards | Boards of the workspace, optionally including archived ones | boards:read | — |
list_board_statuses | Workflow statuses of a board | boards:read | any |
list_board_types | Task types of a board | boards:read | any |
list_board_members | Board members, to pick assignees | boards:read | any |
list_board_templates | Templates available when creating a board | boards:read | — |
get_board_analytics | One metric (throughput, cycle time, workload and more) over 7, 14, 30 or 90 days | boards:read | any |
create_board write | Create a board from a template or a custom workflow | boards:write | — |
update_board write confirms | Rename a board or change its description | boards:write | manager |
archive_board write confirms | Archive a board (restorable from the app only) | boards:write | owner |
add_board_member write | Add a workspace member to a board | boards:write | manager |
Tasks
Find work by title or by key such as KAN-42, then create, update, complete or comment.
| Tool | What it does | Scope | Board role |
|---|---|---|---|
get_my_tasks | Tasks assigned to you | tasks:read | — |
get_overdue_tasks | Overdue tasks of a board | tasks:read | any |
get_unassigned_tasks | Unassigned tasks of a board | tasks:read | any |
search_tasks | Search and filter tasks on one board, or across every board you belong to | tasks:read | any |
get_task_details | Full task detail, with comments and dependencies | tasks:read | any |
list_task_comments | Comments of a task, paginated | tasks:read | any |
get_task_activity | Change history of a task | activity:read | any |
create_task write | Create a task | tasks:write | member |
update_task write confirms | Update task fields | tasks:write | member |
complete_task write | Move a task to a done status of the board | tasks:write | member |
delete_task write confirms | Delete a task (soft delete) | tasks:write | member |
add_task_comment write | Comment on a task | tasks:write | member |
Tags
Create board tags and label tasks with them. Tagging a task never creates a tag on the side.
| Tool | What it does | Scope | Board role |
|---|---|---|---|
list_tags | Tags usable on a board, or the workspace-wide ones | boards:read | any |
create_tag write | Create a tag on a board, with an optional color (workspace-wide tags are created in the app) | boards:write | member |
add_tags_to_task write | Add existing tags to a task, by id or by name | tasks:write | member |
remove_tags_from_task write confirms | Remove tags from a task | tasks:write | member |
Sprints
Plan a sprint, start it, watch its burndown and health, and close it out.
| Tool | What it does | Scope | Board role |
|---|---|---|---|
list_sprints | Sprints of a board, filterable by status | sprints:read | any |
get_sprint_status | Status of the active sprint | sprints:read | any |
get_sprint_burndown | Burndown of a sprint, measured in tasks | sprints:read | any |
get_sprint_health | Health grade, trend, contributing factors and recommendations | sprints:read | any |
create_sprint write | Create a sprint in planning status | sprints:write | manager |
start_sprint write | Start a planned sprint | sprints:write | manager |
complete_sprint write confirms | Complete a sprint; unfinished tasks go to the backlog or the next planned sprint | sprints:write | manager |
add_tasks_to_sprint write | Add tasks to a sprint | sprints:write | manager |
remove_tasks_from_sprint write confirms | Send tasks back to the backlog | sprints:write | manager |
Task tools return the human key of each task (such as KAN-42) next to its id, and
search_tasks accepts a key as the search term, so you can refer to tasks the way your team already does.
Troubleshooting
When something does not connect.
- 401 Invalid or missing token
- Check that the token starts with sk-mho_, was copied in full, and has not been revoked or expired.
- The client lists fewer tools than expected
- The tool list depends on the granted scopes. A Read only connection shows only the read tools. Create a token with the scope you need, or reconnect the connector choosing Read and write.
- New tools are missing after an update
- OAuth scopes are fixed when the connection is authorized. Disconnect and reconnect the connector to pick up tools that were added later.
- A write tool says your role is not enough
- Scopes and board roles are separate checks. Ask a board manager or owner for the role listed next to the tool.
- Session not found
- The session expired. Most clients reconnect on their own; if not, restart the client.
- 429 Too Many Requests
- The rate limit is 60 requests per minute per connection. Wait a minute and try again.
Ready when you are
Stop alt-tabbing to your project board.
Start managing work from your IDE, your browser, or your AI assistant. Set up in under 5 minutes.