simple-dynamsoft-mcp 2.0.4 → 2.1.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.
Files changed (22) hide show
  1. package/README.md +281 -269
  2. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/BlazorApp.csproj.nuget.dgspec.json +108 -0
  3. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/BlazorApp.csproj.nuget.g.props +26 -0
  4. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/BlazorApp.csproj.nuget.g.targets +12 -0
  5. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  6. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/Debug/net8.0/BlazorApp.AssemblyInfo.cs +22 -0
  7. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/Debug/net8.0/BlazorApp.GeneratedMSBuildEditorConfig.editorconfig +53 -0
  8. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/Debug/net8.0/BlazorApp.GlobalUsings.g.cs +11 -0
  9. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-foundational-api/hello-world-blazor/BlazorApp/obj/project.assets.json +2137 -0
  10. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/BlazorApp.csproj.nuget.dgspec.json +108 -0
  11. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/BlazorApp.csproj.nuget.g.props +26 -0
  12. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/BlazorApp.csproj.nuget.g.targets +12 -0
  13. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  14. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/Debug/net8.0/BlazorApp.AssemblyInfo.cs +22 -0
  15. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/Debug/net8.0/BlazorApp.GeneratedMSBuildEditorConfig.editorconfig +41 -0
  16. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/Debug/net8.0/BlazorApp.GlobalUsings.g.cs +11 -0
  17. package/code-snippet/dynamsoft-barcode-reader/web/frameworks/blazor/scan-using-rtu-api/obj/project.assets.json +2137 -0
  18. package/data/dynamsoft_sdks.json +1 -0
  19. package/data/web-twain-api-docs.json +1881 -0
  20. package/package.json +1 -1
  21. package/src/index.js +278 -1
  22. package/test/server.test.js +65 -6
