一、NPM 发布

正常流程:

npm run build
npm login
npm publish --access public

遇到的坑:2FA 认证失败

报错:

npm error 403 Two-factor authentication or granular access token with bypass 2fa enabled is required

解决方式:

  1. npmjs.com → Access Tokens → Generate New Token → 选 Granular Access Token
  2. 关键:必须勾选 “Bypass 2FA” 选项
  3. 复制 token(格式 npm_xxxxxx

登录时用 token 代替密码:

npm login
# 用户名正常输入
# 密码粘贴 token

或者直接写 .npmrc

//registry.npmjs.org/:_authToken=npm_你的token

注意点:

  • scoped package(@xxx/name)必须加 --access public
  • 包名冲突就改 scope,比如 @yourname/package

二、Docker 发布

正常流程:

docker build -t username/repo:tag .
docker login
docker push username/repo:tag

遇到的坑:连接 docker.io 超时

报错:

dial tcp [...]:443: connectex: A connection attempt failed

解决方式:配置镜像加速器

Docker Desktop → Settings → Docker Engine → 添加:

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

Apply & Restart 后再 build。


三、本地开发测试

直接运行(不用 npx):

{
  "mcpServers": {
    "my-mcp": {
      "command": "node",
      "args": ["C:/absolute/path/to/build/index.js"]
    }
  }
}

总结:

  • NPM:用 Granular Token + 开 Bypass 2FA
  • Docker:配国内镜像加速器
  • 本地:直接用 node 跑,别折腾 npx