mcp-docs-service 0.2.11 → 0.2.13
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 +22 -0
- package/dist/cli/bin.js +28 -19
- package/dist/cli/bin.js.map +1 -1
- package/dist/index.js +564 -488
- package/dist/index.js.map +1 -1
- package/package.json +6 -3
- package/mcp-inspector-wrapper.js +0 -56
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,28 @@
|
|
2
2
|
|
3
3
|
All notable changes to the MCP Docs Service will be documented in this file.
|
4
4
|
|
5
|
+
## [0.2.13] - 2024-05-16
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
- Added `mcp-docs-cursor` entry point specifically for Cursor integration
|
10
|
+
- Improved argument handling for Cursor integration
|
11
|
+
- Enhanced debugging capabilities with detailed logging
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
|
15
|
+
- Fixed issue with npx execution in Cursor's MCP integration
|
16
|
+
- Improved robustness of docs directory resolution
|
17
|
+
- Enhanced error handling for Cursor integration
|
18
|
+
|
19
|
+
## [0.2.12] - 2024-05-15
|
20
|
+
|
21
|
+
### Fixed
|
22
|
+
|
23
|
+
- Fixed MCP Inspector integration by preventing non-JSON output to stdout
|
24
|
+
- Improved logging to use stderr for diagnostic messages
|
25
|
+
- Ensured wrapper script is included in the published package
|
26
|
+
|
5
27
|
## [0.2.11] - 2024-05-15
|
6
28
|
|
7
29
|
### Fixed
|
package/dist/cli/bin.js
CHANGED
@@ -11,43 +11,52 @@ import { fileURLToPath } from "url";
|
|
11
11
|
// Get the current directory
|
12
12
|
const __filename = fileURLToPath(import.meta.url);
|
13
13
|
const __dirname = path.dirname(__filename);
|
14
|
+
// Check if we're running under MCP Inspector
|
15
|
+
const isMCPInspector = process.env.MCP_INSPECTOR === "true" ||
|
16
|
+
process.argv.some((arg) => arg.includes("modelcontextprotocol/inspector"));
|
17
|
+
// Create a logging function that respects MCP Inspector mode
|
18
|
+
const log = (...args) => {
|
19
|
+
if (!isMCPInspector) {
|
20
|
+
console.log(...args);
|
21
|
+
}
|
22
|
+
};
|
23
|
+
const errorLog = (...args) => {
|
24
|
+
console.error(...args);
|
25
|
+
};
|
14
26
|
// Parse command line arguments
|
15
27
|
const args = process.argv.slice(2);
|
16
|
-
|
28
|
+
log("CLI Arguments:", JSON.stringify(args));
|
17
29
|
let docsDir = path.join(process.cwd(), "docs");
|
18
30
|
let createDir = false;
|
19
31
|
let healthCheck = false;
|
20
32
|
let showHelp = false;
|
21
33
|
// MCP Inspector specific handling
|
22
34
|
// When run through MCP Inspector, it might pass arguments in a different format
|
23
|
-
// Let's try to detect if we're running under MCP Inspector
|
24
|
-
const isMCPInspector = process.env.MCP_INSPECTOR === "true" ||
|
25
|
-
process.argv.some((arg) => arg.includes("modelcontextprotocol/inspector"));
|
26
35
|
if (isMCPInspector) {
|
27
|
-
|
36
|
+
log("Detected MCP Inspector environment");
|
28
37
|
// Try to find a valid docs directory in all arguments
|
29
38
|
// This is a more aggressive approach but should work with various argument formats
|
30
39
|
for (const arg of process.argv) {
|
31
40
|
if (arg.endsWith("/docs") || arg.includes("/docs ")) {
|
32
41
|
const potentialPath = arg.split(" ")[0];
|
33
|
-
|
42
|
+
log("Found potential docs path in MCP Inspector args:", potentialPath);
|
34
43
|
if (fs.existsSync(potentialPath)) {
|
35
44
|
docsDir = path.resolve(potentialPath);
|
36
|
-
|
45
|
+
log("Using docs directory from MCP Inspector:", docsDir);
|
37
46
|
break;
|
38
47
|
}
|
39
48
|
}
|
40
49
|
}
|
41
50
|
// If we couldn't find a valid docs directory, use the default
|
42
|
-
|
51
|
+
log("Using docs directory:", docsDir);
|
43
52
|
}
|
44
53
|
else {
|
45
54
|
// Standard argument parsing
|
46
55
|
for (let i = 0; i < args.length; i++) {
|
47
|
-
|
56
|
+
log(`Processing arg[${i}]:`, args[i]);
|
48
57
|
if (args[i] === "--docs-dir" && i + 1 < args.length) {
|
49
58
|
docsDir = path.resolve(args[i + 1]);
|
50
|
-
|
59
|
+
log("Setting docs dir from --docs-dir flag:", docsDir);
|
51
60
|
i++; // Skip the next argument
|
52
61
|
}
|
53
62
|
else if (args[i] === "--create-dir") {
|
@@ -62,19 +71,19 @@ else {
|
|
62
71
|
else if (!args[i].startsWith("--")) {
|
63
72
|
// Handle positional argument as docs directory
|
64
73
|
const potentialPath = path.resolve(args[i]);
|
65
|
-
|
66
|
-
|
74
|
+
log("Potential positional path:", potentialPath);
|
75
|
+
log("Path exists?", fs.existsSync(potentialPath));
|
67
76
|
if (fs.existsSync(potentialPath)) {
|
68
77
|
docsDir = potentialPath;
|
69
|
-
|
78
|
+
log("Setting docs dir from positional argument:", docsDir);
|
70
79
|
}
|
71
80
|
else {
|
72
|
-
|
81
|
+
log("Path doesn't exist, not using as docs dir:", potentialPath);
|
73
82
|
}
|
74
83
|
}
|
75
84
|
}
|
76
85
|
}
|
77
|
-
|
86
|
+
log("Final docs dir:", docsDir);
|
78
87
|
// Show help if requested
|
79
88
|
if (showHelp) {
|
80
89
|
console.log(`
|
@@ -97,18 +106,18 @@ if (createDir) {
|
|
97
106
|
try {
|
98
107
|
if (!fs.existsSync(docsDir)) {
|
99
108
|
fs.mkdirSync(docsDir, { recursive: true });
|
100
|
-
|
109
|
+
log(`Created docs directory: ${docsDir}`);
|
101
110
|
}
|
102
111
|
}
|
103
112
|
catch (error) {
|
104
|
-
|
113
|
+
errorLog(`Error creating docs directory: ${error}`);
|
105
114
|
process.exit(1);
|
106
115
|
}
|
107
116
|
}
|
108
117
|
// Ensure the docs directory exists
|
109
118
|
if (!fs.existsSync(docsDir)) {
|
110
|
-
|
111
|
-
|
119
|
+
errorLog(`Error: Docs directory does not exist: ${docsDir}`);
|
120
|
+
errorLog(`Use --create-dir to create it automatically`);
|
112
121
|
process.exit(1);
|
113
122
|
}
|
114
123
|
// Add the docs directory to process.argv so it's available to the main service
|
package/dist/cli/bin.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,4BAA4B;AAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":"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"}
|