@bryan-thompson/inspector-assessment 1.0.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/LICENSE +22 -0
- package/README.md +1042 -0
- package/cli/build/cli.js +277 -0
- package/cli/build/client/connection.js +38 -0
- package/cli/build/client/index.js +6 -0
- package/cli/build/client/prompts.js +38 -0
- package/cli/build/client/resources.js +30 -0
- package/cli/build/client/tools.js +74 -0
- package/cli/build/client/types.js +1 -0
- package/cli/build/error-handler.js +18 -0
- package/cli/build/index.js +232 -0
- package/cli/build/transport.js +65 -0
- package/cli/build/utils/awaitable-log.js +7 -0
- package/client/README.md +50 -0
- package/client/bin/client.js +62 -0
- package/client/bin/start.js +340 -0
- package/client/dist/assets/OAuthCallback-CLEJW5KO.js +55 -0
- package/client/dist/assets/OAuthDebugCallback-B154gAVm.js +64 -0
- package/client/dist/assets/index-DYiWOife.css +3138 -0
- package/client/dist/assets/index-EfKh2svk.js +53519 -0
- package/client/dist/index.html +14 -0
- package/client/dist/mcp.svg +12 -0
- package/package.json +106 -0
- package/server/build/index.js +647 -0
- package/server/build/mcpProxy.js +63 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { isJSONRPCRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
function onClientError(error) {
|
|
3
|
+
console.error("Error from inspector client:", error);
|
|
4
|
+
}
|
|
5
|
+
function onServerError(error) {
|
|
6
|
+
if (error?.cause && JSON.stringify(error.cause).includes("ECONNREFUSED")) {
|
|
7
|
+
console.error("Connection refused. Is the MCP server running?");
|
|
8
|
+
}
|
|
9
|
+
else if (error.message && error.message.includes("404")) {
|
|
10
|
+
console.error("Error accessing endpoint (HTTP 404)");
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
console.error("Error from MCP server:", error);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export default function mcpProxy({ transportToClient, transportToServer, }) {
|
|
17
|
+
let transportToClientClosed = false;
|
|
18
|
+
let transportToServerClosed = false;
|
|
19
|
+
let reportedServerSession = false;
|
|
20
|
+
transportToClient.onmessage = (message) => {
|
|
21
|
+
transportToServer.send(message).catch((error) => {
|
|
22
|
+
// Send error response back to client if it was a request (has id) and connection is still open
|
|
23
|
+
if (isJSONRPCRequest(message) && !transportToClientClosed) {
|
|
24
|
+
const errorResponse = {
|
|
25
|
+
jsonrpc: "2.0",
|
|
26
|
+
id: message.id,
|
|
27
|
+
error: {
|
|
28
|
+
code: -32001,
|
|
29
|
+
message: error.message,
|
|
30
|
+
data: error,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
transportToClient.send(errorResponse).catch(onClientError);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
transportToServer.onmessage = (message) => {
|
|
38
|
+
if (!reportedServerSession) {
|
|
39
|
+
if (transportToServer.sessionId) {
|
|
40
|
+
// Can only report for StreamableHttp
|
|
41
|
+
console.error("Proxy <-> Server sessionId: " + transportToServer.sessionId);
|
|
42
|
+
}
|
|
43
|
+
reportedServerSession = true;
|
|
44
|
+
}
|
|
45
|
+
transportToClient.send(message).catch(onClientError);
|
|
46
|
+
};
|
|
47
|
+
transportToClient.onclose = () => {
|
|
48
|
+
if (transportToServerClosed) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
transportToClientClosed = true;
|
|
52
|
+
transportToServer.close().catch(onServerError);
|
|
53
|
+
};
|
|
54
|
+
transportToServer.onclose = () => {
|
|
55
|
+
if (transportToClientClosed) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
transportToServerClosed = true;
|
|
59
|
+
transportToClient.close().catch(onClientError);
|
|
60
|
+
};
|
|
61
|
+
transportToClient.onerror = onClientError;
|
|
62
|
+
transportToServer.onerror = onServerError;
|
|
63
|
+
}
|