
Weeek Mcp
io.github.YOLKINS由 GitHub 帳號 YOLKINS 發布v1.0.1更新於 Oct 24, 2026
Local MCP server for Weeek (stdio transport) — read-only by default, opt-in write tools.
概覽
一個本機 MCP 伺服器,將助理連接到 Weeek 工作區,可讀取專案、任務、看板、成員與標籤,並可選擇啟用任務寫入工具。
- 可以做什麼
- 檢查傳輸健康狀態並確認權杖對應的 Weeek 使用者,列出並讀取專案及其描述,依篩選與分頁列出任務,或依 id 取得單一任務,列出工作區成員、標籤、看板及依排序排列的看板欄位,僅在啟用寫入後,建立、編輯、移動與完成任務,或在自訂欄位中記錄合併/拉取請求連結。
- 適用情境
- 適合讓 Claude Desktop、Claude Code、Cursor 或 Cline 等 AI 用戶端在對話中直接查詢 Weeek 專案與任務。只有在你確實希望助理修改權杖可存取的工作區任務時,才啟用寫入工具。
- 執行需求
- 透過 npx 以 stdio 在本機執行,需要 Node 20 或更新版本,無需複製或建置。必須在 WEEEK_ACCESS_TOKEN 提供 Weeek Public API v1 存取權杖,否則伺服器會拒絕啟動。選用設定包括 WEEEK_BASE_URL、WEEEK_TIMEOUT_MS、READ_ONLY、ENABLED_TOOLS、MAX_RESPONSE_CHARS 與 LOG_LEVEL。需要能連線至 Weeek API 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Weeek Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
weeek-mcp
Local, read-only-by-default MCP server for Weeek — with opt-in write tools.
[npm version] [npm downloads] [CI] [License: MIT] [MCP]
weeek-mcp connects AI clients (Claude Desktop, Claude Code, Cursor, MCP
Inspector) to your Weeek workspace over stdio. It is read-only by default —
a default install can list projects, tasks, boards, members and tags but change
nothing — and exposes five write tools only when you opt in with READ_ONLY=false.
Runs on Node ≥ 20; install with npx, no clone or build required.
Why this one
- On npm.
npx -y weeek-mcpworks today — no clone, no build, no absolute paths. - Read-only by default, with composable gates. Writes are simply not
registered unless you opt in;
ENABLED_TOOLSwhitelists a subset andMAX_RESPONSE_CHARScaps every payload. Server-side, not client convention. - Bilingual. Full EN ↔ RU documentation parity.
- Granular error model. Nine distinct error codes with agent-readable messages, so a model knows when to retry versus give up without parsing prose.
Quickstart
The recommended install path is npx — no clone, no build. Drop
examples/claude_desktop.mcp.json into your
MCP client config, replace YOUR_WEEEK_TOKEN_HERE with a real token from
https://app.weeek.net/ws/_/settings/apps/api, and restart the client:
npx downloads weeek-mcp on first launch and caches it. Cursor and Cline use
the same mcpServers shape — see examples/cursor.mcp.json
and examples/cline.mcp.json. Other env vars have safe
defaults; override only what you need (see Configuration). If
npx cannot find node (typical with nvm), see
Troubleshooting; for a zero-dependency smoke test see
docs/smoke.md.
examples/lives on GitHub only — the npm tarball shipsdist/+README.md+README.ru.md+LICENSE.
Tools
Ten read tools are exposed by default. All fifteen appear only under
READ_ONLY=false (see Enabling write tools).
Full field-level reference (inputs, outputs, edge cases, truncation, multi-assignee) → docs/tools.md.
Enabling write tools
The default install cannot change anything in your workspace. All five
mutating tools are hidden behind READ_ONLY (default true) — not registered,
so they never appear in tools/list. Setting READ_ONLY=false takes
tools/list from ten tools to fifteen and lets the agent create, edit, move
and complete tasks in the workspace the token can reach. There is no
server-side confirmation step — annotations are a hint an MCP client is free
to ignore. Point the token at a workspace whose contents you are willing to see
changed.
Start with one tool, not five. READ_ONLY=false intersected with
ENABLED_TOOLS gives you writes on, but only the one you asked for:
READ_ONLY is the outer gate: naming a write tool in ENABLED_TOOLS does
not by itself opt into writes. The allowlist is not additive, so list the read
tools you need alongside it —
examples/claude_desktop.write.mcp.json
is a ready-to-edit config that does exactly that.
What each write tool can and cannot do
The three true rows are marked "worth a human confirm" because the agent
never saw the old value and cannot put it back; weeek_create_task is the one
to watch — its effect cannot be undone through this server, and a retried create
files a second task. weeek_set_task_mr_link resolves its custom field by
name unless you pass custom_field_id / custom_field_name — the matched names
and ambiguity rules are in
docs/tools.md.
Configuration
Read from the environment at startup and validated with zod; invalid values
abort startup on stderr with a non-zero exit code. The server never reads a
.env file itself — pass variables through your MCP client's env block or
your shell.
Both gates run server-side: a hidden tool is not registered, so an agent
cannot call it. READ_ONLY is load-bearing — leave it at the default unless you
intend an agent to change your workspace. See .env.example for a
copy-pasteable template.
Troubleshooting
NVM workaround — spawn npx ENOENT / spawn node ENOENT
Claude Desktop and Cursor launch their MCP subprocess under a non-interactive
shell that does not source ~/.nvm/nvm.sh, so a bare "command": "npx"
silently fails when Node is installed via nvm. Either hard-code an absolute path
— run which npx and paste the result as command (update it whenever you
switch nvm version); the package is still downloaded and cached on first run:
— or point command at a small wrapper script that sources ~/.nvm/nvm.sh
before exec npx "$@", which survives nvm version changes.
Errors
Every Weeek tool fails the same way: isError: true with a single-line
<tool> failed (<weeek_code>): <one English sentence>. The weeek_<code> token
is the stable, machine-greppable contract; the sentence guides self-correction.
Nine codes cover unauthorized / forbidden / not-found / validation / rate-limit
/ server / network / timeout / invalid-response, each with retry guidance.
Full table with retry semantics → docs/errors.md.
Contributing · Security · License
- Contributing — issues and feature requests are welcome; pull requests are by prior agreement (this repo runs a strictly linear increment process). See CONTRIBUTING.md.
- Security — found a way to leak the token or a byte on stdout? Do not open a public issue; see SECURITY.md for the private channel and threat model.
- License — MIT.
- For AI coding agents — the entry-point contract (invariants, pinned deps, pre-merge checklist) lives in CLAUDE.md.
CONTRIBUTING.md, SECURITY.md and CLAUDE.md live on GitHub only — like
examples/, they are not in the npm tarball. LICENSE is the exception: it
ships inside the package.
來源:README.md,提交 d82ce35
工具
0版本歷史
1- v1.0.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分