Publishing @mailagent/* to npm

June 10, 2026 · View on GitHub

Packages

PackageVersionPurpose
@mailagent/mcpsee mcp/package.jsonstdio MCP for Cursor
@mailagent/qasee packages/mailagent-qa/package.jsonPlaywright / Cypress QA SDK
@mailagent/agentsee packages/mailagent-agent/package.jsonREST + remote MCP SDK
mailagent-agent (PyPI)see packages/mailagent-agent-py/pyproject.tomlPython verify SDK

Build check:

npm run publish:check

Before first publish (required)

1. @mailagent organization

Scope @mailagent on npm is not created yet (or you lack permissions).

  1. npmjs.com/org/create
  2. Org name: mailagent (yields @mailagent/mcp, …)
  3. Free plan is enough for public packages

2. Two-factor authentication (2FA)

npm will not publish without 2FA. Error:

403 … Two-factor authentication or granular access token with bypass 2fa enabled is required
  1. npmjs.com/settingsTwo-Factor Authentication
  2. Mode: Authorization and publishing (not login only)
  3. Re-login:
npm logout
npm login

On npm publish, CLI will ask for OTP from your app (Google Authenticator, etc.).

3. Publish

npm run publish:all

Or one at a time:

npm run publish:mcp
npm run publish:qa
npm run publish:agent

GitHub Actions (OIDC Trusted Publishing)

No NPM_TOKEN and no OTP on every release:

  1. npm → each package → Settings → Trusted Publisher
  2. GitHub Actions · org/user Alex0nder · repo MailAgent · workflow publish-packages.yml
  3. Permissions: npm publish, npm stage publish
  4. Push tag:
git tag v0.27.0 && git push origin v0.27.0

Workflow: .github/workflows/publish-packages.yml (id-token: write, npm publish --provenance).

Manual publish (fallback)

npm run publish:all

Requires 2FA/passkey OTP or granular token with bypass 2FA.

Python (PyPI)

Package: mailagent-agent in packages/mailagent-agent-py/.

  1. pypi.org/manage/account/token — scope Entire account (or project-scoped after first upload)
  2. Local:
PYPI_API_TOKEN=pypi-… npm run publish:agent-py
  1. CI: GitHub secret PYPI_API_TOKEN — optional step in publish-packages.yml (skipped when secret unset)

Verify:

pip index versions mailagent-agent

Common errors

ErrorFix
403 … Two-factor authenticationEnable 2FA + npm logout / npm login, enter OTP on publish
403 … you do not have accessCreate org @mailagent, you must be owner
402 … must payScope taken — different org name or contact scope owner
Version already existsBump version in package.json and retry

After publish

Verify:

npm view @mailagent/mcp version
npm view @mailagent/qa version
npm view @mailagent/agent version

Update README / docs if major/minor changed.