@bryan-thompson/inspector-assessment 1.0.0 → 1.0.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
@@ -1,5 +1,8 @@
1
1
  # MCP Inspector Assessment
2
2
 
3
+ [![npm version](https://badge.fury.io/js/@bryan-thompson%2Finspector-assessment.svg)](https://www.npmjs.com/package/@bryan-thompson/inspector-assessment)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@bryan-thompson/inspector-assessment.svg)](https://www.npmjs.com/package/@bryan-thompson/inspector-assessment)
5
+
3
6
  The MCP inspector is a developer tool for testing and debugging MCP servers with comprehensive assessment capabilities for validating server functionality, security, documentation, and compliance.
4
7
 
5
8
  ![MCP Inspector Screenshot](./mcp-inspector.png)
@@ -49,6 +52,8 @@ This is an enhanced fork of [Anthropic's MCP Inspector](https://github.com/model
49
52
  **Original Repository**: https://github.com/modelcontextprotocol/inspector
50
53
  **Our Enhanced Fork**: https://github.com/triepod-ai/inspector-assessment
51
54
 
55
+ **⚠️ Important**: This is a published fork with assessment enhancements. If you want the official Anthropic inspector without assessment features, use `npx @modelcontextprotocol/inspector`.
56
+
52
57
  ### What We Added
53
58
 
54
59
  We've built a comprehensive assessment framework on top of the original inspector that transforms it from a debugging tool into a full validation suite for MCP servers. Our enhancements focus on accuracy, depth, and actionable insights for MCP server developers.
@@ -65,13 +70,14 @@ We've built a comprehensive assessment framework on top of the original inspecto
65
70
 
66
71
  Our enhanced fork maintains high code quality standards with comprehensive testing and validation:
67
72
 
68
- - **Test Coverage**: ✅ 464 tests passing (100% pass rate)
73
+ - **Test Coverage**: ✅ 582/582 tests passing (100% pass rate)
69
74
  - **Assessment Module Tests**: 208 tests specifically validating our assessment enhancements
70
75
  - Business logic error detection with confidence scoring
71
76
  - Progressive complexity testing (2 levels: minimal → simple)
72
77
  - Context-aware security testing with zero false positives
73
78
  - Realistic test data generation and boundary testing
74
- - **Total Project Tests**: 464 tests including assessment modules, UI components, and core inspector functionality
79
+ - **Total Project Tests**: 582 tests including assessment modules, UI components, and core inspector functionality
80
+ - All tests updated to reflect comprehensive mode (18 security patterns × 3 payloads per tool)
75
81
  - Test files: `client/src/services/__tests__/` and `client/src/services/assessment/__tests__/`
76
82
  - **Code Quality**: ✅ Production code uses proper TypeScript types
77
83
  - 229 lint issues remaining (down 18% from 280 after recent cleanup)
@@ -88,7 +94,7 @@ Our enhanced fork maintains high code quality standards with comprehensive testi
88
94
  **Testing Commands**:
89
95
 
90
96
  ```bash
91
- npm test # Run all 464 tests
97
+ npm test # Run all 582 tests
92
98
  npm test -- assessment # Run all 208 assessment module tests
93
99
  npm test -- assessmentService # Run assessment service integration tests (54 tests)
94
100
  npm test -- SecurityAssessor # Run security assessment tests (16 tests)
@@ -417,7 +423,7 @@ Our assessment capabilities are backed by a comprehensive test suite that valida
417
423
 
418
424
  **Test Coverage Summary**:
419
425
 
420
- - **464 passing tests** across all project modules (100% pass rate)
426
+ - **582 passing tests** across all project modules (100% pass rate)
421
427
  - **208 assessment module tests** specifically created for validation of our enhancements
422
428
 
423
429
  #### Assessment Module Test Breakdown
@@ -472,14 +478,15 @@ These 208 tests specifically validate:
472
478
  - **Optimization Tests**: Boundary scenario conditional generation, progressive complexity efficiency
473
479
  - **Test Files**: Located in `client/src/services/__tests__/` and `client/src/services/assessment/__tests__/`
474
480
  - **Recent Improvements**:
475
- - Achieved 100% test pass rate (464 passing, 0 failing) - 2025-10-05
481
+ - Achieved 100% test pass rate (582 passing, 0 failing) - 2025-10-11
482
+ - Updated all tests for comprehensive mode (18 security patterns × 3 payloads) - 2025-10-11
476
483
  - Fixed all failing tests after upstream sync - 2025-10-04
477
484
  - Added boundary testing optimization validation - 2025-10-05
478
485
 
479
486
  **Running the Test Suite**:
480
487
 
481
488
  ```bash
482
- npm test # Run all 464 tests
489
+ npm test # Run all 582 tests
483
490
  npm test -- assessmentService # Run main assessment tests
484
491
  npm test -- FunctionalityAssessor # Run specific assessor tests
485
492
  npm test -- SecurityAssessor # Run security tests
@@ -503,13 +510,15 @@ Programmatically run assessments using the CLI:
503
510
 
504
511
  ```bash
505
512
  # Run full assessment
506
- npx @modelcontextprotocol/inspector --cli node build/index.js --assess
513
+ mcp-inspector-assess-cli node build/index.js --assess
514
+ # or with npx
515
+ npx @bryan-thompson/inspector-assessment-cli node build/index.js --assess
507
516
 
508
517
  # Run specific category
509
- npx @modelcontextprotocol/inspector --cli node build/index.js --assess functionality
518
+ mcp-inspector-assess-cli node build/index.js --assess functionality
510
519
 
511
520
  # Export assessment results
512
- npx @modelcontextprotocol/inspector --cli node build/index.js --assess --output assessment-report.json
521
+ mcp-inspector-assess-cli node build/index.js --assess --output assessment-report.json
513
522
  ```
514
523
 
515
524
  ## Running the Inspector
@@ -523,14 +532,16 @@ npx @modelcontextprotocol/inspector --cli node build/index.js --assess --output
523
532
  To get up and running right away with the UI, just execute the following:
524
533
 
525
534
  ```bash
526
- npx @modelcontextprotocol/inspector
535
+ bunx @bryan-thompson/inspector-assessment
536
+ # or with npx
537
+ npx @bryan-thompson/inspector-assessment
527
538
  ```
528
539
 
529
540
  The server will start up and the UI will be accessible at `http://localhost:6274`.
530
541
 
531
542
  ### Docker Container
532
543
 
533
- You can also start it in a Docker container with the following command:
544
+ **Note**: Docker container is not yet available for `@bryan-thompson/inspector-assessment`. The Docker image below is for the upstream inspector only (without assessment features):
534
545
 
535
546
  ```bash
536
547
  docker run --rm --network host -p 6274:6274 -p 6277:6277 ghcr.io/modelcontextprotocol/inspector:latest
@@ -538,32 +549,34 @@ docker run --rm --network host -p 6274:6274 -p 6277:6277 ghcr.io/modelcontextpro
538
549
 
539
550
  ### From an MCP server repository
540
551
 
541
- To inspect an MCP server implementation, there's no need to clone this repo. Instead, use `npx`. For example, if your server is built at `build/index.js`:
552
+ To inspect an MCP server implementation, there's no need to clone this repo. Instead, use `bunx` or `npx`. For example, if your server is built at `build/index.js`:
542
553
 
543
554
  ```bash
544
- npx @modelcontextprotocol/inspector node build/index.js
555
+ bunx @bryan-thompson/inspector-assessment node build/index.js
556
+ # or with npx
557
+ npx @bryan-thompson/inspector-assessment node build/index.js
545
558
  ```
546
559
 
547
560
  You can pass both arguments and environment variables to your MCP server. Arguments are passed directly to your server, while environment variables can be set using the `-e` flag:
548
561
 
549
562
  ```bash
550
563
  # Pass arguments only
551
- npx @modelcontextprotocol/inspector node build/index.js arg1 arg2
564
+ bunx @bryan-thompson/inspector-assessment node build/index.js arg1 arg2
552
565
 
553
566
  # Pass environment variables only
554
- npx @modelcontextprotocol/inspector -e key=value -e key2=$VALUE2 node build/index.js
567
+ bunx @bryan-thompson/inspector-assessment -e key=value -e key2=$VALUE2 node build/index.js
555
568
 
556
569
  # Pass both environment variables and arguments
557
- npx @modelcontextprotocol/inspector -e key=value -e key2=$VALUE2 node build/index.js arg1 arg2
570
+ bunx @bryan-thompson/inspector-assessment -e key=value -e key2=$VALUE2 node build/index.js arg1 arg2
558
571
 
559
572
  # Use -- to separate inspector flags from server arguments
560
- npx @modelcontextprotocol/inspector -e key=$VALUE -- node build/index.js -e server-flag
573
+ bunx @bryan-thompson/inspector-assessment -e key=$VALUE -- node build/index.js -e server-flag
561
574
  ```
562
575
 
563
576
  The inspector runs both an MCP Inspector (MCPI) client UI (default port 6274) and an MCP Proxy (MCPP) server (default port 6277). Open the MCPI client UI in your browser to use the inspector. (These ports are derived from the T9 dialpad mapping of MCPI and MCPP respectively, as a mnemonic). You can customize the ports if needed:
564
577
 
565
578
  ```bash
566
- CLIENT_PORT=8080 SERVER_PORT=9000 npx @modelcontextprotocol/inspector node build/index.js
579
+ CLIENT_PORT=8080 SERVER_PORT=9000 bunx @bryan-thompson/inspector-assessment node build/index.js
567
580
  ```
568
581
 
569
582
  For more details on ways to use the inspector, see the [Inspector section of the MCP docs site](https://modelcontextprotocol.io/docs/tools/inspector). For help with debugging, see the [Debugging guide](https://modelcontextprotocol.io/docs/tools/debugging).
@@ -748,7 +761,7 @@ These settings can be adjusted in real-time through the UI and will persist acro
748
761
  The inspector also supports configuration files to store settings for different MCP servers. This is useful when working with multiple servers or complex configurations:
749
762
 
750
763
  ```bash
751
- npx @modelcontextprotocol/inspector --config path/to/config.json --server everything
764
+ bunx @bryan-thompson/inspector-assessment --config path/to/config.json --server everything
752
765
  ```
753
766
 
754
767
  Example server configuration file:
@@ -827,7 +840,7 @@ You can launch the inspector without specifying a server name if your config has
827
840
 
828
841
  ```bash
829
842
  # Automatically uses "my-server" if it's the only one
830
- npx @modelcontextprotocol/inspector --config mcp.json
843
+ bunx @bryan-thompson/inspector-assessment --config mcp.json
831
844
  ```
832
845
 
833
846
  2. **A server named "default-server"** - automatically selected:
@@ -900,47 +913,47 @@ npm start
900
913
  CLI mode enables programmatic interaction with MCP servers from the command line, ideal for scripting, automation, and integration with coding assistants. This creates an efficient feedback loop for MCP server development.
901
914
 
902
915
  ```bash
903
- npx @modelcontextprotocol/inspector --cli node build/index.js
916
+ mcp-inspector-assess-cli node build/index.js
904
917
  ```
905
918
 
906
919
  The CLI mode supports most operations across tools, resources, and prompts. A few examples:
907
920
 
908
921
  ```bash
909
922
  # Basic usage
910
- npx @modelcontextprotocol/inspector --cli node build/index.js
923
+ mcp-inspector-assess-cli node build/index.js
911
924
 
912
925
  # With config file
913
- npx @modelcontextprotocol/inspector --cli --config path/to/config.json --server myserver
926
+ mcp-inspector-assess-cli --config path/to/config.json --server myserver
914
927
 
915
928
  # List available tools
916
- npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list
929
+ mcp-inspector-assess-cli node build/index.js --method tools/list
917
930
 
918
931
  # Call a specific tool
919
- npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/call --tool-name mytool --tool-arg key=value --tool-arg another=value2
932
+ mcp-inspector-assess-cli node build/index.js --method tools/call --tool-name mytool --tool-arg key=value --tool-arg another=value2
920
933
 
921
934
  # Call a tool with JSON arguments
922
- npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/call --tool-name mytool --tool-arg 'options={"format": "json", "max_tokens": 100}'
935
+ mcp-inspector-assess-cli node build/index.js --method tools/call --tool-name mytool --tool-arg 'options={"format": "json", "max_tokens": 100}'
923
936
 
924
937
  # List available resources
925
- npx @modelcontextprotocol/inspector --cli node build/index.js --method resources/list
938
+ mcp-inspector-assess-cli node build/index.js --method resources/list
926
939
 
927
940
  # List available prompts
928
- npx @modelcontextprotocol/inspector --cli node build/index.js --method prompts/list
941
+ mcp-inspector-assess-cli node build/index.js --method prompts/list
929
942
 
930
943
  # Connect to a remote MCP server (default is SSE transport)
931
- npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com
944
+ mcp-inspector-assess-cli https://my-mcp-server.example.com
932
945
 
933
946
  # Connect to a remote MCP server (with Streamable HTTP transport)
934
- npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --transport http --method tools/list
947
+ mcp-inspector-assess-cli https://my-mcp-server.example.com --transport http --method tools/list
935
948
 
936
949
  # Connect to a remote MCP server (with custom headers)
937
- npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --transport http --method tools/list --header "X-API-Key: your-api-key"
950
+ mcp-inspector-assess-cli https://my-mcp-server.example.com --transport http --method tools/list --header "X-API-Key: your-api-key"
938
951
 
939
952
  # Call a tool on a remote server
940
- npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method tools/call --tool-name remotetool --tool-arg param=value
953
+ mcp-inspector-assess-cli https://my-mcp-server.example.com --method tools/call --tool-name remotetool --tool-arg param=value
941
954
 
942
955
  # List resources from a remote server
943
- npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method resources/list
956
+ mcp-inspector-assess-cli https://my-mcp-server.example.com --method resources/list
944
957
  ```
945
958
 
946
959
  ### UI Mode vs CLI Mode: When to Use Each
@@ -1037,6 +1050,16 @@ Please submit issues and pull requests to our repository: https://github.com/tri
1037
1050
 
1038
1051
  This project builds upon the excellent foundation provided by Anthropic's MCP Inspector team. We're grateful for their work on the original inspector and the MCP protocol specification.
1039
1052
 
1053
+ ## Links
1054
+
1055
+ - **npm Package**: https://www.npmjs.com/package/@bryan-thompson/inspector-assessment
1056
+ - **GitHub Repository**: https://github.com/triepod-ai/inspector-assessment
1057
+ - **Original MCP Inspector**: https://github.com/modelcontextprotocol/inspector
1058
+ - **Issues & Bug Reports**: https://github.com/triepod-ai/inspector-assessment/issues
1059
+ - **MCP Documentation**: https://modelcontextprotocol.io
1060
+ - **Publishing Guide**: [PUBLISHING_GUIDE.md](PUBLISHING_GUIDE.md)
1061
+ - **Changelog**: [CHANGELOG.md](CHANGELOG.md)
1062
+
1040
1063
  ## License
1041
1064
 
1042
1065
  This project is licensed under the MIT License—see the [LICENSE](LICENSE) file for details.
@@ -1,4 +1,4 @@
1
- import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-EfKh2svk.js";
1
+ import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-BEmDUKhR.js";
2
2
  const OAuthCallback = ({ onConnect }) => {
3
3
  const { toast } = useToast();
4
4
  const hasProcessedRef = reactExports.useRef(false);
@@ -1,4 +1,4 @@
1
- import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-EfKh2svk.js";
1
+ import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-BEmDUKhR.js";
2
2
  const OAuthDebugCallback = ({ onConnect }) => {
3
3
  reactExports.useEffect(() => {
4
4
  let isProcessed = false;
@@ -16205,7 +16205,7 @@ objectType({
16205
16205
  token_type_hint: stringType().optional()
16206
16206
  }).strip();
16207
16207
  const name = "@bryan-thompson/inspector-assessment-client";
16208
- const version$1 = "1.0.0";
16208
+ const version$1 = "1.0.1";
16209
16209
  const packageJson = {
16210
16210
  name,
16211
16211
  version: version$1
@@ -41736,7 +41736,7 @@ const useTheme = () => {
41736
41736
  [theme, setThemeWithSideEffect]
41737
41737
  );
41738
41738
  };
41739
- const version = "1.0.0";
41739
+ const version = "1.0.1";
41740
41740
  var [createTooltipContext] = createContextScope("Tooltip", [
41741
41741
  createPopperScope
41742
41742
  ]);
@@ -53106,13 +53106,13 @@ const App = () => {
53106
53106
  ) });
53107
53107
  if (window.location.pathname === "/oauth/callback") {
53108
53108
  const OAuthCallback = React.lazy(
53109
- () => __vitePreload(() => import("./OAuthCallback-CLEJW5KO.js"), true ? [] : void 0)
53109
+ () => __vitePreload(() => import("./OAuthCallback-pJpyrBg5.js"), true ? [] : void 0)
53110
53110
  );
53111
53111
  return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthCallback, { onConnect: onOAuthConnect }) });
53112
53112
  }
53113
53113
  if (window.location.pathname === "/oauth/callback/debug") {
53114
53114
  const OAuthDebugCallback = React.lazy(
53115
- () => __vitePreload(() => import("./OAuthDebugCallback-B154gAVm.js"), true ? [] : void 0)
53115
+ () => __vitePreload(() => import("./OAuthDebugCallback-BGti8QhX.js"), true ? [] : void 0)
53116
53116
  );
53117
53117
  return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthDebugCallback, { onConnect: onOAuthDebugConnect }) });
53118
53118
  }
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/mcp.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>MCP Inspector</title>
8
- <script type="module" crossorigin src="/assets/index-EfKh2svk.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-BEmDUKhR.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-DYiWOife.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bryan-thompson/inspector-assessment",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Enhanced MCP Inspector with comprehensive assessment capabilities for server validation",
5
5
  "license": "MIT",
6
6
  "author": "Bryan Thompson <bryan@triepod.ai>",