emperor-vikunja
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RUST_LOG | No | Log level; logs go to stderr. | info |
| VIKUNJA_URL | Yes | Base URL of the Vikunja instance, e.g. https://todo.example.com. | |
| VIKUNJA_TOKEN | Yes | Vikunja API token used for every call. | |
| VIKUNJA_WRITABLE | No | Offer create, update and comment tools. true, 1, yes or on turns it on; unset or false leaves it off. | false |
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 |
|---|---|
| commentC | Add a comment (Markdown) to a task. |
| create_taskA | Create a task in a project, with an optional Markdown description, labels (existing ones unless create_missing_labels is true), assignees by username, priority 0-5 and due date. |
| get_taskA | Read one task: every field, the description as text, and its comments with author and date (the 50 most recent; long text is cut). |
| list_projectsA | List projects with id, title, parent project and number of open tasks (up to 100). |
| list_tasksA | List tasks, open ones by default, sorted by priority then due date. Filters: project, label, done, due_before, search; limit up to 100. |
| update_taskA | Change a task: any of title, description (Markdown, replaces the old one), done, priority, due ("none" clears it), add_labels / remove_labels, add_assignees / remove_assignees (usernames), or move it to another project. |
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 6 tools
Each tool targets a distinct resource+action: listing projects vs listing tasks vs reading one task vs creating/updating a task, plus adding a comment. The only mild overlap is `comment` versus `update_task`, since commenting is arguably a mutation of a task, but the descriptions make the boundary clear.
Five of six tools follow a clean verb_noun pattern (list_projects, list_tasks, get_task, create_task, update_task). The lone `comment` is a bare verb with no object, a minor deviation rather than a different convention.
Six tools is well-scoped for a focused task-management integration, and the design wisely folds labels, assignees, priority, due date and project moves into create/update parameters instead of adding one tool per field. Every tool earns its place.
Task lifecycle is covered for create/read/list/update/comment, but there is no delete or archive operation for tasks and no way to create or manage projects beyond listing them. Comment reading is also capped at the 50 most recent with no pagination escape hatch, which will bite on long threads.