cswork / MCP去题库练习

MODEL CONTEXT PROTOCOL

在 Claude Code 和 Cursor 里练题

装上 CSWork 的 MCP 服务器,就能在 AI 编辑器里读题、跑样例、正式提交、看判题结果,用的是网站上同一套题库和评测,进度也记在你的账号上。

  1. 生成访问令牌

    登录后打开 账号页,在「在 AI 编辑器里练题(MCP)」里起个名字并生成令牌。令牌只显示一次,复制下来;不用了随时吊销。

  2. 下载服务器脚本

    一个文件,只用 Node 18 以上自带的模块,没有依赖。 先看看源码

    终端
    mkdir -p ~/.cswork && curl -fsSL https://cswork.org/mcp/cswork-mcp.mjs -o ~/.cswork/cswork-mcp.mjs
  3. 接到编辑器

    Claude Code

    终端
    claude mcp add --transport stdio cswork --scope user \
      --env CSWORK_TOKEN=cswork_pat_your_token \
      -- node ~/.cswork/cswork-mcp.mjs

    把 cswork_pat_your_token 换成你的令牌。--scope user 让所有项目都能用;在 Claude Code 里输入 /mcp 能看到 cswork 已连接。

    Cursor

    ~/.cursor/mcp.json
    {
      "mcpServers": {
        "cswork": {
          "command": "node",
          "args": [
            "/Users/you/.cswork/cswork-mcp.mjs"
          ],
          "env": {
            "CSWORK_TOKEN": "cswork_pat_your_token"
          }
        }
      }
    }

    路径要写绝对路径(终端里 echo ~ 能看到你的主目录)。只想在一个项目里用,就写到项目的 .cursor/mcp.json。保存后在 Cursor 设置的 MCP 页面里打开 cswork。

    其他 MCP 客户端

    任何支持 stdio 的客户端都行:命令是 node,参数是脚本路径,环境变量 CSWORK_TOKEN 填令牌。想看中文题面就再加 CSWORK_LANG=zh。

  4. 开始练

    • 「给我今天的 cswork 每日一题」
    • 「在 cswork 上找几道 Amazon OA 的滑动窗口题」
    • 「先用样例跑一下我的代码,过了再正式提交」

    服务器会提醒模型让你自己写解法;想看提示或题解时直接说。

工具

get_daily_problem
今天的每日一题,带完整题面和样例。
search_problems
按标题、题号、难度或公司搜索可评测的算法题和 OA 真题。
get_problem
一道题的题面、时空限制、样例和 LeetCode 模式代码模板。
run_code
在公开样例或自定义输入上运行代码,不算正式提交。
submit_code
正式提交,跑全部测试点(含隐藏点),计入进度和打卡。
get_submission
查看运行或提交的结果和每个测试点,判题中会等最多 30 秒。

令牌安全与限额

  • 令牌只能读题、运行和提交代码、看自己的结果;读不到笔记和题单,改不了账号,也不能生成新令牌。
  • 服务器只保存令牌的 SHA-256 哈希;令牌泄露了就在账号页吊销,立刻失效。
  • 每个令牌每分钟最多 60 次请求;通过令牌的运行加提交每小时最多 120 次,网站原有的每分钟限额照常生效。
  • 脚本只通过 HTTPS 连 cswork.org;把 CSWORK_BASE_URL 指向别处时,除本机外也必须是 HTTPS。