package/README.md CHANGED
@@ -1,269 +1,281 @@
1
- # Dynamsoft MCP Server
2
-
3
- MCP (Model Context Protocol) server that enables AI assistants to write correct code with Dynamsoft SDKs. It provides actual working code snippets, documentation links, and API guidance for:
4
-
5
- - **Dynamsoft Barcode Reader Mobile** - Android (Java/Kotlin) and iOS (Swift)
6
- - **Dynamsoft Barcode Reader Python** - Desktop/server barcode scanning
7
- - **Dynamsoft Barcode Reader Web** - JavaScript/TypeScript barcode scanning
8
- - **Dynamic Web TWAIN** - Document scanning from TWAIN/WIA/ICA/SANE scanners
9
-
10
- ## Features
11
-
12
- - **Code Snippets**: Real, working source code from official Dynamsoft samples
13
- - **Trial License Included**: Ready-to-use trial license for quick testing
14
- - **Multiple SDKs**: Barcode Reader (Mobile/Python/Web) + Dynamic Web TWAIN
15
- - **Multiple API Levels**: High-level (simple) and low-level (advanced) options
16
-
17
- ## Available Tools
18
-
19
- | Tool | Description |
20
- |------|-------------|
21
- | `list_sdks` | List all SDKs with versions and platforms |
22
- | `get_sdk_info` | Get detailed SDK info for a specific platform |
23
- | `list_samples` | List mobile code samples |
24
- | `list_python_samples` | List Python SDK samples |
25
- | `list_dwt_categories` | List Dynamic Web TWAIN sample categories |
26
- | `get_code_snippet` | Get mobile sample source code |
27
- | `get_python_sample` | Get Python sample code |
28
- | `get_dwt_sample` | Get Dynamic Web TWAIN sample |
29
- | `get_quick_start` | Complete quick start guide with dependencies |
30
- | `get_gradle_config` | Android Gradle configuration |
31
- | `get_license_info` | License initialization code |
32
- | `get_api_usage` | Usage examples for specific APIs |
33
- | `search_samples` | Search samples by keyword |
34
-
35
-
36
- ## MCP Client Configuration
37
-
38
- ### Claude Desktop
39
-
40
- Add to your `claude_desktop_config.json`:
41
-
42
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
43
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
44
-
45
- ```json
46
- {
47
- "mcpServers": {
48
- "dynamsoft": {
49
- "command": "npx",
50
- "args": ["-y", "simple-dynamsoft-mcp"]
51
- }
52
- }
53
- }
54
- ```
55
-
56
- ### VS Code (GitHub Copilot)
57
-
58
- Add to your VS Code `settings.json` (Ctrl+Shift+P → "Preferences: Open User Settings (JSON)"):
59
-
60
- ```json
61
- {
62
- "mcp": {
63
- "servers": {
64
- "dynamsoft": {
65
- "command": "npx",
66
- "args": ["-y", "simple-dynamsoft-mcp"]
67
- }
68
- }
69
- }
70
- }
71
- ```
72
-
73
- Or use the workspace `.vscode/mcp.json`:
74
-
75
- ```json
76
- {
77
- "servers": {
78
- "dynamsoft": {
79
- "command": "npx",
80
- "args": ["-y", "simple-dynamsoft-mcp"]
81
- }
82
- }
83
- }
84
- ```
85
-
86
- ### OpenCode
87
-
88
- Add to your `~/.config/opencode/opencode.json` (or `%USERPROFILE%\.config\opencode\opencode.json` on Windows):
89
-
90
- ```json
91
- {
92
- "mcp": {
93
- "servers": {
94
- "dynamsoft": {
95
- "command": "npx",
96
- "args": ["-y", "simple-dynamsoft-mcp"]
97
- }
98
- }
99
- }
100
- }
101
- ```
102
-
103
- ### Cursor
104
-
105
- Add to your Cursor settings (`~/.cursor/mcp.json`):
106
-
107
- ```json
108
- {
109
- "mcpServers": {
110
- "dynamsoft": {
111
- "command": "npx",
112
- "args": ["-y", "simple-dynamsoft-mcp"]
113
- }
114
- }
115
- }
116
- ```
117
-
118
- ### Windsurf
119
-
120
- Add to your Windsurf MCP config (`~/.codeium/windsurf/mcp_config.json`):
121
-
122
- ```json
123
- {
124
- "mcpServers": {
125
- "dynamsoft": {
126
- "command": "npx",
127
- "args": ["-y", "simple-dynamsoft-mcp"]
128
- }
129
- }
130
- }
131
- ```
132
-
133
- ### Cline (VS Code Extension)
134
-
135
- Add via Cline settings in VS Code or edit `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`:
136
-
137
- ```json
138
- {
139
- "mcpServers": {
140
- "dynamsoft": {
141
- "command": "npx",
142
- "args": ["-y", "simple-dynamsoft-mcp"]
143
- }
144
- }
145
- }
146
- ```
147
-
148
- ### Alternative: Run from Local Clone
149
-
150
- If you prefer running from source:
151
-
152
- ```json
153
- {
154
- "command": "node",
155
- "args": ["/absolute/path/to/simple-dynamsoft-mcp/src/index.js"]
156
- }
157
- ```
158
-
159
- ## Supported SDKs
160
-
161
- ### Dynamsoft Barcode Reader Mobile (v11.2.5000)
162
-
163
- **Platforms:** Android, iOS, Flutter, React Native, .NET MAUI
164
-
165
- **API Levels:**
166
- - **High-Level (BarcodeScanner)**: Simple ready-to-use barcode scanning UI
167
- - **Low-Level (CaptureVisionRouter)**: Full control over the scanning pipeline
168
-
169
- **Android Samples:**
170
- - ScanSingleBarcode, ScanMultipleBarcodes, ScenarioOrientedSamples
171
- - DecodeWithCameraEnhancer, DecodeWithCameraX, DecodeFromAnImage
172
- - GeneralSettings, DriversLicenseScanner, TinyBarcodeDecoding, ReadGS1AI
173
-
174
- **iOS Samples:**
175
- - ScanSingleBarcode, ScanMultipleBarcodes, ScanSingleBarcodeSwiftUI
176
- - DecodeWithCameraEnhancer, DecodeWithAVCaptureSession, DecodeFromAnImage
177
-
178
- ### Dynamsoft Barcode Reader Python (v11.2.5000)
179
-
180
- **Installation:** `pip install dynamsoft-barcode-reader-bundle`
181
-
182
- **Samples:**
183
- - `read_an_image` - Decode barcodes from image files
184
- - `video_decoding` - Real-time video decoding
185
-
186
- ### Dynamsoft Barcode Reader Web (v11.2.4000)
187
-
188
- **Installation:** `npm install dynamsoft-barcode-reader-bundle`
189
-
190
- **CDN:** `https://cdn.jsdelivr.net/npm/dynamsoft-barcode-reader-bundle@11.2.4000/dist/dbr.bundle.min.js`
191
-
192
- ### Dynamic Web TWAIN (v19.3)
193
-
194
- **Installation:** `npm install dwt`
195
-
196
- **CDN:** `https://cdn.jsdelivr.net/npm/dwt@latest/dist/dynamsoft.webtwain.min.js`
197
-
198
- **Sample Categories:**
199
- - **scan** - Basic document scanning (basic-scan, read-barcode, etc.)
200
- - **input-options** - Load from files, URLs, local drive
201
- - **output-options** - Save, upload, convert to PDF/Base64/Blob
202
- - **classification** - Document classification and tagging
203
- - **UI-customization** - Customize viewer and scan UI
204
-
205
- ## Trial License
206
- https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform
207
-
208
- ## Example AI Prompts
209
-
210
- After connecting the MCP server, you can ask your AI assistant:
211
-
212
- ### Mobile Barcode Scanner
213
- - "Create an Android app that scans a single barcode"
214
- - "Show me how to use CaptureVisionRouter in iOS Swift"
215
- - "Get the Gradle configuration for Dynamsoft Barcode Reader"
216
- - "How do I initialize the Dynamsoft license in Kotlin?"
217
-
218
- ### Python Barcode Reader
219
- - "Show me how to read barcodes from an image in Python"
220
- - "Get the Python sample for video decoding"
221
-
222
- ### Dynamic Web TWAIN
223
- - "Create a web page that scans documents from a TWAIN scanner"
224
- - "Show me how to save scanned documents as PDF"
225
- - "Get the DWT sample for reading barcodes from scanned documents"
226
-
227
- ## SDK Documentation
228
-
229
- - **Mobile Android**: https://www.dynamsoft.com/barcode-reader/docs/mobile/programming/android/user-guide.html
230
- - **Mobile iOS**: https://www.dynamsoft.com/barcode-reader/docs/mobile/programming/objectivec-swift/user-guide.html
231
- - **Python**: https://www.dynamsoft.com/barcode-reader/docs/server/programming/python/user-guide.html
232
- - **Web JavaScript**: https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/user-guide/index.html
233
- - **Dynamic Web TWAIN**: https://www.dynamsoft.com/web-twain/docs/introduction/index.html
234
-
235
- ## Code Snippet Structure
236
-
237
- ```
238
- code-snippet/
239
- ├── dynamsoft-barcode-reader/
240
- │ ├── android/
241
- │ │ ├── BarcodeScannerAPISamples/ # High-level API
242
- │ │ └── FoundationalAPISamples/ # Low-level API
243
- │ ├── ios/
244
- │ │ ├── BarcodeScannerAPISamples/
245
- │ │ └── FoundationalAPISamples/
246
- │ ├── python/
247
- │ │ └── Samples/
248
- └── web/
249
- └── dynamic-web-twain/
250
- ├── scan/
251
- ├── input-options/
252
- ├── output-options/
253
- ├── classification/
254
- └── UI-customization/
255
- ```
256
-
257
- ## Extending the Server
258
-
259
- ### Add New Samples
260
-
261
- Place new sample projects in the appropriate folder under `code-snippet/`.
262
-
263
- ### Update SDK Info
264
-
265
- Edit `data/dynamsoft_sdks.json` to update versions, docs URLs, or add new platforms.
266
-
267
- ## License
268
-
269
- MIT
1
+ # Dynamsoft MCP Server
2
+
3
+ MCP (Model Context Protocol) server that enables AI assistants to write correct code with Dynamsoft SDKs. It provides actual working code snippets, documentation links, and API guidance for:
4
+
5
+ - **Dynamsoft Barcode Reader Mobile** - Android (Java/Kotlin) and iOS (Swift)
6
+ - **Dynamsoft Barcode Reader Python** - Desktop/server barcode scanning
7
+ - **Dynamsoft Barcode Reader Web** - JavaScript/TypeScript barcode scanning
8
+ - **Dynamic Web TWAIN** - Document scanning from TWAIN/WIA/ICA/SANE scanners
9
+
10
+ ## Demo Video
11
+ https://github.com/user-attachments/assets/cc1c5f4b-1461-4462-897a-75abc20d62a6
12
+
13
+
14
+ ## Features
15
+
16
+ - **Code Snippets**: Real, working source code from official Dynamsoft samples
17
+ - **Trial License Included**: Ready-to-use trial license for quick testing
18
+ - **Multiple SDKs**: Barcode Reader (Mobile/Python/Web) + Dynamic Web TWAIN
19
+ - **Multiple API Levels**: High-level (simple) and low-level (advanced) options
20
+
21
+ ## Available Tools
22
+
23
+ | Tool | Description |
24
+ |------|-------------|
25
+ | `list_sdks` | List all SDKs with versions and platforms |
26
+ | `get_sdk_info` | Get detailed SDK info for a specific platform |
27
+ | `list_samples` | List mobile code samples |
28
+ | `list_python_samples` | List Python SDK samples |
29
+ | `list_dwt_categories` | List Dynamic Web TWAIN sample categories |
30
+ | `get_code_snippet` | Get mobile sample source code |
31
+ | `get_python_sample` | Get Python sample code |
32
+ | `get_dwt_sample` | Get Dynamic Web TWAIN sample |
33
+ | `get_quick_start` | Complete quick start guide with dependencies |
34
+ | `get_gradle_config` | Android Gradle configuration |
35
+ | `get_license_info` | License initialization code |
36
+ | `get_api_usage` | Usage examples for specific APIs |
37
+ | `search_samples` | Search samples by keyword |
38
+ | `generate_project` | Generate a complete project structure based on a sample |
39
+ | `search_dwt_docs` | Search Dynamic Web TWAIN API documentation |
40
+ | `get_dwt_api_doc` | Get specific DWT documentation article |
41
+
42
+
43
+ ## MCP Client Configuration
44
+
45
+ ### OpenCode
46
+ Location:
47
+ - **macOS**: `~/.config/opencode/opencode.json`
48
+ - **Windows**: `%USERPROFILE%\.config\opencode\opencode.json`
49
+
50
+ Configuration:
51
+ ```json
52
+ {
53
+ "$schema": "https://opencode.ai/config.json",
54
+ "mcp": {
55
+ "dynamsoft": {
56
+ "type": "local",
57
+ "command": [
58
+ "npx",
59
+ "simple-dynamsoft-mcp"
60
+ ]
61
+ }
62
+ }
63
+ }
64
+ ```
65
+
66
+ ### Claude Desktop
67
+
68
+ Location:
69
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
70
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
71
+
72
+ Configuration:
73
+ ```json
74
+ {
75
+ "mcpServers": {
76
+ "dynamsoft": {
77
+ "command": "npx",
78
+ "args": ["-y", "simple-dynamsoft-mcp"]
79
+ }
80
+ }
81
+ }
82
+ ```
83
+
84
+ ### VS Code with GitHub Copilot
85
+
86
+ Global Location:
87
+
88
+ - **macOS**: `~/.mcp.json`
89
+ - **Windows**: `%USERPROFILE%\.mcp.json`
90
+
91
+ ```json
92
+ {
93
+ "servers": {
94
+ "dynamsoft": {
95
+ "command": "npx",
96
+ "args": ["-y", "simple-dynamsoft-mcp"]
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ Or create workspace-specific `.vscode/mcp.json`:
103
+
104
+ ```json
105
+ {
106
+ "servers": {
107
+ "dynamsoft": {
108
+ "command": "npx",
109
+ "args": ["-y", "simple-dynamsoft-mcp"]
110
+ }
111
+ }
112
+ }
113
+ ```
114
+
115
+ ### Cursor
116
+
117
+ Location:
118
+ - **macOS**: `~/.cursor/mcp.json`
119
+ - **Windows**: `%USERPROFILE%\.cursor\mcp.json`
120
+
121
+ Configuration:
122
+
123
+ ```json
124
+ {
125
+ "mcpServers": {
126
+ "dynamsoft": {
127
+ "command": "npx",
128
+ "args": ["-y", "simple-dynamsoft-mcp"]
129
+ }
130
+ }
131
+ }
132
+ ```
133
+
134
+ ### Windsurf
135
+
136
+ Location:
137
+
138
+ - **macOS**: `~/.codeium/windsurf/mcp_config.json`
139
+ - **Windows**: `%USERPROFILE%\.codeium\windsurf\mcp_config.json`
140
+
141
+ ```json
142
+ {
143
+ "mcpServers": {
144
+ "dynamsoft": {
145
+ "command": "npx",
146
+ "args": ["-y", "simple-dynamsoft-mcp"]
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+
153
+ ### Alternative: Run from Local Clone
154
+
155
+ If you prefer running from source:
156
+
157
+ ```json
158
+ {
159
+ "command": "node",
160
+ "args": ["/absolute/path/to/simple-dynamsoft-mcp/src/index.js"]
161
+ }
162
+ ```
163
+
164
+ ## Supported SDKs
165
+
166
+ ### Dynamsoft Barcode Reader Mobile (v11.2.5000)
167
+
168
+ **Platforms:** Android, iOS, Flutter, React Native, .NET MAUI
169
+
170
+ **API Levels:**
171
+ - **High-Level (BarcodeScanner)**: Simple ready-to-use barcode scanning UI
172
+ - **Low-Level (CaptureVisionRouter)**: Full control over the scanning pipeline
173
+
174
+ **Android Samples:**
175
+ - ScanSingleBarcode, ScanMultipleBarcodes, ScenarioOrientedSamples
176
+ - DecodeWithCameraEnhancer, DecodeWithCameraX, DecodeFromAnImage
177
+ - GeneralSettings, DriversLicenseScanner, TinyBarcodeDecoding, ReadGS1AI
178
+
179
+ **iOS Samples:**
180
+ - ScanSingleBarcode, ScanMultipleBarcodes, ScanSingleBarcodeSwiftUI
181
+ - DecodeWithCameraEnhancer, DecodeWithAVCaptureSession, DecodeFromAnImage
182
+
183
+ ### Dynamsoft Barcode Reader Python (v11.2.5000)
184
+
185
+ **Installation:** `pip install dynamsoft-barcode-reader-bundle`
186
+
187
+ **Samples:**
188
+ - `read_an_image` - Decode barcodes from image files
189
+ - `video_decoding` - Real-time video decoding
190
+
191
+ ### Dynamsoft Barcode Reader Web (v11.2.4000)
192
+
193
+ **Installation:** `npm install dynamsoft-barcode-reader-bundle`
194
+
195
+ **CDN:** `https://cdn.jsdelivr.net/npm/dynamsoft-barcode-reader-bundle@11.2.4000/dist/dbr.bundle.min.js`
196
+
197
+ ### Dynamic Web TWAIN (v19.3)
198
+
199
+ **Installation:** `npm install dwt`
200
+
201
+ **CDN:** `https://cdn.jsdelivr.net/npm/dwt@latest/dist/dynamsoft.webtwain.min.js`
202
+
203
+ **Sample Categories:**
204
+ - **scan** - Basic document scanning (basic-scan, read-barcode, etc.)
205
+ - **input-options** - Load from files, URLs, local drive
206
+ - **output-options** - Save, upload, convert to PDF/Base64/Blob
207
+ - **classification** - Document classification and tagging
208
+ - **UI-customization** - Customize viewer and scan UI
209
+
210
+ ## Trial License
211
+ https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform
212
+
213
+ ## Example AI Prompts
214
+
215
+ After connecting the MCP server, you can ask your AI assistant:
216
+
217
+ ### Mobile Barcode Scanner
218
+ - "Create an Android app that scans a single barcode"
219
+ - "Show me how to use CaptureVisionRouter in iOS Swift"
220
+ - "Get the Gradle configuration for Dynamsoft Barcode Reader"
221
+ - "How do I initialize the Dynamsoft license in Kotlin?"
222
+
223
+ ### Python Barcode Reader
224
+ - "Show me how to read barcodes from an image in Python"
225
+ - "Get the Python sample for video decoding"
226
+
227
+ ### Dynamic Web TWAIN
228
+ - "Create a web page that scans documents from a TWAIN scanner"
229
+ - "Show me how to save scanned documents as PDF"
230
+ - "Get the DWT sample for reading barcodes from scanned documents"
231
+ - "Search the DWT docs for how to load images from files"
232
+ - "Get the DWT documentation about OCR"
233
+ - "How do I configure the PDF rasterizer in DWT?"
234
+
235
+ ## SDK Documentation
236
+
237
+ - **Mobile Android**: https://www.dynamsoft.com/barcode-reader/docs/mobile/programming/android/user-guide.html
238
+ - **Mobile iOS**: https://www.dynamsoft.com/barcode-reader/docs/mobile/programming/objectivec-swift/user-guide.html
239
+ - **Python**: https://www.dynamsoft.com/barcode-reader/docs/server/programming/python/user-guide.html
240
+ - **Web JavaScript**: https://www.dynamsoft.com/barcode-reader/docs/web/programming/javascript/user-guide/index.html
241
+ - **Dynamic Web TWAIN**: https://www.dynamsoft.com/web-twain/docs/introduction/index.html
242
+
243
+ ## Code Snippet Structure
244
+
245
+ ```
246
+ code-snippet/
247
+ ├── dynamsoft-barcode-reader/
248
+ ├── android/
249
+ │ │ ├── BarcodeScannerAPISamples/ # High-level API
250
+ │ │ └── FoundationalAPISamples/ # Low-level API
251
+ ├── ios/
252
+ │ │ ├── BarcodeScannerAPISamples/
253
+ │ │ └── FoundationalAPISamples/
254
+ │ ├── python/
255
+ │ │ └── Samples/
256
+ │ └── web/
257
+ └── dynamic-web-twain/
258
+ ├── scan/
259
+ ├── input-options/
260
+ ├── output-options/
261
+ ├── classification/
262
+ └── UI-customization/
263
+
264
+ data/
265
+ ├── dynamsoft_sdks.json # SDK registry with versions and docs
266
+ └── web-twain-api-docs.json # Full DWT API documentation (50+ articles)
267
+ ```
268
+
269
+ ## Extending the Server
270
+
271
+ ### Add New Samples
272
+
273
+ Place new sample projects in the appropriate folder under `code-snippet/`.
274
+
275
+ ### Update SDK Info
276
+
277
+ Edit `data/dynamsoft_sdks.json` to update versions, docs URLs, or add new platforms.
278
+
279
+ ## License
280
+
281
+ MIT
@@ -0,0 +1,108 @@
1
+ {
2
+ "format": 1,
3
+ "restore": {
4
+ "D:\\code\\simple-dynamsoft-mcp\\code-snippet\\dynamsoft-barcode-reader\\web\\frameworks\\blazor\\scan-using-foundational-api\\hello-world-blazor\\BlazorApp\\BlazorApp.csproj": {}
5
+ },
6
+ "projects": {
7
+ "D:\\code\\simple-dynamsoft-mcp\\code-snippet\\dynamsoft-barcode-reader\\web\\frameworks\\blazor\\scan-using-foundational-api\\hello-world-blazor\\BlazorApp\\BlazorApp.csproj": {
8
+ "version": "1.0.0",
9
+ "restore": {
10
+ "projectUniqueName": "D:\\code\\simple-dynamsoft-mcp\\code-snippet\\dynamsoft-barcode-reader\\web\\frameworks\\blazor\\scan-using-foundational-api\\hello-world-blazor\\BlazorApp\\BlazorApp.csproj",
11
+ "projectName": "BlazorApp",
12
+ "projectPath": "D:\\code\\simple-dynamsoft-mcp\\code-snippet\\dynamsoft-barcode-reader\\web\\frameworks\\blazor\\scan-using-foundational-api\\hello-world-blazor\\BlazorApp\\BlazorApp.csproj",
13
+ "packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
14
+ "outputPath": "D:\\code\\simple-dynamsoft-mcp\\code-snippet\\dynamsoft-barcode-reader\\web\\frameworks\\blazor\\scan-using-foundational-api\\hello-world-blazor\\BlazorApp\\obj\\",
15
+ "projectStyle": "PackageReference",
16
+ "fallbackFolders": [
17
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
18
+ ],
19
+ "configFilePaths": [
20
+ "C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
21
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
22
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
23
+ ],
24
+ "originalTargetFrameworks": [
25
+ "net8.0"
26
+ ],
27
+ "sources": {
28
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
29
+ "C:\\Program Files\\dotnet\\library-packs": {},
30
+ "https://api.nuget.org/v3/index.json": {}
31
+ },
32
+ "frameworks": {
33
+ "net8.0": {
34
+ "targetAlias": "net8.0",
35
+ "projectReferences": {}
36
+ }
37
+ },
38
+ "warningProperties": {
39
+ "warnAsError": [
40
+ "NU1605"
41
+ ]
42
+ },
43
+ "restoreAuditProperties": {
44
+ "enableAudit": "true",
45
+ "auditLevel": "low",
46
+ "auditMode": "direct"
47
+ },
48
+ "SdkAnalysisLevel": "9.0.200"
49
+ },
50
+ "frameworks": {
51
+ "net8.0": {
52
+ "targetAlias": "net8.0",
53
+ "dependencies": {
54
+ "Microsoft.AspNetCore.Components.WebAssembly": {
55
+ "target": "Package",
56
+ "version": "[8.0.7, )"
57
+ },
58
+ "Microsoft.AspNetCore.Components.WebAssembly.DevServer": {
59
+ "suppressParent": "All",
60
+ "target": "Package",
61
+ "version": "[8.0.7, )"
62
+ },
63
+ "Microsoft.NET.ILLink.Tasks": {
64
+ "suppressParent": "All",
65
+ "target": "Package",
66
+ "version": "[8.0.13, )",
67
+ "autoReferenced": true
68
+ },
69
+ "Microsoft.NET.Sdk.WebAssembly.Pack": {
70
+ "suppressParent": "All",
71
+ "target": "Package",
72
+ "version": "[9.0.2, )",
73
+ "autoReferenced": true
74
+ }
75
+ },
76
+ "imports": [
77
+ "net461",
78
+ "net462",
79
+ "net47",
80
+ "net471",
81
+ "net472",
82
+ "net48",
83
+ "net481"
84
+ ],
85
+ "assetTargetFallback": true,
86
+ "warn": true,
87
+ "downloadDependencies": [
88
+ {
89
+ "name": "Microsoft.NETCore.App.Runtime.Mono.browser-wasm",
90
+ "version": "[8.0.13, 8.0.13]"
91
+ }
92
+ ],
93
+ "frameworkReferences": {
94
+ "Microsoft.NETCore.App": {
95
+ "privateAssets": "all"
96
+ }
97
+ },
98
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.200/PortableRuntimeIdentifierGraph.json"
99
+ }
100
+ },
101
+ "runtimes": {
102
+ "browser-wasm": {
103
+ "#import": []
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }