@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 +56 -33
- package/client/dist/assets/{OAuthCallback-CLEJW5KO.js → OAuthCallback-pJpyrBg5.js} +1 -1
- package/client/dist/assets/{OAuthDebugCallback-B154gAVm.js → OAuthDebugCallback-BGti8QhX.js} +1 -1
- package/client/dist/assets/{index-EfKh2svk.js → index-BEmDUKhR.js} +4 -4
- package/client/dist/index.html +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# MCP Inspector Assessment
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@bryan-thompson/inspector-assessment)
|
|
4
|
+
[](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
|

|
|
@@ -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**: ✅
|
|
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**:
|
|
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
|
|
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
|
-
- **
|
|
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 (
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
518
|
+
mcp-inspector-assess-cli node build/index.js --assess functionality
|
|
510
519
|
|
|
511
520
|
# Export assessment results
|
|
512
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
564
|
+
bunx @bryan-thompson/inspector-assessment node build/index.js arg1 arg2
|
|
552
565
|
|
|
553
566
|
# Pass environment variables only
|
|
554
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
923
|
+
mcp-inspector-assess-cli node build/index.js
|
|
911
924
|
|
|
912
925
|
# With config file
|
|
913
|
-
|
|
926
|
+
mcp-inspector-assess-cli --config path/to/config.json --server myserver
|
|
914
927
|
|
|
915
928
|
# List available tools
|
|
916
|
-
|
|
929
|
+
mcp-inspector-assess-cli node build/index.js --method tools/list
|
|
917
930
|
|
|
918
931
|
# Call a specific tool
|
|
919
|
-
|
|
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
|
-
|
|
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
|
-
|
|
938
|
+
mcp-inspector-assess-cli node build/index.js --method resources/list
|
|
926
939
|
|
|
927
940
|
# List available prompts
|
|
928
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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);
|
package/client/dist/assets/{OAuthDebugCallback-B154gAVm.js → OAuthDebugCallback-BGti8QhX.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-
|
|
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.
|
|
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.
|
|
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-
|
|
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-
|
|
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
|
}
|
package/client/dist/index.html
CHANGED
|
@@ -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-
|
|
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.
|
|
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>",
|