JondaX MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JondaX MCP ServerUpload this pathology report PDF and extract the results as FHIR JSON."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JondaX Model Context Protocol (MCP) Server
Official Model Context Protocol (MCP) server for JondaX by Jonda Health. Connect AI assistants (Antigravity, Claude Desktop, Cursor, Zed, Cline) directly to the JondaX Health Data Transformation Engine.
JondaX extracts data from clinical files — PDFs, images, HL7, FHIR — normalises it, and returns clean, structured, coded output in the format your system needs.
Capabilities & MCP Tools
JondaX provides two core processing modules and retrieval tools:
Tool Name | Type | Description |
| Async | Uploads a pathology report or lab document (PDF, JPG, PNG, JSON, CSV, Parquet and etc). JondaX de-identifies, extracts, normalises, translates, and returns an |
| Sync | Uploads an image of a medical device reading (pulse oximeter, blood pressure monitor, glucometer, etc.) and extracts readings instantly. |
| Query | Checks processing status ( |
| Query | Retrieves structured extracted results (JSON, FHIR JSON, FHIR XML, HL7, CSV, Parquet). Retained for 30 days. Returns HTTP 202 if still in progress. |
Related MCP server: document-intelligence-server
Configuration
Get your API key from the Integration section in the JondaX Client Portal. https://app.jondax.eu
Environment Variable | Required | Default | Description |
| Yes | — | Your JondaX API token ( |
| No |
| JondaX API Base URL |
Quickstart Setup in AI Tools
1. In 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. In 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"
}
}
}
}How It Works
┌──────────────┐ 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.)Supported Output Formats & Standards
FHIR: FHIR JSON, FHIR XML (Observation, DiagnosticReport)
HL7: HL7 v2
Standard Data: JSON, CSV, Parquet
Terminology & Coding: LOINC, standard clinical units & normalized ranges
Compliance & Security
JondaX is built specifically for healthcare data:
HIPAA · GDPR · PDPA · ISO 27001
Local Development
If contributing or building from source:
git clone https://github.com/JondaHealthTech/jondax-mcp-server.git
cd jondax-mcp-server
npm install
npm run buildDocumentation & Links
API Docs: jondax.redocly.app
Product: jonda.health/product/jondax
Client Portal: app.jondax.eu
License
MIT © Jonda Health
Available Tools
4 toolsget_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.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Optional format override (defaults to user account settings) | |
| uploadId | Yes | The UUID of the processed document |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uploadId | Yes | The UUID of the upload |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Absolute or relative local file path to the medical device scan image |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| isDemo | No | Optional flag for demo processing treatment | |
| filePath | Yes | Absolute or relative local file path to the lab report image/PDF |
TDQS
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.
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.
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.
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.
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.
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. Dates show when Glama detected each change.
4 tool updates
v1.0.1- First observed
get_extracted_results - First observed
get_upload_status - First observed
upload_medical_device - First observed
upload_pathology_scan
TDQS
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.
All tool names follow a consistent verb_noun pattern: upload_* for ingestion and get_* for retrieval. The naming is predictable and easy to navigate.
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.
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn documents into structured, AI-ready data by parsing, enriching, chunking, and embedding.
Ingest, manage, and retrieve documents for RAG-powered AI applications
High-fidelity PDF to structured Markdown conversion and document field extraction.
Upload, organize, search, and transform images, videos, and files with AI-powered tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query, read, download, and move medical imaging data on DICOM servers (PACS, VNA) including patient searches, study retrieval, PDF report extraction, and image transfer to AI endpoints for analysis.MIT
- AlicenseNot gradedqualityBmaintenanceEnables intelligent document processing by extracting text, classifying document types, and generating structured summaries from PDFs and images using vision LLMs.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to parse and search documents including PDF, Word, Excel, PowerPoint, and images via OCR, with support for semantic search and batch processing.2MIT
- FlicenseNot gradedqualityBmaintenanceEnables LLMs to interact with clinical patient records using tools for document ingestion, structured conversion, patient profiling, record listing, search, and secure Q&A over patient documentation.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JondaHealthTech/jondax-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server