chuskybrowser-mcp 1.19.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -170,7 +170,7 @@ claude mcp add chuskybrowser -- node /Users/you/src/chuskybrowser/mcp/server.mjs
170
170
  | Cursor | Settings → MCP — server shows green |
171
171
  | opencode | `opencode mcp list` |
172
172
 
173
- You should see 35 tools: the 11 browser tools (`chusky_create_tab`, `chusky_snapshot`, `chusky_click`, `chusky_type`, `chusky_navigate`, `chusky_scroll`, `chusky_screenshot`, `chusky_evaluate`, `chusky_list_tabs`, `chusky_close_tab`, `chusky_import_cookies`), two handoff tools (`chusky_handoff_start`, `chusky_handoff_release`), three payment tools (`chusky_pay_arm`, `chusky_pay_status`, `chusky_pay_disarm`), eight AgentCard tools (`agentcard_enrol`, `agentcard_cards`, `agentcard_placeholder`, `agentcard_buy`, `agentcard_merchants`, `agentcard_presets_list`, `agentcard_preset_set`, `agentcard_preset_attach`). The user id comes from `CHUSKY_USER_ID`, never from the model.
173
+ You should see 38 tools: the 11 browser tools (`chusky_create_tab`, `chusky_snapshot`, `chusky_click`, `chusky_type`, `chusky_navigate`, `chusky_scroll`, `chusky_screenshot`, `chusky_evaluate`, `chusky_list_tabs`, `chusky_close_tab`, `chusky_import_cookies`), two handoff tools (`chusky_handoff_start`, `chusky_handoff_release`), three payment tools (`chusky_pay_arm`, `chusky_pay_status`, `chusky_pay_disarm`), eight AgentCard tools (`agentcard_enrol`, `agentcard_cards`, `agentcard_placeholder`, `agentcard_buy`, `agentcard_merchants`, `agentcard_presets_list`, `agentcard_preset_set`, `agentcard_preset_attach`), and three login vault tools (`chusky_vault_list_logins`, `chusky_vault_fill_login`, `chusky_vault_delete_login`). The user id comes from `CHUSKY_USER_ID`, never from the model.
174
174
 
175
175
  ## Tools
176
176
 
@@ -193,6 +193,37 @@ export const TOOL_DEFS = [
193
193
  required: ['tabId'],
194
194
  },
195
195
  },
196
+ {
197
+ name: 'chusky_vault_list_logins',
198
+ description:
199
+ "List the saved site logins for this user: site, label and id. Never returns usernames or passwords. Use the id with chusky_vault_fill_login.",
200
+ inputSchema: { type: 'object', properties: {}, required: [] },
201
+ },
202
+ {
203
+ name: 'chusky_vault_fill_login',
204
+ description:
205
+ "Fill a saved login into the sign-in form on the current tab. The password goes straight into the page and is never returned to you. Works on the page's own sign-in form only; refuses any page outside the login's allowed sites. If the site asks for a verification code, returns status 'needs_code' and the person must enter it in the live view before you continue.",
206
+ inputSchema: {
207
+ type: 'object',
208
+ properties: {
209
+ tabId: { type: 'string', description: 'Tab identifier' },
210
+ loginId: { type: 'string', description: 'Login id from chusky_vault_list_logins' },
211
+ submit: { type: 'boolean', description: 'Press Enter after the password is filled' },
212
+ },
213
+ required: ['tabId', 'loginId'],
214
+ },
215
+ },
216
+ {
217
+ name: 'chusky_vault_delete_login',
218
+ description: 'Delete a saved site login for this user.',
219
+ inputSchema: {
220
+ type: 'object',
221
+ properties: {
222
+ loginId: { type: 'string', description: 'Login id from chusky_vault_list_logins' },
223
+ },
224
+ required: ['loginId'],
225
+ },
226
+ },
196
227
  {
197
228
  name: 'chusky_evaluate',
198
229
  description:
@@ -634,6 +665,28 @@ export function buildRequest(name, args, ctx) {
634
665
  auth: 'accessKey',
635
666
  responseKind: 'json',
636
667
  };
668
+ case 'chusky_vault_list_logins':
669
+ return {
670
+ method: 'GET',
671
+ path: `/vault/logins?${new URLSearchParams({ userId })}`,
672
+ auth: 'accessKey',
673
+ responseKind: 'json',
674
+ };
675
+ case 'chusky_vault_fill_login':
676
+ return {
677
+ method: 'POST',
678
+ path: `/tabs/${args.tabId}/vault/fill`,
679
+ auth: 'accessKey',
680
+ responseKind: 'json',
681
+ body: { userId, loginId: args.loginId, submit: args.submit === true },
682
+ };
683
+ case 'chusky_vault_delete_login':
684
+ return {
685
+ method: 'DELETE',
686
+ path: `/vault/logins/${args.loginId}?${new URLSearchParams({ userId })}`,
687
+ auth: 'accessKey',
688
+ responseKind: 'json',
689
+ };
637
690
  case 'chusky_evaluate':
638
691
  return {
639
692
  method: 'POST',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chuskybrowser-mcp",
3
- "version": "1.19.0",
3
+ "version": "1.19.1",
4
4
  "description": "Standalone stdio MCP server exposing the chuskybrowser REST API as MCP tools (Claude Code, Codex, agy, Cursor, opencode). Proxies to an already-running chuskybrowser REST server — does not itself require the browser binary, Playwright, or the core server's dependencies. Initial MCP implementation contributed by @epicsagas.",
5
5
  "type": "module",
6
6
  "main": "server.mjs",