Vikunja MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VIKUNJA_URL | No | Your Vikunja API base URL | https://try.vikunja.io/api/v1 |
| VIKUNJA_TOKEN | Yes | Your Vikunja API token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsC | List all projects the user has access to |
| get_projectC | Get a specific project by ID |
| create_projectC | Create a new project |
| update_projectC | Update an existing project |
| delete_projectC | Delete a project by ID |
| list_project_childrenC | List all child projects of a project |
| move_projectC | Move a project to a different parent or position |
| list_tasksB | List all tasks across all projects |
| list_project_tasksC | List all tasks for a specific project |
| get_taskC | Get a specific task by ID |
| create_taskC | Create a new task in a project |
| update_taskC | Update an existing task |
| delete_taskC | Delete a task by ID |
| complete_taskC | Mark a task as done |
| reopen_taskC | Reopen a completed task |
| move_taskC | Move a task to a different project or position |
| add_task_assigneeC | Add a user as assignee to a task |
| remove_task_assigneeC | Remove a user from task assignees |
| list_task_assigneesC | List all assignees for a task |
| add_task_labelC | Add a label to a task |
| remove_task_labelC | Remove a label from a task |
| list_task_labelsC | List all labels for a task |
| list_labelsC | List all available labels |
| list_task_relationsC | List all relations for a task |
| create_subtaskC | Create a subtask under a parent task |
| list_subtasksB | List all subtasks for a task |
| delete_task_attachmentC | Delete an attachment from a task |
| move_task_to_bucketC | Move a task to a different kanban bucket |
| list_commentsC | List all comments for a specific task |
| delete_commentC | Delete a comment from a task |
| create_relationC | Create a relation between two tasks |
| delete_relationC | Delete a relation between two tasks |
| list_attachmentsC | List all attachments for a specific task |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Every tool has a clearly distinct purpose with no ambiguity. Tools are precisely scoped to specific actions on specific resources (e.g., add_task_assignee vs. remove_task_assignee, create_task vs. update_task vs. delete_task). The descriptions reinforce this clarity, making misselection unlikely.
Tool names follow a highly consistent verb_noun pattern throughout (e.g., create_project, list_tasks, update_task). All names use snake_case uniformly, and verbs are predictable (create, get, list, update, delete, add, remove, move, complete, reopen). This consistency enhances readability and predictability.
With 33 tools, the count feels heavy for a task management server, bordering on excessive. While the tools cover many operations, a more streamlined set might improve usability. This is borderline, as it could overwhelm agents but is not extreme.
The tool surface is complete for the Vikunja task management domain. It covers full CRUD/lifecycle operations for projects, tasks, comments, attachments, labels, assignees, and relations, with no obvious gaps. Agents can perform all expected workflows without dead ends.