Skip to main content
Glama
JondaX MCP Server

JondaX MCP Server

Official

JondaX Model Context Protocol (MCP) 服务器

JondaX by Jonda Health 的官方 Model Context Protocol (MCP) 服务器。将 AI 助手(Antigravity、Claude Desktop、Cursor、Zed、Cline)直接连接到 JondaX 健康数据转换引擎。

JondaX 从临床文件——PDF、图片、HL7、FHIR——中提取数据,将其规范化,并以你的系统所需的格式返回干净、结构化、编码化的输出。


功能与 MCP 工具

JondaX 提供两个核心处理模块和检索工具:

工具名称

类型

描述

upload_pathology_scan

异步

上传病理报告或实验室文档(PDF、JPG、PNG、JSON、CSV、Parquet 等)。JondaX 会进行去标识化、提取、规范化与转换,并返回用于跟踪的 uploadId。

upload_medical_device

同步

上传医疗设备读数图像(脉搏血氧仪、血压计、血糖仪等),并即时提取读数。

get_upload_status

查询

检查处理状态(uploaded、processing、completed、failed)和 webhook 投递状态。

get_extracted_results

查询

检索结构化提取结果(JSON、FHIR JSON、FHIR XML、HL7、CSV、Parquet)。结果保留 30 天。如果仍在处理中,则返回 HTTP 202。


Related MCP server: document-intelligence-server

配置

从 JondaX 客户端门户的集成部分获取你的 API 密钥。https://app.jondax.eu

环境变量

必需

默认值

描述

JONDAX_API_KEY

是

—

你的 JondaX API 令牌(jondax_...)

JONDAX_BASE_URL

否

https://app.jondax.eu

JondaX API 基础 URL


在 AI 工具中的快速入门设置

1. 在 Claude Desktop 中(claude_desktop_config.json)

{
  "mcpServers": {
    "jondax": {
      "command": "npx",
      "args": ["-y", "@jondax/mcp-server"],
      "env": {
        "JONDAX_API_KEY": "YOUR_JONDAX_API_KEY",
        "JONDAX_BASE_URL": "https://app.jondax.eu"
      }
    }
  }
}

2. 在 Cursor / Antigravity 中(mcp_config.json)

{
  "mcpServers": {
    "jondax": {
      "command": "npx",
      "args": ["-y", "@jondax/mcp-server"],
      "env": {
        "JONDAX_API_KEY": "YOUR_JONDAX_API_KEY",
        "JONDAX_BASE_URL": "https://app.jondax.eu"
      }
    }
  }
}

工作原理

┌──────────────┐     upload_pathology_scan      ┌─────────────────────────────┐
│              ├───────────────────────────────►│ JondaX Transformation Engine│
│   AI Agent   │                                │  • De-identifies & Extracts │
│ (Antigravity │◄───────────────────────────────┤  • Maps Medical Terminology │
│   / Claude)  │       Returns uploadId         │  • Converts Units & Codes   │
│              │                                └──────────────┬──────────────┘
│              │     get_extracted_results                     │
│              ├───────────────────────────────────────────────┘
│              │◄───────────────────────────────
│              │   Returns Structured Results
└──────────────┘   (JSON, FHIR, HL7, CSV, etc.)

支持的输出格式与标准

  • FHIR:FHIR JSON、FHIR XML(Observation、DiagnosticReport)

  • HL7:HL7 v2

  • 标准数据:JSON、CSV、Parquet

  • 术语与编码:LOINC、标准临床单位与标准化范围


合规与安全

JondaX 专为医疗健康数据而构建:

  • HIPAA · GDPR · PDPA · ISO 27001


本地开发

如果要贡献代码或从源码构建:

git clone https://github.com/JondaHealthTech/jondax-mcp-server.git
cd jondax-mcp-server
npm install
npm run build

文档与链接

许可证

MIT © Jonda Health

Available Tools

4 tools
get_extracted_resultsA

Retrieve the extracted structured results (biomarkers, test values, reference ranges) for a completed document. Defaults to your account configured format (JSON, FHIR_JSON, HL7, CSV). Returns HTTP 202 Accepted message if still in progress.

NameRequiredDescriptionDefault
formatNoOptional format override (defaults to user account settings)
uploadIdYesThe UUID of the processed document

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It usefully discloses the default format behavior and the 202 in-progress response, but it does not mention error behavior, authorization requirements, or what the completed response body contains beyond general categories.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The primary purpose is front-loaded, and the format default and in-progress behavior are relevant operational details that earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with only two parameters and no output schema, the description covers what is returned, when it applies, and a key async behavior. It is slightly incomplete because it does not explain how to proceed after a 202 response or explicitly connect to get_upload_status, but those are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds little parameter meaning beyond the schema: it restates the format default and clarifies that the results come from a processed document, but uploadId and format are already adequately documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Retrieve the extracted structured results (biomarkers, test values, reference ranges) for a completed document.' It clearly distinguishes the tool from the upload tools and from get_upload_status by focusing on actual extracted results rather than upload or status information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it is for a completed document, and it returns HTTP 202 if processing is still in progress. It implies when the tool should be used, but it does not explicitly name alternatives such as get_upload_status or state when not to use this tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_upload_statusA

