@askthew/mcp-plugin
v0.4.30
Published
Ask The W cloud-shim MCP plugin for coding-agent decisions and signals.
Maintainers
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@askthewThose 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 projectThe 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 mainThen 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_codeCaution: 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.sqlitewhen 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_signupandaskthew_complete_signupwhen no token file exists, for manual MCP config users.
Free To Paid Connection
Users who started free can later run:
askthew-mcp bindThe 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_signallist_signalscreate_decisionlist_decisionsrecapcoachaskthew_start_signupandaskthew_complete_signupwhen a token file is missingaskthew_start_workspace_bindandaskthew_check_workspace_bindfor 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; mode0600~/.askthew/consent.json- local receipt of authorized compact signal capture for each host; mode0600~/.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_codetoken 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