@bitwarden/mcp-server 2025.7.1 → 2025.8.0

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
@@ -147,22 +147,20 @@ The server provides the following Bitwarden CLI tools:
147
147
  - **Use environment variables** for sensitive configuration
148
148
  - **Validate all inputs** using Zod schemas (already implemented)
149
149
  - **Test with non-production data** when possible
150
+ - Understand the security and privacy impacts of exposing sensitive vault data to LLM and AI tools. Using a self-hosted or local LLM may be appropriate, for example.
150
151
 
151
152
  ## Troubleshooting
152
153
 
153
154
  ### Common issues
154
155
 
155
156
  1. **"Please set the BW_SESSION environment variable"**
156
-
157
157
  - Run: `export BW_SESSION=$(bw unlock --raw)`
158
158
 
159
159
  2. **Tests failing with environment errors**
160
-
161
160
  - Use the environment mocking helpers in tests
162
161
  - Ensure test cleanup with `restoreEnvVars()`
163
162
 
164
163
  3. **Inspector not starting**
165
-
166
164
  - Check that the server builds successfully: `npm run build`
167
165
  - Verify Node.js version is 22
168
166
 
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env node
2
+ import { z } from 'zod';
3
+ /**
4
+ * Interface representing the response from a Bitwarden CLI command execution.
5
+ *
6
+ * @interface
7
+ * @property {string} [output] - Standard output from the command, if successful
8
+ * @property {string} [errorOutput] - Error output from the command, if an error occurred
9
+ */
10
+ export interface CliResponse {
11
+ output?: string;
12
+ errorOutput?: string;
13
+ }
14
+ /**
15
+ * Validates input against a Zod schema and returns either the validated data or a structured error response.
16
+ *
17
+ * @template T - Type of the validated output
18
+ * @param {z.ZodType<T>} schema - The Zod schema to validate against
19
+ * @param {unknown} args - The input arguments to validate
20
+ * @returns {[true, T] | [false, { content: Array<{ type: string; text: string }>; isError: true }]}
21
+ * A tuple with either:
22
+ * - [true, validatedData] if validation succeeds
23
+ * - [false, errorObject] if validation fails
24
+ */
25
+ export declare function validateInput<T>(schema: z.ZodType<T>, args: unknown): readonly [true, T] | readonly [
26
+ false,
27
+ {
28
+ readonly content: readonly [
29
+ {
30
+ readonly type: 'text';
31
+ readonly text: string;
32
+ }
33
+ ];
34
+ readonly isError: true;
35
+ }
36
+ ];
37
+ /**
38
+ * Sanitizes a string to prevent command injection by removing dangerous characters
39
+ * and escape sequences that could be used to execute arbitrary commands.
40
+ *
41
+ * @param {string} input - The input string to sanitize
42
+ * @returns {string} The sanitized string safe for use in shell commands
43
+ */
44
+ export declare function sanitizeInput(input: string): string;
45
+ /**
46
+ * Safely escapes a parameter value for use in shell commands by using single quotes
47
+ * and properly escaping any single quotes within the value.
48
+ *
49
+ * @param {string} value - The parameter value to escape
50
+ * @returns {string} The safely escaped parameter
51
+ */
52
+ export declare function escapeShellParameter(value: string): string;
53
+ /**
54
+ * Builds a safe Bitwarden CLI command with properly escaped parameters.
55
+ *
56
+ * @param {string} baseCommand - The base command (e.g., 'get', 'list')
57
+ * @param {string[]} parameters - Array of parameters to append safely
58
+ * @returns {string} The safely constructed command
59
+ */
60
+ export declare function buildSafeCommand(baseCommand: string, parameters?: readonly string[]): string;
61
+ /**
62
+ * Validates that a command is safe and contains only allowed Bitwarden CLI commands.
63
+ *
64
+ * @param {string} command - The command to validate
65
+ * @returns {boolean} True if the command is safe, false otherwise
66
+ */
67
+ export declare function isValidBitwardenCommand(command: string): boolean;
68
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8exB;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8CD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,OAAO,GAEX,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAClB,SAAS;IACP,KAAK;IACL;QACE,QAAQ,CAAC,OAAO,EAAE,SAAS;YACzB;gBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;aAAE;SACjD,CAAC;QACF,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;KACxB;CACF,CA0BJ;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBnD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA+BhE"}
package/dist/index.js CHANGED
@@ -468,31 +468,121 @@ const deleteTool = {
468
468
  */
469
469
  export function validateInput(schema, args) {
470
470
  try {
471
- const validatedInput = schema.parse(args || {});
471
+ const validatedInput = schema.parse(args ?? {});
472
472
  return [true, validatedInput];
473
473
  }
474
- catch (validationError) {
475
- if (validationError instanceof z.ZodError) {
474
+ catch (error) {
475
+ if (error instanceof z.ZodError) {
476
+ const errorMessage = error.issues
477
+ .map((issue) => issue.message)
478
+ .join(', ');
476
479
  return [
477
480
  false,
478
481
  {
479
482
  content: [
480
483
  {
481
484
  type: 'text',
482
- text: `Validation error: ${validationError.errors.map((e) => e.message).join(', ')}`,
485
+ text: `Validation error: ${errorMessage}`,
483
486
  },
484
487
  ],
485
488
  isError: true,
486
489
  },
487
490
  ];
488
491
  }
489
- // Re-throw any non-ZodError
490
- throw validationError;
492
+ throw error;
491
493
  }
492
494
  }
493
495
  const execPromise = promisify(exec);
494
496
  /**
495
- * Executes a Bitwarden CLI command and returns the result.
497
+ * Sanitizes a string to prevent command injection by removing dangerous characters
498
+ * and escape sequences that could be used to execute arbitrary commands.
499
+ *
500
+ * @param {string} input - The input string to sanitize
501
+ * @returns {string} The sanitized string safe for use in shell commands
502
+ */
503
+ export function sanitizeInput(input) {
504
+ if (typeof input !== 'string') {
505
+ throw new TypeError('Input must be a string');
506
+ }
507
+ // Remove or escape dangerous characters that could be used for command injection
508
+ return (input
509
+ // Remove null bytes
510
+ .replace(/\0/g, '')
511
+ // Remove command separators and operators
512
+ .replace(/[;&|`$(){}[\]<>'"]/g, '')
513
+ // Remove escape sequences and control characters
514
+ .replace(/\\./g, '')
515
+ // Remove newlines and carriage returns
516
+ .replace(/[\r\n]/g, '')
517
+ // Remove tab characters
518
+ .replace(/\t/g, ' ')
519
+ // Collapse multiple spaces
520
+ .replace(/\s+/g, ' ')
521
+ // Trim whitespace
522
+ .trim());
523
+ }
524
+ /**
525
+ * Safely escapes a parameter value for use in shell commands by using single quotes
526
+ * and properly escaping any single quotes within the value.
527
+ *
528
+ * @param {string} value - The parameter value to escape
529
+ * @returns {string} The safely escaped parameter
530
+ */
531
+ export function escapeShellParameter(value) {
532
+ if (typeof value !== 'string') {
533
+ throw new TypeError('Parameter must be a string');
534
+ }
535
+ // Replace single quotes with '\'' (end quote, escaped quote, start quote)
536
+ // This is the safest way to handle single quotes in shell parameters
537
+ return `'${value.replace(/'/g, "'\\''")}'`;
538
+ }
539
+ /**
540
+ * Builds a safe Bitwarden CLI command with properly escaped parameters.
541
+ *
542
+ * @param {string} baseCommand - The base command (e.g., 'get', 'list')
543
+ * @param {string[]} parameters - Array of parameters to append safely
544
+ * @returns {string} The safely constructed command
545
+ */
546
+ export function buildSafeCommand(baseCommand, parameters = []) {
547
+ const sanitizedBase = sanitizeInput(baseCommand);
548
+ const escapedParams = parameters.map((param) => escapeShellParameter(param));
549
+ return [sanitizedBase, ...escapedParams].join(' ');
550
+ }
551
+ /**
552
+ * Validates that a command is safe and contains only allowed Bitwarden CLI commands.
553
+ *
554
+ * @param {string} command - The command to validate
555
+ * @returns {boolean} True if the command is safe, false otherwise
556
+ */
557
+ export function isValidBitwardenCommand(command) {
558
+ const allowedCommands = [
559
+ 'lock',
560
+ 'unlock',
561
+ 'sync',
562
+ 'status',
563
+ 'list',
564
+ 'get',
565
+ 'generate',
566
+ 'create',
567
+ 'edit',
568
+ 'delete',
569
+ 'confirm',
570
+ 'import',
571
+ 'export',
572
+ 'serve',
573
+ 'config',
574
+ 'login',
575
+ 'logout',
576
+ ];
577
+ const parts = command.trim().split(/\s+/);
578
+ if (parts.length === 0) {
579
+ return false;
580
+ }
581
+ const baseCommand = parts[0];
582
+ return allowedCommands.includes(baseCommand);
583
+ }
584
+ /**
585
+ * Executes a Bitwarden CLI command safely with input sanitization and validation.
496
586
  *
497
587
  * @async
498
588
  * @param {string} command - The Bitwarden CLI command to execute (without 'bw' prefix)
@@ -500,22 +590,26 @@ const execPromise = promisify(exec);
500
590
  */
501
591
  async function executeCliCommand(command) {
502
592
  try {
503
- const { stdout, stderr } = await execPromise(`bw ${command}`);
504
- return {
505
- output: stdout,
506
- errorOutput: stderr,
507
- };
508
- }
509
- catch (e) {
510
- if (e instanceof Error) {
593
+ const sanitizedCommand = sanitizeInput(command);
594
+ if (!isValidBitwardenCommand(sanitizedCommand)) {
511
595
  return {
512
- errorOutput: e.message,
596
+ errorOutput: 'Invalid or unsafe command. Only Bitwarden CLI commands are allowed.',
513
597
  };
514
598
  }
599
+ const { stdout, stderr } = await execPromise(`bw ${sanitizedCommand}`);
600
+ const result = {};
601
+ if (stdout)
602
+ result.output = stdout;
603
+ if (stderr)
604
+ result.errorOutput = stderr;
605
+ return result;
606
+ }
607
+ catch (error) {
608
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
609
+ return {
610
+ errorOutput: errorMessage,
611
+ };
515
612
  }
516
- return {
517
- errorOutput: 'An error occurred while executing the command',
518
- };
519
613
  }
520
614
  /**
521
615
  * Initializes and starts the MCP server for handling Bitwarden CLI commands.
@@ -525,16 +619,14 @@ async function executeCliCommand(command) {
525
619
  * @returns {Promise<void>}
526
620
  */
527
621
  async function runServer() {
528
- // Require session from environment variable
529
- if (!process.env.BW_SESSION) {
622
+ if (!process.env['BW_SESSION']) {
530
623
  console.error('Please set the BW_SESSION environment variable');
531
624
  process.exit(1);
532
625
  }
533
- // Set up server
534
626
  console.error('Bitwarden MCP Server starting ...');
535
627
  const server = new Server({
536
628
  name: 'Bitwarden MCP Server',
537
- version: '2025.7.1',
629
+ version: '2025.8.0',
538
630
  }, {
539
631
  capabilities: {
540
632
  tools: {},
@@ -648,7 +740,8 @@ async function runServer() {
648
740
  return validationResult;
649
741
  }
650
742
  const { object, id } = validationResult;
651
- const result = await executeCliCommand(`get ${object} "${id}"`);
743
+ const command = buildSafeCommand('get', [object, id]);
744
+ const result = await executeCliCommand(command);
652
745
  return {
653
746
  content: [
654
747
  {
@@ -722,7 +815,10 @@ async function runServer() {
722
815
  };
723
816
  const folderJson = JSON.stringify(folderObject);
724
817
  const folderBase64 = Buffer.from(folderJson, 'utf8').toString('base64');
725
- const createCommand = `create folder ${folderBase64}`;
818
+ const createCommand = buildSafeCommand('create', [
819
+ 'folder',
820
+ folderBase64,
821
+ ]);
726
822
  const result = await executeCliCommand(createCommand);
727
823
  return {
728
824
  content: [
@@ -738,7 +834,7 @@ async function runServer() {
738
834
  // Create item
739
835
  const itemObject = {
740
836
  name: itemName,
741
- type: itemType,
837
+ ...(itemType !== undefined && { type: itemType }),
742
838
  };
743
839
  if (notes) {
744
840
  itemObject.notes = notes;
@@ -761,7 +857,10 @@ async function runServer() {
761
857
  }
762
858
  const itemJson = JSON.stringify(itemObject);
763
859
  const itemBase64 = Buffer.from(itemJson, 'utf8').toString('base64');
764
- const createCommand = `create item ${itemBase64}`;
860
+ const createCommand = buildSafeCommand('create', [
861
+ 'item',
862
+ itemBase64,
863
+ ]);
765
864
  const result = await executeCliCommand(createCommand);
766
865
  return {
767
866
  content: [
@@ -783,7 +882,8 @@ async function runServer() {
783
882
  const { objectType, id, name: itemName, notes, login, } = validationResult;
784
883
  if (objectType === 'folder') {
785
884
  // Edit folder
786
- const getResult = await executeCliCommand(`get folder ${id}`);
885
+ const command = buildSafeCommand('get', ['folder', id]);
886
+ const getResult = await executeCliCommand(command);
787
887
  if (getResult.errorOutput) {
788
888
  return {
789
889
  content: [
@@ -817,7 +917,11 @@ async function runServer() {
817
917
  }
818
918
  const folderJson = JSON.stringify(currentFolder);
819
919
  const folderBase64 = Buffer.from(folderJson, 'utf8').toString('base64');
820
- const editCommand = `edit folder ${id} ${folderBase64}`;
920
+ const editCommand = buildSafeCommand('edit', [
921
+ 'folder',
922
+ id,
923
+ folderBase64,
924
+ ]);
821
925
  const result = await executeCliCommand(editCommand);
822
926
  return {
823
927
  content: [
@@ -833,7 +937,8 @@ async function runServer() {
833
937
  }
834
938
  else {
835
939
  // Edit item
836
- const getResult = await executeCliCommand(`get item ${id}`);
940
+ const command = buildSafeCommand('get', ['item', id]);
941
+ const getResult = await executeCliCommand(command);
837
942
  if (getResult.errorOutput) {
838
943
  return {
839
944
  content: [
@@ -883,7 +988,11 @@ async function runServer() {
883
988
  // Perform the edit
884
989
  const itemJson = JSON.stringify(currentItem);
885
990
  const itemBase64 = Buffer.from(itemJson, 'utf8').toString('base64');
886
- const editCommand = `edit item ${id} ${itemBase64}`;
991
+ const editCommand = buildSafeCommand('edit', [
992
+ 'item',
993
+ id,
994
+ itemBase64,
995
+ ]);
887
996
  const result = await executeCliCommand(editCommand);
888
997
  return {
889
998
  content: [
@@ -967,7 +1076,13 @@ async function runServer() {
967
1076
  await server.connect(transport);
968
1077
  console.error('Bitwarden MCP Server running on stdio');
969
1078
  }
970
- runServer().catch((error) => {
971
- console.error('Fatal error running server:', error);
972
- process.exit(1);
973
- });
1079
+ // Only run the server if this file is executed directly
1080
+ // Check if this is the main module by comparing file paths
1081
+ const isMainModule = process.argv[1] && process.argv[1].endsWith('index.js');
1082
+ if (isMainModule) {
1083
+ runServer().catch((error) => {
1084
+ console.error('Fatal error running server:', error);
1085
+ process.exit(1);
1086
+ });
1087
+ }
1088
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@bitwarden/mcp-server",
4
- "version": "2025.7.1",
4
+ "version": "2025.8.0",
5
5
  "description": "Bitwarden MCP Server",
6
6
  "repository": {
7
7
  "type": "git",
@@ -14,26 +14,26 @@
14
14
  },
15
15
  "homepage": "https://bitwarden.com",
16
16
  "dependencies": {
17
- "@modelcontextprotocol/sdk": "1.13.3",
17
+ "@modelcontextprotocol/sdk": "1.17.0",
18
18
  "shx": "0.4.0",
19
- "zod": "3.25.71"
19
+ "zod": "4.0.10"
20
20
  },
21
21
  "devDependencies": {
22
- "@eslint/js": "9.30.1",
23
- "@jest/globals": "30.0.4",
24
- "@modelcontextprotocol/inspector": "0.15.0",
22
+ "@eslint/js": "9.32.0",
23
+ "@jest/globals": "30.0.5",
24
+ "@modelcontextprotocol/inspector": "0.16.2",
25
25
  "@types/jest": "30.0.0",
26
- "@types/node": "22.16.0",
27
- "eslint": "9.30.1",
26
+ "@types/node": "22.16.5",
27
+ "eslint": "9.32.0",
28
28
  "globals": "16.3.0",
29
29
  "husky": "9.1.7",
30
- "jest": "30.0.4",
30
+ "jest": "30.0.5",
31
31
  "jest-junit": "16.0.0",
32
32
  "lint-staged": "16.1.2",
33
33
  "prettier": "3.6.2",
34
34
  "ts-jest": "29.4.0",
35
35
  "typescript": "5.8.3",
36
- "typescript-eslint": "8.35.1"
36
+ "typescript-eslint": "8.38.0"
37
37
  },
38
38
  "bin": {
39
39
  "mcp-server-bitwarden": "dist/index.js"