Check the processing status of an uploaded document using its uploadId. Returns whether the document is uploaded, processing, completed, or failed, along with webhook callback delivery status.

NameRequiredDescriptionDefault
uploadIdYesThe UUID of the upload

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It covers the main behavior by listing the possible statuses and webhook callback delivery status, making the operation's read-only nature and return content clear. It does not discuss error handling for invalid uploadIds, but this is not critical for a simple status check.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence places the action and resource first and packs the return-state information efficiently. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description effectively explains the return values, which is the key information an agent needs. It could mention the next step of fetching extracted results after completion, but the current description is sufficient for calling the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes uploadId as 'The UUID of the upload' with 100% coverage. The description only restates that the status check uses uploadId, adding no additional semantic detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check') and a specific resource ('processing status of an uploaded document') and clearly enumerates the statuses returned. This distinguishes it from the sibling upload tools and get_extracted_results, which concern different stages of the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended context is clear: check the status of an uploaded document using its uploadId, which fits between uploading and extracting results. However, it does not explicitly name alternatives or state when not to use it, so it stops short of fully explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_medical_deviceA

Upload a medical device scan image (pulse oximeter, blood pressure monitor, glucose meter, thermometer) to extract digital readings instantly.

NameRequiredDescriptionDefault
filePathYesAbsolute or relative local file path to the medical device scan image

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure and does state that the image is uploaded and readings are extracted. However, it does not mention side effects such as whether an upload record is created, whether extraction is asynchronous, or what happens on failure. The claim 'instantly' is also potentially misleading given the existence of get_upload_status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence, front-loaded with the action and target, and the device examples are genuinely useful. 'Instantly' is slightly promotional and adds little technical value, but the description has no redundancy or unnecessary length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter upload tool, the description is close to adequate, but with no output schema it leaves the return behavior unstated. It also does not mention whether the agent should poll get_upload_status or retrieve readings via get_extracted_results, and omits supported image formats. These are meaningful gaps for an upload workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already defines filePath as an absolute or relative local path. The description adds domain context by mentioning medical device scan images but provides no additional constraints on file type, size, or accepted formats. This is the baseline 3 case where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb 'upload', the specific resource 'medical device scan image', enumerates device types, and names the intended outcome 'extract digital readings instantly.' This clearly distinguishes it from the sibling upload_pathology_scan by device domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for medical device scan images versus pathology scans, but it gives no explicit guidance on when to use it instead of get_upload_status or get_extracted_results, nor any exclusions. Usage context must be inferred from the tool name and sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_pathology_scanA

Upload a pathology/blood test image (JPG, PNG) or PDF document to JondaX for AI OCR and biomarker extraction. Returns an uploadId for tracking.

NameRequiredDescriptionDefault
isDemoNoOptional flag for demo processing treatment
filePathYesAbsolute or relative local file path to the lab report image/PDF

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full behavioral burden. It discloses that the upload triggers AI OCR and biomarker extraction and returns an uploadId; however, it does not mention whether processing is asynchronous, whether the file is stored, any size limits, or demo vs. real behavior. This is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the action and resource, then states the purpose and return value. Every phrase earns its place, and there is no redundant text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter upload tool with no output schema, the description adequately covers what is uploaded, why, and what is returned. It could mention the demo flag's effect or next steps like polling status, but the schema covers the parameter and the sibling get_upload_status implies the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents filePath and isDemo. The description adds file type specificity (JPG, PNG) beyond 'image/PDF', which is useful, but it does not otherwise explain parameter behavior. This matches the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb 'upload', the resource ('pathology/blood test image or PDF'), and the purpose ('AI OCR and biomarker extraction'). This clearly differentiates it from the sibling 'upload_medical_device' by file type and intended use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use this tool: when you have a pathology/blood test image or PDF to process. It does not explicitly mention avoiding it for non-pathology uploads, but the resource specificity makes the appropriate use case unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.1
    • First observedget_extracted_results
    • First observedget_upload_status
    • First observedupload_medical_device
    • First observedupload_pathology_scan

TDQS

A4/5.0

Scored across 4 tools

Disambiguation4/5

The two upload tools are distinguished by document type (pathology/blood test vs medical device), and the two retrieval tools are clearly separated by status vs results. There is minor potential confusion because both upload tools trigger the same OCR/extraction pipeline, but descriptions are clear enough.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: upload_* for ingestion and get_* for retrieval. The naming is predictable and easy to navigate.

Tool Count5/5

Four tools is well-scoped for the server's purpose: upload two categories of medical documents, check status, and retrieve results. Each tool earns its place with no unnecessary redundancy.

Completeness4/5

The core workflow of upload → status → results is fully covered. Minor gaps exist around error details or listing past uploads, but agents can successfully complete the primary extraction workflow without dead ends.

Related MCP Connectors

Related MCP Servers