@slbdn/mcp-tester 1.1.0 → 1.2.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/CHANGELOG.md +16 -0
- package/README.md +140 -6
- package/dist/client/MCPClient.d.ts.map +1 -1
- package/dist/client/MCPClient.js +33 -22
- package/dist/client/MCPClient.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/errors.d.ts +43 -5
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +86 -7
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/logger.d.ts +51 -24
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +103 -9
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/masking.d.ts +66 -0
- package/dist/utils/masking.d.ts.map +1 -0
- package/dist/utils/masking.js +171 -0
- package/dist/utils/masking.js.map +1 -0
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.0] - 2026-04-30
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Code coverage comments on PRs** — GitHub Actions workflow now posts a coverage table as a sticky comment on every pull request (statements/branches/functions/lines with thresholds)
|
|
12
|
+
- **Dedicated `coverage` CI job** — runs on single Node.js version (faster than matrix), generates `coverage-summary.json`, uploads to Codecov v4
|
|
13
|
+
- **`coverageReporters`** in `jest.config.js` — added `json-summary` reporter for CI coverage data extraction
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- **Per-file coverage thresholds** updated for new files (`masking.ts`, `logger.ts`) and actual coverage numbers
|
|
17
|
+
- Global thresholds: 67% statements, 61% branches, 60% functions, 67% lines (was 76/57/64/76)
|
|
18
|
+
- **README** coverage badge and table updated with real numbers (68/61/60/68)
|
|
19
|
+
- **docs/cicd.md** — rewritten with full workflow including coverage job, PR comments, and Codecov
|
|
20
|
+
- **docs/testing.md** — updated coverage thresholds (was "80%", now per-file table)
|
|
21
|
+
- **AGENTS.md** — updated test count, coverage stats, CI job descriptions, file listing
|
|
22
|
+
- Fixed flaky `delay` test (100ms → 90ms tolerance for timing variance)
|
|
23
|
+
|
|
8
24
|
## [1.1.0] - 2026-04-23
|
|
9
25
|
|
|
10
26
|
### Added
|
package/README.md
CHANGED
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@slbdn/mcp-tester)
|
|
8
8
|
[](https://www.npmjs.com/package/@slbdn/mcp-tester)
|
|
9
|
-
[](https://nodejs.org)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
|
-
[](https://github.com/islobodan/mcp-tester/actions/workflows/test.yml)
|
|
12
|
+
[](https://github.com/islobodan/mcp-tester/actions/workflows/test.yml) <!-- statements/branches/functions/lines -->
|
|
12
13
|
|
|
13
14
|
A production-ready MCP (Model Context Protocol) client for **automated testing** of MCP servers with Jest.
|
|
14
15
|
No more manual clicking through inspectors — write real tests, run them in CI, break builds on regressions.
|
|
@@ -25,13 +26,49 @@ No more manual clicking through inspectors — write real tests, run them in CI,
|
|
|
25
26
|
| **Notifications** | React to resource changes, logging messages, tool list updates |
|
|
26
27
|
| **Error Handling** | Custom error classes for timeouts, connection failures, server errors |
|
|
27
28
|
| **Retries** | Exponential backoff with configurable attempts and delay |
|
|
29
|
+
| **Benchmarks** | Measure latency, throughput, and payload performance with `npm run benchmark` |
|
|
28
30
|
| **CLI** | Smoke-test any server from the terminal in seconds |
|
|
29
31
|
|
|
32
|
+
## Architecture
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
36
|
+
│ Your Test Suite │
|
|
37
|
+
│ ┌──────────┐ ┌───────────┐ ┌────────┐ ┌───────────────────┐ │
|
|
38
|
+
│ │ Jest │ │ Vitest │ │ assert │ │ Custom Runner │ │
|
|
39
|
+
│ │ matchers │ │ matchers │ │ module │ │ (any framework) │ │
|
|
40
|
+
│ └────┬─────┘ └─────┬─────┘ └───┬────┘ └────────┬──────────┘ │
|
|
41
|
+
│ │ │ │ │ │
|
|
42
|
+
│ ┌────▼──────────────▼─────────────▼─────────────────▼──────────┐ │
|
|
43
|
+
│ │ MCPClient │ │
|
|
44
|
+
│ │ ┌──────────────────────────────────────────────────────┐ │ │
|
|
45
|
+
│ │ │ start() │ stop() │ listTools() │ callTool() │ ... │ │ │
|
|
46
|
+
│ │ └──────────────────────┬───────────────────────────────────┘ │ │
|
|
47
|
+
│ │ │ │ │
|
|
48
|
+
│ │ ┌──────────────────────▼───────────────────────────────┐ │ │
|
|
49
|
+
│ │ │ Retry │ Timeout │ Error Handling │ │ │
|
|
50
|
+
│ │ │ MCPTimeoutError │ MCPConnectionError │ ... │ │ │
|
|
51
|
+
│ │ └──────────────────────┬───────────────────────────────┘ │ │
|
|
52
|
+
│ └─────────────────────────┼─────────────────────────────────────┘ │
|
|
53
|
+
│ │ stdio (JSON-RPC) │
|
|
54
|
+
│ ┌─────────────────────────▼─────────────────────────────────────┐ │
|
|
55
|
+
│ │ MCP Server (child process) │ │
|
|
56
|
+
│ │ ┌────────┐ ┌───────────┐ ┌──────────┐ ┌────────────┐ │ │
|
|
57
|
+
│ │ │ Tools │ │ Resources │ │ Prompts │ │ Sampling │ │ │
|
|
58
|
+
│ │ └────────┘ └───────────┘ └──────────┘ └────────────┘ │ │
|
|
59
|
+
│ └──────────────────────────────────────────────────────────────┘ │
|
|
60
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Data flow**: Your test calls `MCPClient` → which sends JSON-RPC over stdio → to the MCP server process → server responds → `MCPClient` returns typed results → your assertion validates them.
|
|
64
|
+
|
|
65
|
+
**Key design**: `MCPClient` manages the server lifecycle (spawn/kill) and protocol handling. Your tests never deal with the transport layer directly.
|
|
66
|
+
|
|
30
67
|
## Why MCP Tester?
|
|
31
68
|
|
|
32
69
|
- **Full protocol support** — tools, resources, prompts, sampling, elicitation, notifications
|
|
33
70
|
- **Built on the official SDK** — `@modelcontextprotocol/sdk` v1.29.0
|
|
34
|
-
- **Works out of the box** — mock server included,
|
|
71
|
+
- **Works out of the box** — mock server included, 257 tests passing
|
|
35
72
|
- **CLI included** — test any server from the command line
|
|
36
73
|
- **TypeScript first** — strict types, ESM, full IntelliSense
|
|
37
74
|
- **Parallel execution** — fire multiple tool calls concurrently with `Promise.all` for blazing-fast test suites
|
|
@@ -39,6 +76,18 @@ No more manual clicking through inspectors — write real tests, run them in CI,
|
|
|
39
76
|
- **In-memory mock server** — unit test your test logic without spawning real processes
|
|
40
77
|
- **Custom Jest matchers** — `toHaveTool()`, `toHaveResource()`, `toHavePrompt()` — and Vitest support
|
|
41
78
|
|
|
79
|
+
## Test Coverage
|
|
80
|
+
|
|
81
|
+
| Metric | Coverage |
|
|
82
|
+
|--------|----------|
|
|
83
|
+
| Statements | 68% |
|
|
84
|
+
| Branches | 61% |
|
|
85
|
+
| Functions | 60% |
|
|
86
|
+
| Lines | 68% |
|
|
87
|
+
| Tests | 306 passing |
|
|
88
|
+
|
|
89
|
+
Per-file coverage thresholds are set in `jest.config.js` to catch regressions while avoiding CI noise. Run `npm run test:coverage` to see the full breakdown by file. PRs automatically receive a coverage comment via GitHub Actions.
|
|
90
|
+
|
|
42
91
|
## Install
|
|
43
92
|
|
|
44
93
|
```bash
|
|
@@ -317,7 +366,7 @@ mcp-tester/
|
|
|
317
366
|
│ │ ├── errors.ts # Error classes
|
|
318
367
|
│ │ ├── logger.ts # Logging
|
|
319
368
|
│ │ └── env.ts # Environment utilities
|
|
320
|
-
│ └── __tests__/ #
|
|
369
|
+
│ └── __tests__/ # 306 tests
|
|
321
370
|
│ ├── everything-server.test.ts # Integration tests (server-everything)
|
|
322
371
|
│ ├── real-server.test.ts # Integration tests (stdio transport)
|
|
323
372
|
│ ├── cli.test.ts # CLI tool tests
|
|
@@ -328,7 +377,10 @@ mcp-tester/
|
|
|
328
377
|
│ ├── jest-matchers-example.ts # Jest matchers usage
|
|
329
378
|
│ ├── assert-example.ts # Assert utilities usage
|
|
330
379
|
│ ├── everything-server-test.ts # Test against real MCP server
|
|
331
|
-
│
|
|
380
|
+
│ ├── stateful-server-test.ts # Stateful server testing pattern
|
|
381
|
+
│ ├── mock-server.js # Basic standalone MCP server
|
|
382
|
+
│ ├── simple-server.ts # Minimal TypeScript MCP server
|
|
383
|
+
│ └── stateful-server.ts # Stateful MCP server (counter + todos)
|
|
332
384
|
└── docs/ # Documentation
|
|
333
385
|
```
|
|
334
386
|
|
|
@@ -337,11 +389,93 @@ mcp-tester/
|
|
|
337
389
|
```bash
|
|
338
390
|
npm install # Install dependencies
|
|
339
391
|
npm run build # Compile TypeScript
|
|
340
|
-
npm
|
|
392
|
+
npm run dev # Watch mode — auto-rebuild on source changes
|
|
393
|
+
npm test # Run tests (306 tests)
|
|
341
394
|
npm run lint # Lint code
|
|
342
395
|
npm run format # Format with Prettier
|
|
343
396
|
```
|
|
344
397
|
|
|
398
|
+
## Troubleshooting
|
|
399
|
+
|
|
400
|
+
### "Client not started" Error
|
|
401
|
+
|
|
402
|
+
Calling methods before `start()`:
|
|
403
|
+
|
|
404
|
+
```typescript
|
|
405
|
+
// ✗ Wrong
|
|
406
|
+
const client = new MCPClient();
|
|
407
|
+
const tools = await client.listTools(); // throws MCPNotStartedError
|
|
408
|
+
|
|
409
|
+
// ✓ Correct
|
|
410
|
+
const client = new MCPClient();
|
|
411
|
+
await client.start({ command: 'node', args: ['./server.js'] });
|
|
412
|
+
const tools = await client.listTools();
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### Timeout Errors
|
|
416
|
+
|
|
417
|
+
```typescript
|
|
418
|
+
// Global timeout
|
|
419
|
+
const client = new MCPClient({ timeout: 60000 });
|
|
420
|
+
|
|
421
|
+
// Per-call override
|
|
422
|
+
await client.callTool({ name: 'slow-tool', arguments: {}, timeout: 30000 });
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
### Server Won't Start
|
|
426
|
+
|
|
427
|
+
```bash
|
|
428
|
+
# Verify the server runs standalone first
|
|
429
|
+
node ./my-server.js
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
Check that the command and args are correct — `MCPConnectionError` includes the command and suggestions.
|
|
433
|
+
|
|
434
|
+
### ESM Import Errors
|
|
435
|
+
|
|
436
|
+
```typescript
|
|
437
|
+
// ✗ Wrong — missing .js extension
|
|
438
|
+
import { MCPClient } from './client/MCPClient';
|
|
439
|
+
|
|
440
|
+
// ✓ Correct
|
|
441
|
+
import { MCPClient } from './client/MCPClient.js';
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Tests Fail in CI
|
|
445
|
+
|
|
446
|
+
- Set `maxWorkers: 1` in Jest config (parallel workers can crash)
|
|
447
|
+
- Verify Node.js >= 18
|
|
448
|
+
- Check that server paths are correct
|
|
449
|
+
|
|
450
|
+
### Debug Mode
|
|
451
|
+
|
|
452
|
+
```typescript
|
|
453
|
+
const client = new MCPClient({ logLevel: 'debug', enableProtocolLogging: true });
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
All logs go to stderr — they won't interfere with test output.
|
|
457
|
+
|
|
458
|
+
New logging features:
|
|
459
|
+
- **Timing**: operations log elapsed time (e.g., `Listed 4 tools in 12ms`)
|
|
460
|
+
- **Secret masking**: API keys, tokens, and passwords are auto-masked (e.g., `sk-ab...789`)
|
|
461
|
+
- **Pretty-printed JSON**: protocol messages are formatted and masked
|
|
462
|
+
- **Timestamps**: enable with `{ timestamps: true }`
|
|
463
|
+
- **Colors**: auto-enabled in terminals (cyan=debug, green=info, yellow=warn, red=error)
|
|
464
|
+
|
|
465
|
+
```typescript
|
|
466
|
+
import { startTimer, prettyPrint } from '@slbdn/mcp-tester';
|
|
467
|
+
|
|
468
|
+
// Measure operation timing
|
|
469
|
+
const elapsed = startTimer();
|
|
470
|
+
await someOperation();
|
|
471
|
+
console.log(`Took ${elapsed()}ms`);
|
|
472
|
+
|
|
473
|
+
// Pretty-print objects with secret masking
|
|
474
|
+
prettyPrint({ apiKey: 'sk-proj-abc123...', count: 42 });
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
See [Troubleshooting Guide](./docs/troubleshooting.md) for more details.
|
|
478
|
+
|
|
345
479
|
## Contributing
|
|
346
480
|
|
|
347
481
|
1. Fork the repository
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MCPClient.d.ts","sourceRoot":"","sources":["../../src/client/MCPClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAgBL,0BAA0B,EAE1B,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"MCPClient.d.ts","sourceRoot":"","sources":["../../src/client/MCPClient.ts"],"names":[],"mappings":"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"}
|
package/dist/client/MCPClient.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
|
2
2
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
3
3
|
// Note: Server process is managed by StdioClientTransport, no manual spawn needed
|
|
4
4
|
import { ListToolsResultSchema, CallToolResultSchema, ListResourcesResultSchema, ReadResourceResultSchema, ListPromptsResultSchema, GetPromptResultSchema, ElicitRequestSchema, LoggingMessageNotificationSchema, ResourceListChangedNotificationSchema, CreateMessageResultSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import { ConsoleLogger, NoOpLogger } from '../utils/logger.js';
|
|
5
|
+
import { ConsoleLogger, NoOpLogger, startTimer, prettyPrint, } from '../utils/logger.js';
|
|
6
6
|
import { mergeEnvironments } from '../utils/env.js';
|
|
7
7
|
import { MCPClientError, MCPNotStartedError, MCPAlreadyStartedError, MCPConnectionError, MCPTimeoutError, MCPServerError, } from '../utils/errors.js';
|
|
8
8
|
const DEFAULT_RETRY_OPTIONS = {
|
|
@@ -110,6 +110,7 @@ export class MCPClient {
|
|
|
110
110
|
this.logger.info(`Starting MCP client: ${this.options.name} v${this.options.version}`);
|
|
111
111
|
this.logger.debug(`Server command: ${config.command}`, config.args || []);
|
|
112
112
|
const mergedEnv = mergeEnvironments(process.env, config.env);
|
|
113
|
+
const commandStr = `${config.command}${config.args ? ' ' + config.args.join(' ') : ''}`;
|
|
113
114
|
try {
|
|
114
115
|
// Use StdioClientTransport to spawn the server process (single process)
|
|
115
116
|
this.transport = new StdioClientTransport({
|
|
@@ -153,7 +154,7 @@ export class MCPClient {
|
|
|
153
154
|
if (error instanceof MCPClientError) {
|
|
154
155
|
throw error;
|
|
155
156
|
}
|
|
156
|
-
throw new MCPConnectionError(`Failed to connect to MCP server: ${error instanceof Error ? error.message : String(error)}
|
|
157
|
+
throw new MCPConnectionError(`Failed to connect to MCP server: ${error instanceof Error ? error.message : String(error)}`, commandStr);
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
/**
|
|
@@ -218,19 +219,20 @@ export class MCPClient {
|
|
|
218
219
|
*/
|
|
219
220
|
async listTools() {
|
|
220
221
|
if (!this.client) {
|
|
221
|
-
throw new MCPNotStartedError();
|
|
222
|
+
throw new MCPNotStartedError('listTools');
|
|
222
223
|
}
|
|
223
224
|
const request = {
|
|
224
225
|
method: 'tools/list',
|
|
225
226
|
params: {},
|
|
226
227
|
};
|
|
227
228
|
if (this.options.enableProtocolLogging) {
|
|
228
|
-
this.logger.debug('Request:', request);
|
|
229
|
+
this.logger.debug('Request:', prettyPrint(request));
|
|
229
230
|
}
|
|
230
231
|
try {
|
|
232
|
+
const elapsed = startTimer();
|
|
231
233
|
const result = await this.withRetry(async () => this.client.request(request, ListToolsResultSchema));
|
|
232
234
|
const tools = result.tools || [];
|
|
233
|
-
this.logger.debug(`Listed ${tools.length} tools`);
|
|
235
|
+
this.logger.debug(`Listed ${tools.length} tools in ${elapsed()}ms`);
|
|
234
236
|
return tools;
|
|
235
237
|
}
|
|
236
238
|
catch (error) {
|
|
@@ -257,7 +259,7 @@ export class MCPClient {
|
|
|
257
259
|
*/
|
|
258
260
|
async callTool(options) {
|
|
259
261
|
if (!this.client) {
|
|
260
|
-
throw new MCPNotStartedError();
|
|
262
|
+
throw new MCPNotStartedError('callTool');
|
|
261
263
|
}
|
|
262
264
|
const request = {
|
|
263
265
|
method: 'tools/call',
|
|
@@ -267,12 +269,13 @@ export class MCPClient {
|
|
|
267
269
|
},
|
|
268
270
|
};
|
|
269
271
|
if (this.options.enableProtocolLogging) {
|
|
270
|
-
this.logger.debug(`Calling tool: ${options.name}`, options.arguments);
|
|
272
|
+
this.logger.debug(`Calling tool: ${options.name}`, prettyPrint(options.arguments));
|
|
271
273
|
}
|
|
272
274
|
try {
|
|
275
|
+
const elapsed = startTimer();
|
|
273
276
|
const timeout = options.timeout ?? this.options.timeout;
|
|
274
277
|
const result = await this.withRetry(async () => this.client.request(request, CallToolResultSchema, { timeout }), options.retries);
|
|
275
|
-
this.logger.debug(`Tool ${options.name} executed
|
|
278
|
+
this.logger.debug(`Tool ${options.name} executed in ${elapsed()}ms`);
|
|
276
279
|
return result;
|
|
277
280
|
}
|
|
278
281
|
catch (error) {
|
|
@@ -293,19 +296,20 @@ export class MCPClient {
|
|
|
293
296
|
*/
|
|
294
297
|
async listResources() {
|
|
295
298
|
if (!this.client) {
|
|
296
|
-
throw new MCPNotStartedError();
|
|
299
|
+
throw new MCPNotStartedError('listResources');
|
|
297
300
|
}
|
|
298
301
|
const request = {
|
|
299
302
|
method: 'resources/list',
|
|
300
303
|
params: {},
|
|
301
304
|
};
|
|
302
305
|
if (this.options.enableProtocolLogging) {
|
|
303
|
-
this.logger.debug('Request:', request);
|
|
306
|
+
this.logger.debug('Request:', prettyPrint(request));
|
|
304
307
|
}
|
|
305
308
|
try {
|
|
309
|
+
const elapsed = startTimer();
|
|
306
310
|
const result = await this.withRetry(async () => this.client.request(request, ListResourcesResultSchema));
|
|
307
311
|
const resources = result.resources || [];
|
|
308
|
-
this.logger.debug(`Listed ${resources.length} resources`);
|
|
312
|
+
this.logger.debug(`Listed ${resources.length} resources in ${elapsed()}ms`);
|
|
309
313
|
return resources;
|
|
310
314
|
}
|
|
311
315
|
catch (error) {
|
|
@@ -328,7 +332,7 @@ export class MCPClient {
|
|
|
328
332
|
*/
|
|
329
333
|
async readResource(uri) {
|
|
330
334
|
if (!this.client) {
|
|
331
|
-
throw new MCPNotStartedError();
|
|
335
|
+
throw new MCPNotStartedError('readResource');
|
|
332
336
|
}
|
|
333
337
|
const request = {
|
|
334
338
|
method: 'resources/read',
|
|
@@ -338,8 +342,9 @@ export class MCPClient {
|
|
|
338
342
|
this.logger.debug(`Reading resource: ${uri}`);
|
|
339
343
|
}
|
|
340
344
|
try {
|
|
345
|
+
const elapsed = startTimer();
|
|
341
346
|
const result = await this.withRetry(async () => this.client.request(request, ReadResourceResultSchema));
|
|
342
|
-
this.logger.debug(`Resource ${uri} read
|
|
347
|
+
this.logger.debug(`Resource ${uri} read in ${elapsed()}ms`);
|
|
343
348
|
return result;
|
|
344
349
|
}
|
|
345
350
|
catch (error) {
|
|
@@ -360,19 +365,20 @@ export class MCPClient {
|
|
|
360
365
|
*/
|
|
361
366
|
async listPrompts() {
|
|
362
367
|
if (!this.client) {
|
|
363
|
-
throw new MCPNotStartedError();
|
|
368
|
+
throw new MCPNotStartedError('listPrompts');
|
|
364
369
|
}
|
|
365
370
|
const request = {
|
|
366
371
|
method: 'prompts/list',
|
|
367
372
|
params: {},
|
|
368
373
|
};
|
|
369
374
|
if (this.options.enableProtocolLogging) {
|
|
370
|
-
this.logger.debug('Request:', request);
|
|
375
|
+
this.logger.debug('Request:', prettyPrint(request));
|
|
371
376
|
}
|
|
372
377
|
try {
|
|
378
|
+
const elapsed = startTimer();
|
|
373
379
|
const result = await this.withRetry(async () => this.client.request(request, ListPromptsResultSchema));
|
|
374
380
|
const prompts = result.prompts || [];
|
|
375
|
-
this.logger.debug(`Listed ${prompts.length} prompts`);
|
|
381
|
+
this.logger.debug(`Listed ${prompts.length} prompts in ${elapsed()}ms`);
|
|
376
382
|
return prompts;
|
|
377
383
|
}
|
|
378
384
|
catch (error) {
|
|
@@ -396,7 +402,7 @@ export class MCPClient {
|
|
|
396
402
|
*/
|
|
397
403
|
async getPrompt(name, args) {
|
|
398
404
|
if (!this.client) {
|
|
399
|
-
throw new MCPNotStartedError();
|
|
405
|
+
throw new MCPNotStartedError('getPrompt');
|
|
400
406
|
}
|
|
401
407
|
const request = {
|
|
402
408
|
method: 'prompts/get',
|
|
@@ -406,11 +412,12 @@ export class MCPClient {
|
|
|
406
412
|
},
|
|
407
413
|
};
|
|
408
414
|
if (this.options.enableProtocolLogging) {
|
|
409
|
-
this.logger.debug(`Getting prompt: ${name}`, args);
|
|
415
|
+
this.logger.debug(`Getting prompt: ${name}`, prettyPrint(args));
|
|
410
416
|
}
|
|
411
417
|
try {
|
|
418
|
+
const elapsed = startTimer();
|
|
412
419
|
const result = await this.withRetry(async () => this.client.request(request, GetPromptResultSchema));
|
|
413
|
-
this.logger.debug(`Prompt ${name} retrieved
|
|
420
|
+
this.logger.debug(`Prompt ${name} retrieved in ${elapsed()}ms`);
|
|
414
421
|
return result;
|
|
415
422
|
}
|
|
416
423
|
catch (error) {
|
|
@@ -436,7 +443,7 @@ export class MCPClient {
|
|
|
436
443
|
*/
|
|
437
444
|
async requestSampling(request) {
|
|
438
445
|
if (!this.client) {
|
|
439
|
-
throw new MCPNotStartedError();
|
|
446
|
+
throw new MCPNotStartedError('requestSampling');
|
|
440
447
|
}
|
|
441
448
|
if (this.options.enableProtocolLogging) {
|
|
442
449
|
this.logger.debug('Sampling request:', request);
|
|
@@ -532,9 +539,13 @@ export class MCPClient {
|
|
|
532
539
|
}
|
|
533
540
|
const message = error instanceof Error ? error.message : String(error);
|
|
534
541
|
if (message.toLowerCase().includes('timeout') || message.toLowerCase().includes('timed out')) {
|
|
535
|
-
|
|
542
|
+
const t = timeout ?? this.options.timeout ?? 30000;
|
|
543
|
+
throw new MCPTimeoutError(`${operation} timed out after ${t}ms`, t, operation);
|
|
536
544
|
}
|
|
537
|
-
|
|
545
|
+
// Extract MCP error code if present (e.g., "-32602" or "-32603")
|
|
546
|
+
const codeMatch = message.match(/code[:\s]+(-?\d+)/);
|
|
547
|
+
const serverCode = codeMatch ? parseInt(codeMatch[1], 10) : undefined;
|
|
548
|
+
throw new MCPServerError(`${operation} failed: ${message}`, operation, serverCode);
|
|
538
549
|
}
|
|
539
550
|
async withRetry(operation, retries) {
|
|
540
551
|
const maxAttempts = retries !== undefined ? retries + 1 : this.retryOptions.maxAttempts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MCPClient.js","sourceRoot":"","sources":["../../src/client/MCPClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MCPClient.js","sourceRoot":"","sources":["../../src/client/MCPClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
export { MCPClient, type MCPServerConfig, type MCPClientOptions, type ToolCallOptions, type NotificationHandler, type RetryOptions, } from './client/index.js';
|
|
30
30
|
export { MCPClientError, MCPTimeoutError, MCPConnectionError, MCPNotStartedError, MCPAlreadyStartedError, MCPServerError, } from './utils/errors.js';
|
|
31
31
|
export type { Logger, LoggerOptions, LogLevel } from './utils/logger.js';
|
|
32
|
+
export { startTimer, prettyPrint } from './utils/logger.js';
|
|
33
|
+
export { maskSecrets, maskValue, addSecretPattern, resetSecretPatterns, getSecretPatterns, getSensitiveEnvKeys, } from './utils/masking.js';
|
|
34
|
+
export type { SecretPattern } from './utils/masking.js';
|
|
32
35
|
export * as assert from './assert.js';
|
|
33
36
|
export { AssertionError } from './assert.js';
|
|
34
37
|
export { toHaveTool, toHaveResource, toHavePrompt, toHaveToolWithSchema, toHaveToolCount, toHaveResourceCount, toHavePromptCount, toHaveResourceByName, toHavePromptWithArgs, toReturnText, toReturnTextContaining, toReturnError, toReturnOk, toReturnJson, toReturnContentCount, toReturnImage, toReturnResourceText, toReturnResourceTextContaining, toReturnPromptTextContaining, toReturnPromptMessageCount, setupJestMatchers, setupVitestMatchers, setupCustomMatchers, assertToolText, assertToolTextContains, assertHasTool, assertHasResource, assertHasPrompt, } from './matchers.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
*/
|
|
29
29
|
export { MCPClient, } from './client/index.js';
|
|
30
30
|
export { MCPClientError, MCPTimeoutError, MCPConnectionError, MCPNotStartedError, MCPAlreadyStartedError, MCPServerError, } from './utils/errors.js';
|
|
31
|
+
export { startTimer, prettyPrint } from './utils/logger.js';
|
|
32
|
+
export { maskSecrets, maskValue, addSecretPattern, resetSecretPatterns, getSecretPatterns, getSensitiveEnvKeys, } from './utils/masking.js';
|
|
31
33
|
export * as assert from './assert.js';
|
|
32
34
|
export { AssertionError } from './assert.js';
|
|
33
35
|
export { toHaveTool, toHaveResource, toHavePrompt, toHaveToolWithSchema, toHaveToolCount, toHaveResourceCount, toHavePromptCount, toHaveResourceByName, toHavePromptWithArgs, toReturnText, toReturnTextContaining, toReturnError, toReturnOk, toReturnJson, toReturnContentCount, toReturnImage, toReturnResourceText, toReturnResourceTextContaining, toReturnPromptTextContaining, toReturnPromptMessageCount, setupJestMatchers, setupVitestMatchers, setupCustomMatchers, assertToolText, assertToolTextContains, assertHasTool, assertHasResource, assertHasPrompt, } from './matchers.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,SAAS,GAMV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EACL,SAAS,GAMV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Error classes for MCPClient operations.
|
|
3
3
|
*
|
|
4
4
|
* All errors include a descriptive message, error code, and proper stack trace.
|
|
5
|
+
* Timeout and connection errors include actionable suggestions for debugging.
|
|
5
6
|
*
|
|
6
7
|
* @example
|
|
7
8
|
* ```typescript
|
|
@@ -10,8 +11,13 @@
|
|
|
10
11
|
* } catch (error) {
|
|
11
12
|
* if (error instanceof MCPServerError) {
|
|
12
13
|
* console.error(`Server error: ${error.message}`);
|
|
14
|
+
* console.error(`Operation: ${error.operation}`);
|
|
13
15
|
* } else if (error instanceof MCPTimeoutError) {
|
|
14
|
-
* console.error(`Timeout after ${error.timeout}ms`);
|
|
16
|
+
* console.error(`Timeout after ${error.timeout}ms on ${error.operation}`);
|
|
17
|
+
* console.error(`Suggestions: ${error.suggestions.join(', ')}`);
|
|
18
|
+
* } else if (error instanceof MCPConnectionError) {
|
|
19
|
+
* console.error(`Connection failed: ${error.message}`);
|
|
20
|
+
* console.error(`Command: ${error.command}`);
|
|
15
21
|
* }
|
|
16
22
|
* }
|
|
17
23
|
* ```
|
|
@@ -26,23 +32,49 @@ export declare class MCPClientError extends Error {
|
|
|
26
32
|
}
|
|
27
33
|
/**
|
|
28
34
|
* Error thrown when a request times out.
|
|
35
|
+
*
|
|
36
|
+
* Includes the operation that timed out, the timeout value, and
|
|
37
|
+
* actionable suggestions for resolving the timeout.
|
|
29
38
|
*/
|
|
30
39
|
export declare class MCPTimeoutError extends MCPClientError {
|
|
31
40
|
/** The timeout value in milliseconds. */
|
|
32
41
|
readonly timeout: number;
|
|
33
|
-
|
|
42
|
+
/** The operation that timed out (e.g., "Call tool echo", "List tools"). */
|
|
43
|
+
readonly operation: string;
|
|
44
|
+
/** Actionable suggestions for resolving the timeout. */
|
|
45
|
+
readonly suggestions: string[];
|
|
46
|
+
constructor(message: string, timeout: number, operation?: string, suggestions?: string[]);
|
|
47
|
+
/**
|
|
48
|
+
* Generate default suggestions based on timeout value.
|
|
49
|
+
*/
|
|
50
|
+
private static defaultSuggestions;
|
|
34
51
|
}
|
|
35
52
|
/**
|
|
36
53
|
* Error thrown when the client fails to connect to the MCP server.
|
|
54
|
+
*
|
|
55
|
+
* Includes the server command and actionable suggestions for resolving
|
|
56
|
+
* connection failures.
|
|
37
57
|
*/
|
|
38
58
|
export declare class MCPConnectionError extends MCPClientError {
|
|
39
|
-
|
|
59
|
+
/** The command that was used to start the server. */
|
|
60
|
+
readonly command: string;
|
|
61
|
+
/** Actionable suggestions for resolving the connection failure. */
|
|
62
|
+
readonly suggestions: string[];
|
|
63
|
+
constructor(message: string, command?: string, suggestions?: string[]);
|
|
64
|
+
/**
|
|
65
|
+
* Generate default suggestions based on the server command.
|
|
66
|
+
*/
|
|
67
|
+
private static defaultSuggestions;
|
|
40
68
|
}
|
|
41
69
|
/**
|
|
42
70
|
* Error thrown when a client method is called before start().
|
|
71
|
+
*
|
|
72
|
+
* Includes which method was called to help identify the issue.
|
|
43
73
|
*/
|
|
44
74
|
export declare class MCPNotStartedError extends MCPClientError {
|
|
45
|
-
|
|
75
|
+
/** The method that was called on the unstarted client. */
|
|
76
|
+
readonly method: string;
|
|
77
|
+
constructor(method?: string);
|
|
46
78
|
}
|
|
47
79
|
/**
|
|
48
80
|
* Error thrown when start() is called on an already-started client.
|
|
@@ -52,8 +84,14 @@ export declare class MCPAlreadyStartedError extends MCPClientError {
|
|
|
52
84
|
}
|
|
53
85
|
/**
|
|
54
86
|
* Error thrown when the MCP server returns an error response.
|
|
87
|
+
*
|
|
88
|
+
* Includes the operation that failed and the server error code if available.
|
|
55
89
|
*/
|
|
56
90
|
export declare class MCPServerError extends MCPClientError {
|
|
57
|
-
|
|
91
|
+
/** The operation that failed (e.g., "Call tool echo", "Read resource config://settings"). */
|
|
92
|
+
readonly operation: string;
|
|
93
|
+
/** The MCP error code from the server response, if available. */
|
|
94
|
+
readonly serverCode?: number | string;
|
|
95
|
+
constructor(message: string, operation?: string, serverCode?: number | string);
|
|
58
96
|
}
|
|
59
97
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,kDAAkD;IAClD,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA2B;CAM/D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,yCAAyC;IACzC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC,2EAA2E;IAC3E,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,wDAAwD;IACxD,SAAgB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE;IASxF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAoBlC;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,qDAAqD;IACrD,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC,mEAAmE;IACnE,SAAgB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE;IAQrE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CA0BlC;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,0DAA0D;IAC1D,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,CAAC,EAAE,MAAM;CAU5B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;;CASzD;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,6FAA6F;IAC7F,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,iEAAiE;IACjE,SAAgB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;gBAEjC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;CAO9E"}
|