npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@askthew/mcp-plugin

v0.4.30

Published

Ask The W cloud-shim MCP plugin for coding-agent decisions and signals.

Readme

Ask The W MCP Plugin

Cloud-first MCP capture for Claude Code, Codex, and Cursor.

Install In Claude Code

Claude Code uses a separate paid plugin repo rather than shipping plugin metadata inside this MCP package. For a team install, commit this to the repo's .claude/settings.json:

{
  "extraKnownMarketplaces": {
    "askthew": {
      "source": { "source": "github", "repo": "AskTheWAI/claude-plugins" },
      "autoUpdate": true
    }
  },
  "enabledPlugins": {
    "askthew-paid@askthew": true
  }
}

When a teammate opens the repo in Claude Code, Claude prompts them to trust the marketplace and install the paid plugin. Users can skip that prompt; this is not a silent install. autoUpdate: true lets this non-official marketplace refresh and update installed plugins at startup.

For a personal install, add the marketplace and install the plugin:

/plugin marketplace add AskTheWAI/claude-plugins
/plugin install askthew-paid@askthew

Those slash commands use user scope by default. To make an ad-hoc install project-scoped from the terminal, run both commands with explicit project scope:

claude plugin marketplace add AskTheWAI/claude-plugins --scope project
claude plugin install askthew-paid@askthew --scope project

The paid Claude Code plugin lives in AskTheWAI/claude-code-plugin. It starts this MCP package via npx, sets ASKTHEW_REQUIRE_PAID=true, and loads its own SessionStart hook plus /askthew-paid:paid-workspace skill. The MCP server runs from the active Claude project directory and lets the server default scopeKey from that workspace. The plugin install or workspace-bind confirmation authorizes compact session signals for that workspace, so agents do not need a separate approval sentence during normal coding work.

First-Time Signup

Native paid plugin installs do not run the legacy terminal OTP installer. If no local Ask The W token exists, the first protected MCP call returns needs_signup.

Claude should ask for the user's email, call askthew_start_signup({ email }), ask for the six-digit email code, call askthew_complete_signup({ email, code }), then bind the install to a paid workspace with askthew_start_workspace_bind and askthew_check_workspace_bind. The token is stored in ~/.askthew/cloud-token.json; after paid workspace binding, subsequent calls use the paid/unlimited surface.

Install On Codex

The Codex-native path is the paid plugin marketplace. Add the Ask The W marketplace once:

codex plugin marketplace add AskTheWAI/codex-plugin --ref main

Then install Ask The W from the Codex Plugins UI or from /plugins in the Codex REPL. Marketplace installs load the bundled MCP server, skill guidance, and SessionStart hook from the Codex plugin. The Codex plugin does not fetch @askthew/mcp-plugin with npx at session startup.

The Codex plugin is paid-workspace only. Its bundled .mcp.json sets ASKTHEW_REQUIRE_PAID=true; if there is no local identity the first protected tool returns needs_signup, and if the identity is not workspace-bound it returns needs_paid_workspace. Complete signup with askthew_start_signup / askthew_complete_signup, then connect the install with askthew_start_workspace_bind / askthew_check_workspace_bind. The workspace-bind browser confirmation is the authorization for compact session signals from Codex in that workspace.

Legacy CLI Install

Claude Code users should prefer the native plugin path above. The legacy installer remains available for older Claude Code versions and for Codex/Cursor fallback installs:

npx -y --package @askthew/mcp-plugin askthew-mcp install --host claude_code

Caution: after the install finishes, close and reopen your coding agent (Claude Code, Codex, or Cursor) so the new MCP tools load before your next session.

Use --host codex or --host cursor for the other supported clients. For Codex, prefer the marketplace plugin above; --host codex remains available as a fallback for users who prefer the terminal OTP flow.

The installer walks email OTP, stores a device token in ~/.askthew/cloud-token.json, writes the host MCP config, and adds a marked Ask The W block to CLAUDE.md or AGENTS.md so future sessions capture automatically. Legacy installs keep their install-time workspace root and block cloud tool calls from unrelated workspaces. Native marketplace installs resolve the current repo scope at tool-call time. Use --email [email protected] --code 123456 to finish an already-sent code without requesting another one.

What It Does

  • Runs a local MCP stdio server in one mode: cloud shim.
  • Captures compact signals through POST /api/v1/agent/signals.
  • Buffers captures in ~/.askthew/outbox.sqlite when the network is down, with a JSON file fallback for bundled plugin runtimes that do not ship native sqlite.
  • Redacts known credential patterns, sensitive metadata keys, local workspace/home paths, and sensitive file references before queueing and sending.
  • Lists signals and decisions, creates decisions, calls cloud recap/coach, and filters reads to the current workspace scope by default.
  • Lets paid native plugin installs push unlimited signals, decisions, recaps, coaching, and next moves after workspace binding.
  • Exposes askthew_start_signup and askthew_complete_signup when no token file exists, for manual MCP config users.

Free To Paid Connection

Users who started free can later run:

askthew-mcp bind

The CLI prints a short display code, opens the browser connection URL, polls until the workspace confirms the connection, then flushes pending captures into the workspace. Existing install identity stays stable.

Tool Surface

The v1 MCP tools are:

  • capture_session_signal
  • list_signals
  • create_decision
  • list_decisions
  • recap
  • coach
  • askthew_start_signup and askthew_complete_signup when a token file is missing
  • askthew_start_workspace_bind and askthew_check_workspace_bind for paid native plugin workspace connection

get_decision and promote_signal_to_decision are intentionally not exposed in v1. Use list_decisions and create_decision with sourceSignalIds.

Local Files

  • ~/.askthew/cloud-token.json - bearer token, install id, tier, and API URL; mode 0600
  • ~/.askthew/consent.json - local receipt of authorized compact signal capture for each host; mode 0600
  • ~/.askthew/install.json - install diagnostics
  • ~/.askthew/outbox.sqlite - pending capture buffer, not the source of truth for synced data

CLI

If the binary is not on your PATH, prefix commands with npx -y --package @askthew/mcp-plugin.

askthew-mcp                 # stdio MCP server
askthew-mcp install --host claude_code --email [email protected]
askthew-mcp install --host claude_code --email [email protected] --code 123456
askthew-mcp doctor
askthew-mcp identity status
askthew-mcp initialize-handshake --json
askthew-mcp refresh
askthew-mcp bind
askthew-mcp token rotate
askthew-mcp token revoke
askthew-mcp export              # current workspace scope
askthew-mcp export --all-scopes # whole install
askthew-mcp delete-me --confirm
askthew-mcp uninstall --host claude_code

token revoke revokes only the current token. Install-level revocation is handled by the workspace web endpoint or delete-me. export, list_signals, list_decisions, recap, and coach use the current repo scopeKey unless you explicitly request all scopes. uninstall removes the MCP config and marked agent-instructions block, but leaves the local identity and outbox on disk so you can reinstall or delete cloud data intentionally.

Development

npm run build --workspace @askthew/mcp-plugin
npm test --workspace @askthew/mcp-plugin
npm pack --workspace @askthew/mcp-plugin --dry-run