simple-dynamsoft-mcp 3.1.0 → 4.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/README.md CHANGED
@@ -16,36 +16,21 @@ https://github.com/user-attachments/assets/cc1c5f4b-1461-4462-897a-75abc20d62a6
16
16
 
17
17
  - **Code Snippets**: Real, working source code from official Dynamsoft samples
18
18
  - **Trial License Included**: Ready-to-use trial license for quick testing
19
- - **Multiple SDKs**: Barcode Reader (Mobile/Python/Web) + Dynamic Web TWAIN
19
+ - **Multiple SDKs**: Barcode Reader (Mobile/Python/Web) + Dynamic Web TWAIN + Document Viewer
20
20
  - **Multiple API Levels**: High-level (simple) and low-level (advanced) options
21
- - **HTTP MCP Wrapper for Copilot Studio**: `npm start:http` runs `http/wrapper.js`, exposing MCP over HTTP at `/mcp` (POST JSON-RPC, optional GET SSE). Discovery (tools/resources) is returned inline on `initialize` and `notifications/initialized`, plus SSE push when enabled.
21
+ - **Stdio MCP server**: Runs on stdio. Works with any MCP-capable client.
22
+ - **Resource-efficient discovery**: Resources are discovered via tools (fuzzy search + resource links). Only a small pinned set is listed by default; heavy content is fetched on-demand with `resources/read`.
23
+ - **Latest-major policy**: The server only serves the latest major versions; older major requests are refused with legacy links when available.
22
24
 
23
25
  ## Available Tools
24
26
 
25
27
  | Tool | Description |
26
28
  |------|-------------|
27
- | `list_sdks` | List all SDKs with versions and platforms |
28
- | `get_sdk_info` | Get detailed SDK info for a specific platform |
29
- | `list_samples` | List mobile code samples |
30
- | `list_python_samples` | List Python SDK samples |
31
- | `list_web_samples` | List web barcode reader samples |
32
- | `list_dwt_categories` | List Dynamic Web TWAIN sample categories |
33
- | `get_code_snippet` | Get mobile sample source code |
34
- | `get_python_sample` | Get Python sample code |
35
- | `get_web_sample` | Get web barcode reader sample HTML/JS code |
36
- | `get_dwt_sample` | Get Dynamic Web TWAIN sample |
37
- | `list_ddv_samples` | List Dynamsoft Document Viewer samples |
38
- | `get_ddv_sample` | Get Dynamsoft Document Viewer sample |
39
- | `get_quick_start` | Complete quick start guide with dependencies |
40
- | `get_gradle_config` | Android Gradle configuration |
41
- | `get_license_info` | License initialization code |
42
- | `get_api_usage` | Usage examples for specific APIs |
43
- | `search_samples` | Search samples by keyword |
44
- | `generate_project` | Generate a complete project structure based on a sample |
45
- | `search_dwt_docs` | Search Dynamic Web TWAIN API documentation |
46
- | `get_dwt_api_doc` | Get specific DWT documentation article |
47
- | `search_ddv_docs` | Search Dynamsoft Document Viewer API documentation |
48
- | `get_ddv_api_doc` | Get specific DDV documentation article |
29
+ | `get_index` | Compact index of products, editions, versions, samples, and docs |
30
+ | `search` | Unified search across docs and samples; returns resource links |
31
+ | `resolve_version` | Resolve a concrete latest-major version for a product/edition |
32
+ | `get_quickstart` | Opinionated quickstart for a target stack |
33
+ | `generate_project` | Assemble a project structure from a sample (no AI generation) |
49
34
 
50
35
 
51
36
  ## MCP Client Configuration
@@ -169,16 +154,6 @@ If you prefer running from source:
169
154
  }
170
155
  ```
171
156
 
172
- ### Copilot Studio / HTTP Wrapper
173
-
174
- - Install deps: `npm install`
175
- - Run the HTTP wrapper: `npm start:http` (listens on `http://localhost:3333`)
176
- - POST `/mcp` for JSON-RPC (initialize returns capabilities, instructions, and discovery inline)
177
- - GET `/mcp` for SSE (optional; discovery also pushed here if enabled)
178
- - GET `/health` for status
179
-
180
- The wrapper proxies to the MCP stdio child (`./src/index.js`) and embeds `mcp-session-id` plus an instructions block in the initialize response for compatibility with Copilot Studio.
181
-
182
157
  ## Supported SDKs
183
158
 
184
159
  ### Dynamsoft Barcode Reader Mobile (v11.2.5000)
