nusus-mcp 0.1.1 → 0.2.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
@@ -19,7 +19,7 @@ Node.js 20+ is required. Add this to `claude_desktop_config.json`, then restart
19
19
 
20
20
  `npx` downloads the npm package automatically; users do not need to clone this repository. Claude Desktop may start with a limited `PATH`. If it cannot find `npx`, replace `"npx"` with the absolute path printed by `which npx` (macOS/Linux) or `where.exe npx` (Windows).
21
21
 
22
- The server uses stdio only and writes protocol messages to stdout. It calls Turath's public API for live tools; `find_books` and `find_authors` use Nusus's bundled offline catalog.
22
+ The server uses stdio only and writes protocol messages to stdout. It supports both legacy MCP clients and clients pinned to protocol revision `2026-07-28`. It calls Turath's public API for live tools; `find_books` and `find_authors` use Nusus's bundled offline catalog.
23
23
 
24
24
  ## Tools
25
25
 
@@ -35,7 +35,7 @@ Each live search filter accepts at most one ID. `pageId` is Turath's internal pa
35
35
 
36
36
  ## Development
37
37
 
38
- `nusus-mcp` declares the publishable dependency `"nusus": "^0.6.1"` and is installed independently from the root package. Publish `nusus@0.6.1` before installing or publishing `nusus-mcp@0.1.1` so npm can resolve the SDK dependency. Then run:
38
+ `nusus-mcp` is installed independently from the root package and declares the published `nusus` SDK as a runtime dependency. For a release that bumps both packages, publish the root `nusus` package before installing or publishing `nusus-mcp` so npm can resolve the SDK dependency. Then run:
39
39
 
40
40
  ```bash
41
41
  cd mcp
package/dist/index.js CHANGED
@@ -1,14 +1,21 @@
1
1
  #!/usr/bin/env node
2
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
- import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
2
+ import { Server } from "@modelcontextprotocol/server";
3
+ import { serveStdio } from "@modelcontextprotocol/server/stdio";
5
4
  import { NususError } from "nusus";
6
5
  import { createTurathClient } from "nusus/turath";
7
- const positiveInteger = (args, key, required = false) => {
6
+ const isInteger = (value) => typeof value === "number" && Number.isInteger(value);
7
+ const isString = (value) => typeof value === "string";
8
+ const positiveInteger = (args, key) => {
8
9
  const value = args[key];
9
- if (value === undefined && !required)
10
+ if (value === undefined)
10
11
  return undefined;
11
- if (!Number.isInteger(value) || value < 1)
12
+ if (!isInteger(value) || value < 1)
13
+ throw new NususError("INVALID_ARGUMENT", `${key} must be a positive integer`);
14
+ return value;
15
+ };
16
+ const requiredPositiveInteger = (args, key) => {
17
+ const value = positiveInteger(args, key);
18
+ if (value === undefined)
12
19
  throw new NususError("INVALID_ARGUMENT", `${key} must be a positive integer`);
13
20
  return value;
14
21
  };
@@ -16,17 +23,16 @@ const nonNegativeInteger = (args, key) => {
16
23
  const value = args[key];
17
24
  if (value === undefined)
18
25
  return undefined;
19
- if (!Number.isInteger(value) || value < 0)
26
+ if (!isInteger(value) || value < 0)
20
27
  throw new NususError("INVALID_ARGUMENT", `${key} must be a non-negative integer`);
21
28
  return value;
22
29
  };
23
30
  const stringArgument = (args, key) => {
24
31
  const value = args[key];
25
- if (typeof value !== "string")
32
+ if (value === undefined || !isString(value))
26
33
  throw new NususError("INVALID_ARGUMENT", `${key} must be a string`);
27
34
  return value;
28
35
  };
29
- const optional = (values) => Object.fromEntries(Object.entries(values).filter(([, value]) => value !== undefined));
30
36
  const baseUrl = process.env.NUSUS_TURATH_BASE_URL;
31
37
  const turath = createTurathClient(baseUrl ? { baseUrl } : {});
32
38
  const tools = [
@@ -112,57 +118,64 @@ const runTool = async (name, args) => {
112
118
  case "find_books": {
113
119
  const authorId = positiveInteger(args, "authorId");
114
120
  const categoryId = positiveInteger(args, "categoryId");
115
- return turath.findBooks(stringArgument(args, "query"), optional({
121
+ return turath.findBooks(stringArgument(args, "query"), {
116
122
  authorIds: authorId === undefined ? undefined : [authorId],
117
123
  categoryIds: categoryId === undefined ? undefined : [categoryId],
118
124
  limit: positiveInteger(args, "limit"),
119
- }));
125
+ });
120
126
  }
121
127
  case "find_authors":
122
- return turath.findAuthors(stringArgument(args, "query"), optional({ limit: positiveInteger(args, "limit") }));
128
+ return turath.findAuthors(stringArgument(args, "query"), { limit: positiveInteger(args, "limit") });
123
129
  case "retrieve": {
124
130
  const bookId = positiveInteger(args, "bookId");
125
131
  const authorId = positiveInteger(args, "authorId");
126
132
  const categoryId = positiveInteger(args, "categoryId");
127
- const scope = optional({
128
- bookIds: bookId === undefined ? undefined : [bookId],
129
- authorIds: authorId === undefined ? undefined : [authorId],
130
- categoryIds: categoryId === undefined ? undefined : [categoryId],
131
- });
132
- return turath.retrieve(stringArgument(args, "query"), optional({
133
- scope: Object.keys(scope).length ? scope : undefined,
133
+ const bookIds = bookId === undefined ? undefined : [bookId];
134
+ const authorIds = authorId === undefined ? undefined : [authorId];
135
+ const categoryIds = categoryId === undefined ? undefined : [categoryId];
136
+ const scope = bookIds || authorIds || categoryIds ? { bookIds, authorIds, categoryIds } : undefined;
137
+ return turath.retrieve(stringArgument(args, "query"), {
138
+ scope,
134
139
  maxPassages: positiveInteger(args, "maxPassages"),
135
140
  maxCharsPerPassage: positiveInteger(args, "maxCharsPerPassage"),
136
141
  pagesBefore: nonNegativeInteger(args, "pagesBefore"),
137
142
  pagesAfter: nonNegativeInteger(args, "pagesAfter"),
138
- }));
143
+ });
139
144
  }
140
145
  case "get_context":
141
- return turath.getContextByPage(positiveInteger(args, "bookId", true), positiveInteger(args, "pageId", true), optional({
146
+ return turath.getContextByPage(requiredPositiveInteger(args, "bookId"), requiredPositiveInteger(args, "pageId"), {
142
147
  pagesBefore: nonNegativeInteger(args, "pagesBefore"),
143
148
  pagesAfter: nonNegativeInteger(args, "pagesAfter"),
144
- }));
149
+ });
145
150
  case "get_book":
146
- return turath.getBook(positiveInteger(args, "bookId", true));
151
+ return turath.getBook(requiredPositiveInteger(args, "bookId"));
147
152
  default:
148
153
  throw new NususError("INVALID_ARGUMENT", `Unknown tool: ${name}`);
149
154
  }
150
155
  };
151
- const server = new Server({ name: "nusus-mcp", version: "0.1.1" }, { capabilities: { tools: {} } });
152
- server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [...tools] }));
153
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
154
- try {
155
- return jsonContent(await runTool(request.params.name, request.params.arguments ?? {}));
156
- }
157
- catch (error) {
158
- if (error instanceof NususError)
159
- return jsonContent({ code: error.code, message: error.message }, true);
160
- const message = error instanceof Error ? error.message : "Unknown error";
161
- return jsonContent({ code: "INTERNAL", message }, true);
162
- }
163
- });
156
+ const createServer = () => {
157
+ const server = new Server({ name: "nusus-mcp", version: "0.2.0" }, { capabilities: { tools: {} } });
158
+ server.setRequestHandler("tools/list", async () => ({ tools: [...tools] }));
159
+ server.setRequestHandler("tools/call", async (request) => {
160
+ try {
161
+ return jsonContent(await runTool(request.params.name, request.params.arguments ?? {}));
162
+ }
163
+ catch (error) {
164
+ if (error instanceof NususError)
165
+ return jsonContent({ code: error.code, message: error.message }, true);
166
+ const message = error instanceof Error ? error.message : "Unknown error";
167
+ return jsonContent({ code: "INTERNAL", message }, true);
168
+ }
169
+ });
170
+ return server;
171
+ };
164
172
  try {
165
- await server.connect(new StdioServerTransport());
173
+ serveStdio(createServer, {
174
+ onerror: (error) => {
175
+ process.stderr.write(`nusus-mcp failed: ${error.message}\n`);
176
+ process.exitCode = 1;
177
+ },
178
+ });
166
179
  }
167
180
  catch (error) {
168
181
  process.stderr.write(`nusus-mcp failed: ${error instanceof Error ? error.message : String(error)}\n`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nusus-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "description": "Local MCP stdio server for Nusus and Turath",
5
5
  "keywords": [
6
6
  "turath",
@@ -41,11 +41,14 @@
41
41
  "typecheck": "tsc -p tsconfig.json --noEmit"
42
42
  },
43
43
  "dependencies": {
44
- "@modelcontextprotocol/sdk": "^1.30.0",
45
- "nusus": "^0.6.1"
44
+ "@modelcontextprotocol/server": "^2.0.0",
45
+ "nusus": "^0.7.1"
46
46
  },
47
47
  "engines": {
48
48
  "node": ">=20"
49
49
  },
50
- "license": "MIT"
50
+ "license": "MIT",
51
+ "devDependencies": {
52
+ "@modelcontextprotocol/client": "^2.0.0"
53
+ }
51
54
  }