mcp-docs-service 0.1.1 → 0.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/README.md CHANGED
@@ -9,6 +9,7 @@ The MCP Documentation Service is a custom implementation of the Model Context Pr
9
9
  - **Search**: Search through documentation using keywords and filters
10
10
  - **Analytics**: Analyze documentation health and get suggestions for improvement
11
11
  - **Custom Directory Support**: Specify a custom docs directory and create it if it doesn't exist
12
+ - **JSON-RPC 2.0 Support**: Native support for the JSON-RPC 2.0 protocol used by Cursor and other MCP clients
12
13
 
13
14
  ## Installation
14
15
 
@@ -177,9 +178,13 @@ async function example() {
177
178
  example();
178
179
  ```
179
180
 
180
- ## Query Format
181
+ ## Query Formats
181
182
 
182
- The service uses a SQL-like query format to execute commands:
183
+ The service supports two query formats:
184
+
185
+ ### SQL-like Format
186
+
187
+ The traditional SQL-like query format:
183
188
 
184
189
  ```
185
190
  command_name(param1="value1", param2="value2")
@@ -191,6 +196,23 @@ For example:
191
196
  get_document(path="architecture/overview.md")
192
197
  ```
193
198
 
199
+ ### JSON-RPC 2.0 Format
200
+
201
+ As of version 0.2.0, the service also supports the JSON-RPC 2.0 format used by Cursor and other MCP clients:
202
+
203
+ ```json
204
+ {
205
+ "jsonrpc": "2.0",
206
+ "method": "get_document",
207
+ "params": {
208
+ "path": "architecture/overview.md"
209
+ },
210
+ "id": 1
211
+ }
212
+ ```
213
+
214
+ The service automatically detects the format of the input and processes it accordingly.
215
+
194
216
  ## Available Commands
195
217
 
196
218
  ### Document Operations
@@ -212,3 +234,22 @@ get_document(path="architecture/overview.md")
212
234
  ## License
213
235
 
214
236
  MIT
237
+
238
+ Just published MCP Dcumentation Service 🔥
239
+ Open source, vibe coding only.A tool that lets AI assistants interact with your documentation through the Model Context Protocol.It enables AI tools like Claude and Cursor to read, create, update, and analyze your markdown docs with a simple query interface.Key features:
240
+ ✅ Document CRUD operations with frontmatter support
241
+ ✅ Documentation search and health analytics
242
+ ✅ Custom directory handlingtest it: `npx mcp-docs-service`
243
+
244
+ Why document your project when working with AI assistants like Claude in Cursor?Good documentation gives AI context about your project's architecture, decisions, and conventions. This means:• More accurate code suggestions
245
+ • Better understanding of your codebase
246
+ • Fewer misunderstandings and errors
247
+ • Consistent implementation of patternsDocumentation is the map that helps AI navigate your code landscape.
248
+
249
+ Use with Cursor IDE:1. Set up mcp-docs-service in your .cursor/mcp.json 2. Ask Cursor: "Analyze our documentation health" 3. Cursor uses MCP to scan your docs and report issues 4. Ask: "Create a guide for our authentication system" 5. Cursor generates a well-structured doc based on your codeThe AI can now read and write to your docs directory, keeping documentation in sync with code changes 💥
250
+
251
+ With Claude Desktop:1. Configure mcp-docs-service in claude_desktop_config.json 2. Ask: "What's our approach to error handling?" 3. Claude searches your docs and explains your patterns 4. Say: "Our validation changed, update the API docs" 5. Claude updates the relevant markdown filesClaude becomes your documentation assistant, maintaining docs without switching contexts or tools.
252
+
253
+ Real example from my workflow:"Claude, analyze our docs and identify gaps in our API documentation"Claude found 7 endpoints missing docs, created templates for each, and suggested improvements to our existing docs.This took 2 minutes instead of hours of manual review!Documentation becomes a living part of your codebase, not an afterthought.
254
+
255
+ Getting started is simple:1. npm install -g mcp-docs-service 2. Add to your AI tool config 3. Start asking questions about your docsFull setup guide: npmjs.com/packa…This is just v0.1.1 - I'd love feedback on how you're using it and what features would help your documentation workflow.
package/dist/cli/index.js CHANGED
@@ -35,6 +35,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.main = void 0;
36
36
  const index_js_1 = require("../index.js");
37
37
  const readline = __importStar(require("readline"));
38
+ const jsonrpc_js_1 = require("./jsonrpc.js");
38
39
  /**
39
40
  * Main function to process stdin commands
40
41
  */
@@ -68,9 +69,20 @@ async function main(options = {
68
69
  rl.on("line", async (line) => {
69
70
  if (line.trim()) {
70
71
  try {
71
- // Process the command and write the result to stdout
72
- const result = await query(line.trim());
73
- console.log(JSON.stringify(result));
72
+ // Check if the input is a JSON-RPC 2.0 request
73
+ if (line.trim().startsWith("{") && line.includes('"jsonrpc"')) {
74
+ // Process as JSON-RPC 2.0 request
75
+ const response = await (0, jsonrpc_js_1.processJsonRpcRequest)(line.trim(), {
76
+ docsDir: options.docsDir,
77
+ createIfNotExists: options.createIfNotExists,
78
+ });
79
+ console.log(JSON.stringify(response));
80
+ }
81
+ else {
82
+ // Process as SQL-like query (legacy mode)
83
+ const result = await query(line.trim());
84
+ console.log(JSON.stringify(result));
85
+ }
74
86
  }
75
87
  catch (error) {
76
88
  // Log errors to stderr and write error result to stdout
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0CAAqD;AACrD,mDAAqC;AAErC;;GAEG;AACI,KAAK,UAAU,IAAI,CACxB,UAGI;IACF,OAAO,EAAE,QAAQ;IACjB,iBAAiB,EAAE,KAAK;CACzB;IAED,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,iBAAiB,EAAE;QAC7B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC5D;IACD,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAElE,wEAAwE;IACxE,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAC5B,IAAA,gBAAa,EAAC,GAAG,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IAEL,4BAA4B;IAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;YACf,IAAI;gBACF,qDAAqD;gBACrD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aACrC;YAAC,OAAO,KAAc,EAAE;gBACvB,wDAAwD;gBACxD,OAAO,CAAC,KAAK,CACX,6BACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CACH,CAAC;aACH;SACF;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,6DAA6D;QAC7D,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AArED,oBAqEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * JSON-RPC 2.0 handler for MCP Documentation Service
3
+ *
4
+ * This module adds JSON-RPC 2.0 support to the MCP Documentation Service,
5
+ * allowing it to be used with Cursor and other MCP clients.
6
+ */
7
+ interface JsonRpcSuccessResponse {
8
+ jsonrpc: string;
9
+ result: any;
10
+ id: number | string | null;
11
+ }
12
+ interface JsonRpcErrorResponse {
13
+ jsonrpc: string;
14
+ error: {
15
+ code: number;
16
+ message: string;
17
+ data?: any;
18
+ };
19
+ id: number | string | null;
20
+ }
21
+ type JsonRpcResponse = JsonRpcSuccessResponse | JsonRpcErrorResponse;
22
+ /**
23
+ * Process a JSON-RPC 2.0 request and return a response
24
+ */
25
+ export declare function processJsonRpcRequest(requestStr: string, options: {
26
+ docsDir: string;
27
+ createIfNotExists: boolean;
28
+ }): Promise<JsonRpcResponse>;
29
+ export {};
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /**
3
+ * JSON-RPC 2.0 handler for MCP Documentation Service
4
+ *
5
+ * This module adds JSON-RPC 2.0 support to the MCP Documentation Service,
6
+ * allowing it to be used with Cursor and other MCP clients.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.processJsonRpcRequest = void 0;
10
+ const index_js_1 = require("../index.js");
11
+ /**
12
+ * Process a JSON-RPC 2.0 request and return a response
13
+ */
14
+ async function processJsonRpcRequest(requestStr, options) {
15
+ try {
16
+ // Parse the JSON-RPC request
17
+ const request = JSON.parse(requestStr);
18
+ // Validate the request
19
+ if (request.jsonrpc !== "2.0") {
20
+ return createErrorResponse(request.id, -32600, "Invalid Request: Not a valid JSON-RPC 2.0 request");
21
+ }
22
+ // Handle special MCP methods
23
+ if (request.method === "list_allowed_directories") {
24
+ return createSuccessResponse(request.id, [options.docsDir]);
25
+ }
26
+ // Translate JSON-RPC method and params to SQL-like query
27
+ const sqlQuery = translateToSqlQuery(request.method, request.params);
28
+ if (!sqlQuery) {
29
+ return createErrorResponse(request.id, -32601, `Method not found: ${request.method}`);
30
+ }
31
+ // Execute the query
32
+ const result = await (0, index_js_1.query)(sqlQuery, options);
33
+ // Translate the result to JSON-RPC response
34
+ if (result.success) {
35
+ return createSuccessResponse(request.id, result.data);
36
+ }
37
+ else {
38
+ return createErrorResponse(request.id, -32000, result.error || "Unknown error");
39
+ }
40
+ }
41
+ catch (error) {
42
+ console.error("Error processing JSON-RPC request:", error);
43
+ return createErrorResponse(null, -32700, error instanceof Error ? error.message : String(error));
44
+ }
45
+ }
46
+ exports.processJsonRpcRequest = processJsonRpcRequest;
47
+ /**
48
+ * Translate a JSON-RPC method and params to a SQL-like query
49
+ */
50
+ function translateToSqlQuery(method, params) {
51
+ switch (method) {
52
+ case "list_files":
53
+ return "list_files()";
54
+ case "list_directories":
55
+ return "list_directories()";
56
+ case "get_document":
57
+ if (!params || !params.path) {
58
+ throw new Error("Invalid params: path is required");
59
+ }
60
+ return `get_document(path="${params.path}")`;
61
+ case "search_documents":
62
+ if (!params || !params.query) {
63
+ throw new Error("Invalid params: query is required");
64
+ }
65
+ return `search_documents(query="${params.query}")`;
66
+ case "create_document":
67
+ if (!params || !params.path || !params.content) {
68
+ throw new Error("Invalid params: path and content are required");
69
+ }
70
+ return `create_document(path="${params.path}", content="${escapeString(params.content)}")`;
71
+ case "update_document":
72
+ if (!params || !params.path || !params.content) {
73
+ throw new Error("Invalid params: path and content are required");
74
+ }
75
+ return `update_document(path="${params.path}", content="${escapeString(params.content)}")`;
76
+ case "delete_document":
77
+ if (!params || !params.path) {
78
+ throw new Error("Invalid params: path is required");
79
+ }
80
+ return `delete_document(path="${params.path}")`;
81
+ case "analyze_docs":
82
+ return "analyze_docs()";
83
+ case "get_health_score":
84
+ return "get_health_score()";
85
+ case "get_suggestions":
86
+ return "get_suggestions()";
87
+ default:
88
+ return null;
89
+ }
90
+ }
91
+ /**
92
+ * Create a JSON-RPC 2.0 success response
93
+ */
94
+ function createSuccessResponse(id, result) {
95
+ return {
96
+ jsonrpc: "2.0",
97
+ result,
98
+ id,
99
+ };
100
+ }
101
+ /**
102
+ * Create a JSON-RPC 2.0 error response
103
+ */
104
+ function createErrorResponse(id, code, message, data) {
105
+ return {
106
+ jsonrpc: "2.0",
107
+ error: {
108
+ code,
109
+ message,
110
+ data,
111
+ },
112
+ id,
113
+ };
114
+ }
115
+ /**
116
+ * Escape special characters in a string
117
+ */
118
+ function escapeString(str) {
119
+ return str.replace(/"/g, '\\"').replace(/\n/g, "\\n");
120
+ }
121
+ //# sourceMappingURL=jsonrpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../src/cli/jsonrpc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-docs-service",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "MCP Documentation Management Service - A Model Context Protocol implementation for documentation management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,6 +24,8 @@
24
24
  "author": "Aleks Petrov",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
+ "@modelcontextprotocol/sdk": "^1.6.1",
28
+ "googleapis": "^146.0.0",
27
29
  "js-yaml": "^4.1.0"
28
30
  },
29
31
  "devDependencies": {