Dynamsoft MCP Server
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
| Access | remote |
|---|---|
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 118 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Dynamsoft MCP Server": {
"url": "https://simple-dynamsoft-mcp.wonderfulwave-69908b91.eastus2.azurecontainerapps.io/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (6)
get_indexread-onlyGet a compact index of the public Dynamsoft offerings, editions, platforms, versions, and available docs/samples. WHEN TO USE: - As the first call in any conversation to discover what is available. - To determine valid product/edition/platform combinations before calling other tools. Note: DBR is the only product with multiple editions (mobile/web/server). DWT, DDV, MRZ, and MDS are web/JavaScript-only here, so do not ask the user which platform or language for them. api_level (high-level/low-level) applies only to DBR mobile. - To get public product-selection guidance (DBR for barcode-only; MRZ for machine-readable-zone workflows; MDS for document scan and normalization workflows). WHEN NOT TO USE: - Do not call get_index repeatedly; the index is static within a session. - If you already know the product/edition/platform, skip directly to search or get_quickstart. RETURNS: A JSON object with top-level keys: productSelection and products. productSelection contains guidance for choosing between public offerings, and products contains per-product entries (dbr, dwt, ddv, mrz, mds) with editions, platforms, latest versions, and counts of available docs and samples. PARAMETERS: None. EXAMPLE WORKFLOW: 1. Call get_index to discover available products. 2. Use the returned product/edition/platform values in search, list_samples, or get_quickstart. RELATED TOOLS: search (find specific resources), list_samples (browse samples), resolve_version (get exact version numbers).
Hints: read-only yes · destructive no · idempotent yes · open-world no
searchread-onlySearch across documentation and samples using semantic (RAG) search with fuzzy fallback. WHEN TO USE: - To find docs or samples by keyword, topic, or exact sample ID. - To look up specific scenarios: MRZ scanning, barcode decoding, document normalization, document scanning, and viewer workflows. - When you have a natural-language question about a Dynamsoft SDK. - For sample lookup by exact ID (e.g. query='hello-world', type='sample'). WHEN NOT TO USE: - To browse all samples in a scope, use list_samples instead. - To get starter code quickly, use get_quickstart instead. - If you do not know valid products/editions, call get_index first. PARAMETERS: - query (required): Keywords or exact sample ID. Examples: 'barcode scanning from camera', 'MRZ passport reader', 'hello-world'. - product: dbr, dwt, ddv, mrz, or mds. Use DBR for barcode-only, MRZ for passport/machine-readable-zone workflows, and MDS for document scan or normalization workflows. - edition: core, mobile, web, or server. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them). - platform: only DBR spans multiple platforms (android, ios, js, python, cpp, java, dotnet, nodejs, react, vue, angular, flutter, react-native, maui, etc.). DWT/DDV/MRZ/MDS are web/JS-only (omit for them). - version: Version constraint (e.g. '10', '11.x'). Only latest major is served by default. - type: 'doc', 'sample', 'index', 'policy', or 'any' (default). Use 'sample' to restrict to sample results. - limit: 1-10 (default 5). Max number of results. RETURNS: An MCP response whose content array includes a leading text summary item followed by zero or more resource_link items with URIs. Use resources/read to fetch full content of doc:// URIs. Use get_sample_files to fetch full project files for sample:// URIs. RELATED TOOLS: get_index (discover products first), list_samples (browse all samples), get_sample_files (retrieve full sample project files), resources/read (read a doc resource).
Parameters:
query(required) — string — Keywords to search across docs and samples.type— stringlimit— integer — Max results (default 5)edition— string — Edition: core, mobile, web, server/desktop. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them).product— string — Product: dbr, dwt, ddv, mrz, mdsversion— string — Version constraint (major or full version)platform— string — Platform (DBR only spans multiple): android, ios, maui, react-native, flutter, js, python, cpp, java, dotnet, nodejs, angular, blazor, capacitor, electron, es6, native-ts, next, nuxt, pwa, react, requirejs, svelte, vue, webview, spm, core. DWT/DDV/MRZ/MDS are web/JS-only (omit for them).
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_samplesread-onlyList all available sample IDs and URIs for a given product/edition/platform scope. WHEN TO USE: - To browse the full catalog of samples available for a product/edition/platform. - To discover sample IDs before calling get_sample_files. - When the user wants to see what samples exist without a specific keyword. - Use MRZ for passport and machine-readable-zone workflows, and MDS for document scan and normalization workflows. WHEN NOT TO USE: - If you have a specific keyword or topic, use search instead (it ranks results by relevance). - If you already have a sample ID or URI, go directly to get_sample_files. PARAMETERS: - product: dbr, dwt, ddv, mrz, or mds. Omit to list across all public offerings. - edition: core, mobile, web, or server. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them). Omit to list across all editions. - platform: only DBR spans multiple platforms (android, ios, js, python, cpp, java, dotnet, nodejs, react, vue, angular, flutter, react-native, maui, etc.). DWT/DDV/MRZ/MDS are web/JS-only (omit for them). - limit: 1-200 (default 50). Max number of results. RETURNS: A single text content item that starts with totals and plain URIs, then appends 'JSON:' followed by a JSON object with total count and sample entries. Each entry includes sample_id, uri (sample:// URI), product, edition, platform, version, title, and summary. Use sample_id or uri with get_sample_files to retrieve full project files. EXAMPLE: Call list_samples with product='dbr', edition='mobile', platform='android' to see all Android barcode reader samples. RELATED TOOLS: search (keyword-based discovery), get_sample_files (retrieve full project files for a sample), get_index (discover valid product/edition/platform combinations).
Parameters:
limit— integer — Max results (default 50)edition— string — Edition: core, mobile, web, server/desktop. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them).product— string — Product: dbr, dwt, ddv, mrz, mdsplatform— string — Platform (DBR only spans multiple): android, ios, maui, react-native, flutter, js, python, cpp, java, dotnet, nodejs, angular, blazor, capacitor, electron, es6, native-ts, next, nuxt, pwa, react, requirejs, svelte, vue, webview, spm, core. DWT/DDV/MRZ/MDS are web/JS-only (omit for them).
Hints: read-only yes · destructive no · idempotent yes · open-world no
resolve_versionread-onlyResolve a concrete latest-major version number for a Dynamsoft product/edition/platform. WHEN TO USE: - To get the exact current version string (e.g. '10.4.2001') for use in package installation or dependency pinning. - When the user asks 'what is the latest version of DBR?'. - To verify version compatibility before generating project scaffolding. WHEN NOT TO USE: - If you just need sample code, use get_quickstart (it already includes the correct version). - For browsing docs or samples, use search or list_samples (they already scope to latest major). PARAMETERS: - product (required): dbr, dwt, ddv, mrz, or mds. - edition: core, mobile, web, or server. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them). Omit to see all editions for the product. - platform: only DBR spans multiple platforms (android, ios, js, python, cpp, java, dotnet, nodejs, etc.). DWT/DDV/MRZ/MDS are web/JS-only (omit for them). Helps narrow edition when ambiguous. - constraint: Version constraint like 'latest', '11.x', '10'. Only latest major version is served; legacy versions (e.g. DBR v9) return an error with migration guidance. - feature: Optional feature hint for version policy checks. RETURNS: A text block showing the resolved version. For MRZ/MDS without an edition, returns the backed public version matrix. For DBR without an edition, returns all edition versions. For DWT/DDV, returns the single web version. EXAMPLE: resolve_version with product='dbr', edition='web' returns the latest DBR web SDK version string. RELATED TOOLS: get_quickstart (includes version in starter code), get_index (shows version overview).
Parameters:
product(required) — string — Product: dbr, dwt, ddv, mrz, mdsedition— string — Edition: core, mobile, web, server/desktop. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them).feature— string — Optional feature hintplatform— string — Platform (DBR only spans multiple): android, ios, maui, react-native, flutter, js, python, cpp, java, dotnet, nodejs, angular, blazor, capacitor, electron, es6, native-ts, next, nuxt, pwa, react, requirejs, svelte, vue, webview, spm, core. DWT/DDV/MRZ/MDS are web/JS-only (omit for them).constraint— string — Version constraint, e.g., latest, 11.x, 10
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_quickstartread-onlyGet an opinionated quickstart with installation instructions and working sample code for a target product/edition/platform. WHEN TO USE: - When the user wants to get started quickly with a Dynamsoft SDK. - To generate a ready-to-run code snippet with install commands, license key, and SDK version. - For scenario-specific starters: pass scenario='MRZ' for passport reading, 'document scan' for document normalization, or barcode/image hints for DBR. WHEN NOT TO USE: - If the user wants full project files (multiple source files, build configs), use get_sample_files instead. - If the user wants to browse available samples first, use search or list_samples. - If the user only needs version info, use resolve_version. PARAMETERS: - product (required): dbr, dwt, ddv, mrz, or mds. - edition: core, mobile, web, or server. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them). Inferred from platform if omitted. - platform: only DBR spans multiple platforms (android, ios, js, python, cpp, java, dotnet, nodejs, react, vue, angular, flutter, react-native, maui, etc.). DWT/DDV/MRZ/MDS are web/JS-only (omit for them). - language: kotlin, java, swift, js, ts, python, cpp, csharp, react, vue, angular. Helps select the best sample variant. - version: Version constraint. Latest major is used by default. - api_level: high-level or low-level. DBR mobile ONLY; ignored for web/server/other products. - scenario: MRZ, document scan, camera, image, single, multiple, react, vue, angular, etc. DBR web defaults to foundational guidance; MRZ and MDS return public workflow guidance where available. RETURNS: A formatted text block with SDK version, trial license key, install commands, and sample code. Ready to copy-paste. RELATED TOOLS: search (find specific docs or samples), get_sample_files (get full multi-file project), resolve_version (version numbers only).
Parameters:
product(required) — string — Product: dbr, dwt, ddv, mrz, mdsedition— string — Edition: core, mobile, web, server/desktop. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them).version— string — Version constraintlanguage— string — Language hint: kotlin, java, swift, js, ts, python, cpp, csharp, react, vue, angularplatform— string — Platform (DBR only spans multiple): android, ios, maui, react-native, flutter, js, python, cpp, java, dotnet, nodejs, angular, blazor, capacitor, electron, es6, native-ts, next, nuxt, pwa, react, requirejs, svelte, vue, webview, spm, core. DWT/DDV/MRZ/MDS are web/JS-only (omit for them).scenario— string — Scenario: camera, image, single, multiple, MRZ, document scan/normalization, driver license, react, etc.api_level— string — API level: high-level or low-level. DBR mobile ONLY; ignored for web/server/other products.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_sample_filesread-onlyGet the full project files for a known sample and return them inline as text. WHEN TO USE: - When you have a sample_id (from list_samples) or a sample:// resource_uri (from search) and need the complete source code. - When the user wants to see or scaffold a full sample project (multiple files, build configs, manifests). WHEN NOT TO USE: - If you do not have a sample_id or resource_uri yet, call list_samples or search first to discover one. - For doc:// URIs, use resources/read instead (this tool only handles sample:// URIs). - If the user just wants a quick code snippet, use get_quickstart instead. PARAMETERS: - product (required): dbr, dwt, ddv, mrz, or mds. - edition: mobile, web, or server. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them). - platform: only DBR spans multiple platforms (android, ios, js, python, cpp, java, dotnet, nodejs, react, vue, angular, flutter, react-native, maui, etc.). DWT/DDV/MRZ/MDS are web/JS-only (omit for them). - version: Version constraint. Latest major is used by default. - sample_id: Sample identifier as returned by list_samples (e.g. 'hello-world', 'ScanSingleBarcode'). Requires product/edition. - resource_uri: A sample:// URI as returned by search (e.g. 'sample://dbr/mobile/android/10/high-level/ScanSingleBarcode' or 'sample://mrz/server/python/3/mrz_scanner'). Preferred over sample_id when available. - api_level: high-level or low-level. DBR mobile ONLY; ignored for web/server/other products. RETURNS: A text block containing all project files inline, each under a heading with its relative path and wrapped in a fenced code block. Files larger than 50KB are excluded. No zip file is created. EXAMPLE: get_sample_files with resource_uri='sample://dbr/mobile/android/10/high-level/ScanSingleBarcode' returns all source files for the Android barcode scanning sample. RELATED TOOLS: list_samples (discover sample IDs), search (find samples by keyword), get_quickstart (quick single-file snippet).
Parameters:
files— array — Optional subset: exact relative paths or *.ext patterns to return (default: all files)edition— string — Edition: mobile, web, server/desktop. Only DBR has multiple editions; DWT/DDV/MRZ/MDS are web/JS-only (omit for them).product— string — Product: dbr, dwt, ddv, mrz, mds. Optional when resource_uri is provided (the URI already encodes it).version— string — Version constraintplatform— string — Platform (DBR only spans multiple): android, ios, maui, react-native, flutter, js, python, cpp, java, dotnet, nodejs, angular, blazor, capacitor, electron, es6, native-ts, next, nuxt, pwa, react, requirejs, svelte, vue, webview. DWT/DDV/MRZ/MDS are web/JS-only (omit for them).api_level— string — API level: high-level or low-level. DBR mobile ONLY; ignored for web/server/other products.sample_id— string — Sample identifier (name or path)resource_uri— string — Resource URI returned by searchmanifest_only— boolean — If true, return only the file list (paths + sizes), not file contents
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.