@@ -231,6 +206,16 @@ The wrapper proxies to the MCP stdio child (`./src/index.js`) and embeds `mcp-se
231
206
  - **classification** - Document classification and tagging
232
207
  - **UI-customization** - Customize viewer and scan UI
233
208
 
209
+ ### Dynamsoft Document Viewer (v3.x)
210
+
211
+ **Installation:** `npm install dynamsoft-document-viewer`
212
+
213
+ **CDN:** `https://cdn.jsdelivr.net/npm/dynamsoft-document-viewer@latest/dist/ddv.js`
214
+
215
+ **Samples:**
216
+ - **hello-world** - Basic viewer setup
217
+ - **angular**, **react-vite**, **vue**, **next** - Framework starter samples
218
+
234
219
  ## Trial License
235
220
  https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform
236
221
 
@@ -296,6 +281,18 @@ data/
296
281
  └── web-twain-api-docs.json # Full DWT API documentation (50+ articles)
297
282
  ```
298
283
 
284
+ ## Using Search-Based Discovery (Recommended)
285
+
286
+ - On session start, let your client call `tools/list` and `resources/list` (pinned only, not exhaustive).
287
+ - For any query, call `search` with keywords; it returns `resource_link` entries.
288
+ - Read only the links you need via `resources/read` to avoid bloating the context window.
289
+ - If unsure what to search, call `get_index` first to see what is available.
290
+
291
+ ## Version Policy
292
+
293
+ - This MCP server serves only the latest major versions (DBR v11, DWT v19).
294
+ - Requests for older major versions are refused. For select legacy versions, the server returns official archived documentation links.
295
+
299
296
  ## Extending the Server
300
297
 
301
298
  ### Add New Samples
@@ -13,7 +13,7 @@ using System.Reflection;
13
13
  [assembly: System.Reflection.AssemblyCompanyAttribute("BlazorApp")]
14
14
  [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
15
15
  [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
16
- [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5425839fef580283ff7839956d6282be5de5e870")]
16
+ [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+aeb6c2f34fb9b7aca3eb10b805b23565a5a85c3c")]
17
17
  [assembly: System.Reflection.AssemblyProductAttribute("BlazorApp")]
18
18
  [assembly: System.Reflection.AssemblyTitleAttribute("BlazorApp")]
19
19
  [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -13,7 +13,7 @@ using System.Reflection;
13
13
  [assembly: System.Reflection.AssemblyCompanyAttribute("BlazorApp")]
14
14
  [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
15
15
  [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
16
- [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5425839fef580283ff7839956d6282be5de5e870")]
16
+ [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+aeb6c2f34fb9b7aca3eb10b805b23565a5a85c3c")]
17
17
  [assembly: System.Reflection.AssemblyProductAttribute("BlazorApp")]
18
18
  [assembly: System.Reflection.AssemblyTitleAttribute("BlazorApp")]
19
19
  [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "simple-dynamsoft-mcp",
3
- "version": "3.1.0",
4
- "description": "MCP server for Dynamsoft SDKs - Barcode Reader (Mobile/Python/Web) and Dynamic Web TWAIN. Provides documentation, code snippets, and API guidance.",
3
+ "version": "4.0.0",
4
+ "description": "MCP server for Dynamsoft SDKs - Barcode Reader (Mobile/Python/Web), Dynamic Web TWAIN, and Document Viewer. Provides documentation, code snippets, and API guidance.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -17,16 +17,12 @@
17
17
  "files": [
18
18
  "src",
19
19
  "data",
20
- "http",
21
20
  "code-snippet",
22
21
  "README.md"
23
22
  ],
24
23
  "scripts": {
25
24
  "start": "node src/index.js",
26
- "start:http": "node http/wrapper.js",
27
- "test": "npm run test:stdio && npm run test:http",
28
- "test:stdio": "node test/server.test.js",
29
- "test:http": "node test/http-wrapper.test.js"
25
+ "test": "node test/server.test.js"
30
26
  },
31
27
  "keywords": [
32
28
  "mcp",
@@ -35,6 +31,7 @@
35
31
  "barcode-reader",
36
32
  "barcode-scanner",
37
33
  "document-scanner",
34
+ "document-viewer",
38
35
  "web-twain",
39
36
  "android",
40
37
  "ios",
@@ -44,7 +41,7 @@
44
41
  ],
45
42
  "dependencies": {
46
43
  "@modelcontextprotocol/sdk": "^1.25.2",
47
- "express": "^4.21.2",
44
+ "fuse.js": "^7.0.0",
48
45
  "zod": "~3.24.0"
49
46
  },
50
47
  "devDependencies": {