weeek-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@weeek-mcpshow me my open tasks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
weeek-mcp
MCP server for the Weeek Public API. Read tools browse projects, search tasks, read attachments, and (with a browser session) load task comments. Opt-in write tools use mandatory propose → user confirmation → confirm flow.
Features
Can | Cannot |
Projects, boards, columns, tasks | Weeek Docs / Wiki (not in Public API) |
Search / filter tasks, my open tasks | Unconfirmed or autonomous writes |
Opt-in task create/edit/move/delete | |
Members & tags | PDF/DOCX text extract (v1: URL / text files only) |
Attachments: images + txt/md/json/csv | |
Task comments via imported browser session | Comments are not in Public API |
“Documents” here means task attachments, not Weeek Docs.
Related MCP server: Weeek MCP Server
Requirements
Node.js ≥ 20
Weeek API token (Workspace settings → API)
Install
git clone https://github.com/prod-broke-again/weeek-mcp.git
cd weeek-mcp
npm install
npm run buildOptional: refresh vendored OpenAPI with npm run fetch:openapi, then npm run generate:dto.
Configuration
Copy .env.example and set at least WEEEK_API_TOKEN. Never commit .env or session cookies.
Variable | Required | Default | Notes |
| yes | — | Workspace API token |
| no | — | Used when tools omit |
| no | — | e.g. |
| no | all | Read whitelist of project ids |
| no | any readable | Write whitelist (requires |
| no |
| Expose guarded task write tools |
| no |
| 8 MiB |
| no |
| Directory/project cache |
| no |
| Client-side rate limit |
| no |
| Logs go to stderr only |
| no |
| Public API |
| no |
| Private app API host |
| no |
| Browser session store |
| no |
| Propose/confirm token store (required for HTTP gateways) |
| no | — | Optional cookie override |
| no | — | Needed if cookie string has no |
Cursor / Claude Code
Example Cursor MCP config (~/.cursor/mcp.json or project .cursor/mcp.json):
{
"mcpServers": {
"weeek": {
"command": "node",
"args": ["/absolute/path/to/weeek-mcp/dist/bin/weeek-mcp.js"],
"env": {
"WEEEK_API_TOKEN": "your-token",
"WEEEK_DEFAULT_PROJECT_ID": "2",
"WEEEK_READ_ONLY_PROJECTS": "2,5",
"WEEEK_WRITE_PROJECTS": "5",
"WEEEK_ALLOW_WRITE": "true"
}
}
}
}More examples: examples/mcp.cursor.json, examples/mcp.claude.json.
Tools
weeek_context— start here (sessionComments: ready|missing)weeek_auth_status— session check + import instructionsweeek_session_import— paste session JSONweeek_list_projectsweeek_get_projectweeek_get_boardweeek_search_tasksweeek_my_tasksweeek_get_task— card + comments when session is readyweeek_get_task_comments— comments onlyweeek_get_task_treeweeek_read_attachmentweeek_list_membersweeek_list_tagsweeek_propose_create_taskweeek_propose_update_taskweeek_propose_move_taskweeek_propose_delete_taskweeek_confirm_write— only after a separate explicit user confirmation
Typical flow: context → (auth_status / session_import if needed) → search_tasks → get_task → read_attachment.
Guarded writes
Writes are hidden unless WEEEK_ALLOW_WRITE=true. Scope writes with WEEEK_WRITE_PROJECTS (independent of the read whitelist). Enabling the flag does not permit autonomous changes:
The user explicitly asks for one exact change.
The agent calls the matching
weeek_propose_*tool. This validates the payload but does not mutate Weeek.The agent shows the preview and waits.
Only after a separate explicit “yes” does the agent call
weeek_confirm_writewith the single-use, expiring token.
Pending tokens are stored under WEEEK_PENDING_WRITES_DIR so propose/confirm still works when each MCP HTTP request runs in a fresh process (stateless Streamable HTTP gateways).
Task comments (browser session)
Public API has no comments. The web app loads them from:
GET https://api.weeek.net/ws/{workspaceId}/tm/tasks/{taskId}?withSubtasks=1
with session cookies. weeek_session is HttpOnly, so document.cookie cannot see it.
Import once
Call
weeek_auth_status(or open a task viaweeek_get_task_comments).In https://app.weeek.net → DevTools → Network → open any task.
Find
api.weeek.net/ws/.../tm/tasks/...→ Request Headers → Cookie → copy the value.Console: paste the helper from
weeek_auth_status, then runweeekExportSession("PASTE_COOKIE_HERE")
(or pass workspace id as the second argument).Paste the JSON into chat / call
weeek_session_import.
Session is stored at ~/.weeek-mcp/session.json (Windows: %USERPROFILE%\.weeek-mcp\session.json).
Security: the cookie is a live login. Do not commit or share it. If leaked, log out of Weeek or rotate the password.
Development
npm test
npm run typecheck
npm run build
npm run dev # stdio MCP via tsxOpenAPI is vendored at openapi/weeek.json. Layout: domain → application → infrastructure → mcp.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP server for public WeJob jobs, formations, and companies.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Read-only MCP server: let AI agents read your ORANO saved-video library, tasks, and memory.
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol (MCP) server for accessing Productive.io API endpoints (projects, tasks, comments, todos), tailored for read-only operations, providing streamlined access to essential data while minimizing token consumption18MIT
- FlicenseNot gradedqualityDmaintenanceFull-featured MCP server integrating all 71 endpoints of the Weeek API as MCP tools for AI clients, enabling task, project, and workspace management via natural language.3-
- AlicenseCqualityDmaintenanceMCP server for WEEEK Public API v1 enabling management of tasks, projects, boards, tags, custom fields, time tracking, and CRM entities.10053 npmMIT
- AlicenseAqualityBmaintenanceLocal, read-only-by-default MCP server for Weeek that connects AI clients to your workspace over stdio, enabling listing projects, tasks, boards, members, and tags with opt-in write tools for task management.1053 npmMIT