weeek-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WEEEK_EMAIL | No | First automated KB login. Optional (skip if 2FA/SSO — use weeek-mcp-login). | |
| WEEEK_HEADLESS | No | false to watch the browser during login. | |
| WEEEK_PASSWORD | No | First automated KB login. Optional (skip if 2FA/SSO — use weeek-mcp-login). | |
| WEEEK_API_TOKEN | No | Task API token. Required for task tools. | |
| WEEEK_DEBUG_LOG | No | 1/true to write diagnostic timing/step logs to ~/.local/state/weeek-mcp/debug.log. | |
| WEEEK_KB_CACHE_TTL | No | Seconds to cache the KB document list (default 300). | 300 |
| WEEEK_WORKSPACE_ID | No | KB workspace id. Optional — auto-detected via /ws when unset. | |
| WEEEK_STORAGE_STATE | No | Where the browser session is cached (defaults under ~/.local/state). |
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 | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| weeek_whoamiA | Return the current user (id, name) for the API token. Useful to get your userId for assignments. |
| weeek_list_membersB | List workspace members (id, name, email) — use their ids as assignees. |
| weeek_list_projectsA | List all task-manager projects (id, name). |
| weeek_list_boardsB | List boards of a project. |
| weeek_list_board_columnsC | List board columns (statuses) for a board. board_id is required by the Weeek API. |
| weeek_list_tasksB | List tasks with optional filters (project, board, column, assignee, completion, tags, text search). |
| weeek_get_taskC | Get one task by id. |
| weeek_create_taskA | Create a task. Requires a project_id (and normally a board_column_id, which you get from weeek_list_board_columns). Dates are set separately via weeek_update_task. |
| weeek_update_taskC | Update a task's fields (title, priority, type, dates, duration, tags), its custom field values, and its description. |
| weeek_list_custom_fieldsA | List the task custom fields visible in a project (id, name, type, select options). Weeek's public API exposes no schema endpoint for them, so this reads the fields off one of the project's tasks — a project with no tasks yet returns nothing. Tasks list every field of the workspace, so some of them may belong to other projects; writing to one of those is reported as an error. |
| weeek_complete_taskC | Mark a task complete. |
| weeek_uncomplete_taskB | Mark a completed task as not complete. |
| weeek_delete_taskC | Delete a task by id. |
| weeek_move_taskB | Move a task to a board column (status) and/or to another board. Give at least one of board_column_id, board_id. |
| weeek_set_assigneesC | Add assignees to a task (member ids from weeek_list_members). |
| weeek_remove_assigneesC | Remove assignees from a task. |
| weeek_set_task_parentA | Nest a task under another one, or detach it with parent_id null. after/before place it among its new siblings. |
| weeek_add_task_to_projectB | Put a task into a project (a task can live in several). Optionally target a board column there. |
| weeek_remove_task_from_projectB | Remove a task from one of the projects it belongs to. |
| weeek_set_watchersC | Add watchers (subscribers) to a task — member ids from weeek_list_members. |
| weeek_remove_watchersC | Remove watchers from a task. |
| weeek_task_timerC | Start or stop the running timer on a task. |
| weeek_manage_time_entryB | Log time on a task, or edit/delete a logged entry. create and update need user_id, date, duration; delete needs entry_id. |
| weeek_upload_attachmentB | Attach local files to a task. Paths must exist on this machine. |
| weeek_get_attachmentC | Get one attachment's metadata and download URL by file id. |
| weeek_manage_tagsB | Workspace tags: list them (with ids to use in weeek_update_task), create, rename/recolor, or delete one. |
| weeek_manage_projectsB | Create, update, delete, archive or unarchive a project. Use weeek_list_projects to read them. |
| weeek_manage_boardsA | Create, rename, delete or reorder a board. Use weeek_list_boards to read them. |
| weeek_manage_board_columnsB | Create, rename, delete or reorder a board column (status). Use weeek_list_board_columns to read them. |
| weeek_manage_portfoliosB | List, create, rename or delete portfolios (the folders projects live in). |
| weeek_manage_custom_fieldsA | Create, update, delete, move or transfer custom fields and their select options. A field belongs to one board, one project, or the whole task manager (scope global) — set scope and scope_id accordingly. weeek_list_custom_fields reads the fields a project's tasks actually show. |
| weeek_list_task_commentsB | List a task's comments, oldest first, with their author and text. |
| weeek_add_task_commentA | Comment on a task. The text is Markdown (paragraphs, lists, bold/italic/code, links) and posts as you. Weeek's public API has no comments, so this drives its web API through the browser session — it needs WEEEK_EMAIL/WEEEK_PASSWORD or a cached login. |
| weeek_update_task_commentA | Rewrite one of your comments (Markdown), keeping it in place instead of posting a correction after it. comment_id comes from weeek_list_task_comments. |
| weeek_delete_task_commentA | Delete a comment for good — Weeek keeps no trash for these. To fix wording, prefer weeek_update_task_comment. comment_id comes from weeek_list_task_comments. |
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 35 tools
Most tools have clearly distinct purposes with detailed descriptions that cross-reference related tools. A few pairs could be confused (e.g., move_task vs add_task_to_project, manage_time_entry vs task_timer), but the descriptions generally clarify the boundaries.
All tool names use a consistent snake_case with the weeek_ prefix and mostly follow a verb_noun pattern (list_, manage_, get_, create_, update_, delete_, add_, remove_, set_, move_, etc.). Minor deviations like 'whoami' and 'task_timer' break the pattern, and 'manage_' is used for multi-action tools, but overall the convention is predictable.
With 35 tools, the surface is heavy for a single MCP server, exceeding the typical 3-15 range. However, the breadth of the task management domain (projects, tasks, boards, columns, comments, custom fields, tags, time tracking, attachments, members, assignments, portfolios) justifies many of them, though some consolidation could still reduce the count.
The tool set covers core CRUD and lifecycle operations for most entities: projects, tasks, boards, columns, comments, custom fields, tags, time entries, attachments, assignees, watchers, and portfolios. Notable gaps include no list operation for time entries or attachments (only create/get), and no direct read of a single project or board, but these are minor and workable around.