@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 +1 -3
- package/dist/index.d.ts +68 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +150 -35
- package/dist/index.js.map +1 -0
- package/package.json +10 -10
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
|
|
package/dist/index.d.ts
ADDED
|
@@ -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 (
|
|
475
|
-
if (
|
|
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: ${
|
|
485
|
+
text: `Validation error: ${errorMessage}`,
|
|
483
486
|
},
|
|
484
487
|
],
|
|
485
488
|
isError: true,
|
|
486
489
|
},
|
|
487
490
|
];
|
|
488
491
|
}
|
|
489
|
-
|
|
490
|
-
throw validationError;
|
|
492
|
+
throw error;
|
|
491
493
|
}
|
|
492
494
|
}
|
|
493
495
|
const execPromise = promisify(exec);
|
|
494
496
|
/**
|
|
495
|
-
*
|
|
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
|
|
504
|
-
|
|
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:
|
|
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
|
-
|
|
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.
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
-
|
|
971
|
-
|
|
972
|
-
|
|
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.
|
|
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.
|
|
17
|
+
"@modelcontextprotocol/sdk": "1.17.0",
|
|
18
18
|
"shx": "0.4.0",
|
|
19
|
-
"zod": "
|
|
19
|
+
"zod": "4.0.10"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@eslint/js": "9.
|
|
23
|
-
"@jest/globals": "30.0.
|
|
24
|
-
"@modelcontextprotocol/inspector": "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.
|
|
27
|
-
"eslint": "9.
|
|
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.
|
|
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.
|
|
36
|
+
"typescript-eslint": "8.38.0"
|
|
37
37
|
},
|
|
38
38
|
"bin": {
|
|
39
39
|
"mcp-server-bitwarden": "dist/index.js"
|