原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Weeek MCP

作者:YOLKINS版本 1.0.1i★ –i在你的电脑上运行
注册名称io.github.YOLKINS/weeek-mcp

安装

概览

作者提供的说明(英文原文)

Local MCP server for Weeek (stdio transport) — read-only by default, opt-in write tools.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:WEEEK_ACCESS_TOKEN

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: WEEEK_ACCESS_TOKEN, READ_ONLY, ENABLED_TOOLS, WEEEK_BASE_URL, WEEEK_TIMEOUT_MS, MAX_RESPONSE_CHARS

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "weeek": {
      "command": "npx",
      "args": [
        "-y",
        "weeek-mcp"
      ],
      "env": {
        "WEEEK_ACCESS_TOKEN": "your-value",
        "READ_ONLY": "your-value",
        "ENABLED_TOOLS": "your-value",
        "WEEEK_BASE_URL": "your-value",
        "WEEEK_TIMEOUT_MS": "your-value",
        "MAX_RESPONSE_CHARS": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add weeek --env WEEEK_ACCESS_TOKEN=your-value --env READ_ONLY=your-value --env ENABLED_TOOLS=your-value --env WEEEK_BASE_URL=your-value --env WEEEK_TIMEOUT_MS=your-value --env MAX_RESPONSE_CHARS=your-value -- npx -y weeek-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "weeek": {
      "command": "npx",
      "args": [
        "-y",
        "weeek-mcp"
      ],
      "env": {
        "WEEEK_ACCESS_TOKEN": "your-value",
        "READ_ONLY": "your-value",
        "ENABLED_TOOLS": "your-value",
        "WEEEK_BASE_URL": "your-value",
        "WEEEK_TIMEOUT_MS": "your-value",
        "MAX_RESPONSE_CHARS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "weeek": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "weeek-mcp"
      ],
      "env": {
        "WEEEK_ACCESS_TOKEN": "your-value",
        "READ_ONLY": "your-value",
        "ENABLED_TOOLS": "your-value",
        "WEEEK_BASE_URL": "your-value",
        "WEEEK_TIMEOUT_MS": "your-value",
        "MAX_RESPONSE_CHARS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • WEEEK_ACCESS_TOKEN 机密 必填 env
    Weeek Public API v1 access token. Required — the server refuses to start without it.
  • READ_ONLY env
    Gate for the write tools. Defaults to 'true': a fresh install exposes only the ten read tools. Set to 'false' to additionally expose the five write tools (create/update/move/complete a task, set an M…
  • ENABLED_TOOLS env
    Optional comma-separated allowlist of tool names to register (still subject to READ_ONLY). Pair with READ_ONLY=false for a granular write rollout, e.g. 'weeek_complete_task'.
  • WEEEK_BASE_URL env
    Override the Weeek API base URL. Defaults to the public v1 endpoint.
  • WEEEK_TIMEOUT_MS env
    Per-request timeout in milliseconds.
  • MAX_RESPONSE_CHARS env
    Upper bound on the JSON length of a single tool response, protecting the agent's context window from unbounded list/detail payloads.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 YOLKINS 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 18665 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 18665 个服务器的 27% 更新
  • 基础检查结果等于或优于此分类中其他 18665 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Weeek MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:WEEEK_ACCESS_TOKEN

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.1)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Systemdox

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

作者:formulahendry起步阶段↓ 66/周★ 44014个月前更新

在你的电脑上运行

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

作者:desktop-commander正在增长★ 2113天前更新

在云端运行✓ desktopcommander.app

Systemdox

Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.

作者:puglieseweb正在增长↓ 3028/周今天更新

在你的电脑上运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

weeek-mcp

Local, read-only-by-default MCP server for Weeek — with opt-in write tools.

Русская версия README

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-mcp works 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_TOOLS whitelists a subset and MAX_RESPONSE_CHARS caps 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:

{

"mcpServers": { "weeek": { "command": "npx", "args": ["-y", "weeek-mcp"], "env": { "WEEEK_ACCESS_TOKEN": "YOUR_WEEEK_TOKEN_HERE" } } } }

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 ships dist/ +

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).

Read toolReturns
pingpong: — transport health check, no API call, no token
weeek_get_methe authenticated user (id, email, name) — confirms the token
weeek_list_projectsevery project visible to the token
weeek_get_projecta single project by id, including its description
weeek_list_tasksone page of tasks (filters + offset/per_page pagination)
weeek_get_taska single task by id, with multi-assignee fields
weeek_list_membersevery workspace member
weeek_list_tagsevery tag
weeek_list_boardsevery board in a project
weeek_list_board_columnsevery column of a board, in sort order
Write tool (READ_ONLY=false)Does
weeek_complete_taskflips the completion flag; completed: false re-opens
weeek_move_taskmoves a task to a board column (a column *is* a status)
weeek_create_taskfiles a new task and returns it with its new id
weeek_update_taskedits title / priority / type / due date
weeek_set_task_mr_linkrecords a merge/pull-request URL in a custom field

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.

"env": {

"WEEEK_ACCESS_TOKEN": "YOUR_WEEEK_TOKEN_HERE", "READ_ONLY": "false" }

Start with one tool, not five. READ_ONLY=false intersected with ENABLED_TOOLS gives you writes on, but only the one you asked for:

"env": {

"WEEEK_ACCESS_TOKEN": "YOUR_WEEEK_TOKEN_HERE", "READ_ONLY": "false", "ENABLED_TOOLS": "weeek_complete_task" }

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
ToolChangesUndone bydestructiveHintidempotentHint
weeek_complete_taskone completion flagre-firing with completed: falsefalsetrue
weeek_set_task_mr_linkone custom field's valuere-setting itfalsetrue
weeek_move_taskthe task's board column (and board)moving it back — if you know where it wastruefalse
weeek_update_tasktitle / priority / type / due datere-setting each field — if you know the old valuetruefalse
weeek_create_taskfiles a new taskdeleting it, which this server cannot dotruefalse

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.

VariableRequiredDefaultPurpose
WEEEK_ACCESS_TOKENyes—Personal Weeek API token (≥ 20 chars; placeholders and whitespace-padded values are rejected).
WEEEK_BASE_URLnohttps://api.weeek.net/public/v1Base URL for the Weeek HTTP client. Override for self-hosted proxies.
WEEEK_TIMEOUT_MSno30000Per-request timeout (ms). Positive integer.
READ_ONLYnotrueHide write tools. When true, any tool whose readOnlyHint !== true is not registered. Accepts true/false/1/0.
ENABLED_TOOLSno(unset = all)Comma-separated allowlist of tool names, still intersected with READ_ONLY. Unknown names WARN; an empty result aborts startup.
MAX_RESPONSE_CHARSno65536Byte budget per response; over-budget payloads are clipped and flagged truncated: true. Min 1024, max 1000000.
LOG_LEVELnoinfoLogger threshold: debug, info, warn, error. Unknown values fall back to info.

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

SymptomLikely causeFix
Server doesn't appear in the clientcommand points at a node the client cannot find, or dist/index.js is missing/non-executableRun npm run build; confirm ls -la dist/index.js shows 0755. Use the absolute path from which node (see NVM note below).
MCP server failed to start immediatelySame as above, plus node_modules missingRun npm install && npm run build from the repo root.
invalid env: WEEEK_ACCESS_TOKEN: ... on stderrToken contains whitespace/control chars, or is the placeholderGenerate a real token at https://app.weeek.net/ws/_/settings/apps/api and paste it without surrounding spaces or newlines.
invalid env: WEEEK_BASE_URL: ...URL uses a non-http(s) scheme or contains user:pass@Use plain https://api.weeek.net/public/v1; route credentials through WEEEK_ACCESS_TOKEN.
EACCES launching dist/index.jspostbuild chmod skippedchmod +x dist/index.js.
npm start works but the client failsThe client launches under a different PATH than your shellSee the NVM workaround below.

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:

{ "command": "/Users/<you>/.nvm/versions/node/v20.18.0/bin/npx", "args": ["-y", "weeek-mcp"] }

— 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 failed ( ): . The weeek_ 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.

weeek_get_task failed (weeek_not_found): Weeek returned 404 for this resource. Verify the id exists in the configured workspace and was not deleted.

weeek_list_tasks failed (weeek_rate_limited): Weeek rate-limited the request (HTTP 429). Retry after a brief delay or reduce the call frequency.

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.

问 PopNx