<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: NyxTools</title>
    <description>The latest articles on Forem by NyxTools (@nyxtoolsdev).</description>
    <link>https://forem.com/nyxtoolsdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3858510%2Fa8f1d756-1df1-45e2-a1c5-a428b9ec18db.png</url>
      <title>Forem: NyxTools</title>
      <link>https://forem.com/nyxtoolsdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nyxtoolsdev"/>
    <language>en</language>
    <item>
      <title>How to Parse HL7 Messages with AI — Free MCP Server</title>
      <dc:creator>NyxTools</dc:creator>
      <pubDate>Fri, 03 Apr 2026 01:42:35 +0000</pubDate>
      <link>https://forem.com/nyxtoolsdev/how-to-parse-hl7-messages-with-ai-free-mcp-server-54mm</link>
      <guid>https://forem.com/nyxtoolsdev/how-to-parse-hl7-messages-with-ai-free-mcp-server-54mm</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Install the DICOM/HL7/FHIR MCP Server (&lt;code&gt;pip install dicom-hl7-mcp&lt;/code&gt;), add it to Claude Desktop, and paste any HL7 v2.x message. Claude parses every segment, names every field, looks up table values, and explains what the message means in context. Free. No license required. The server covers 15 HL7 segment types, 200+ DICOM tags, and 20+ HL7 code tables.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;If you've worked in healthcare IT, you've done this a thousand times: someone sends you a raw HL7 message and asks "what's wrong with this?"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MSH|^~\&amp;amp;|RIS|RAD|EMR|HOSP|20240315140000||ORU^R01|MSG003|P|2.5.1
PID|1||MRN12345^^^HOSP^MR||DOE^JOHN||19650315|M
OBR|1|ORD001|ACC001|CTABD^CT Abdomen^L|||20240315130000
OBX|1|FT|&amp;amp;GDT^Report||FINDINGS: Normal CT abdomen.||||||F
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You squint at pipe-delimited fields, count positions, check which table &lt;code&gt;F&lt;/code&gt; refers to in OBX-11, and try to remember if OBR-18 is the accession number or the placer order number.&lt;/p&gt;

&lt;p&gt;According to the &lt;a href="https://www.hl7.org/implement/standards/product_brief.cfm?product_id=144" rel="noopener noreferrer"&gt;HL7 International v2.5.1 specification&lt;/a&gt;, there are over 180 segment types and hundreds of code tables. Memorizing them isn't realistic. But an AI tool that knows the spec can look them up instantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup: 60 Seconds
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Install the MCP Server
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;dicom-hl7-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The package is 120KB, pure Python, no compiled dependencies. Works on Python 3.10+.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Add to Claude Desktop
&lt;/h3&gt;

&lt;p&gt;Open your Claude Desktop config:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;macOS:&lt;/strong&gt; &lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows:&lt;/strong&gt; &lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"dicom-hl7-assistant"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"uvx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"dicom-hl7-mcp"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart Claude Desktop. Done.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Paste and Ask
&lt;/h3&gt;

&lt;p&gt;Paste your HL7 message into Claude and say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Parse this HL7 message"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude calls the &lt;code&gt;parse_hl7_message&lt;/code&gt; tool and returns every field with its name, value, data type, table lookups, and contextual notes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw9k37qnwgkr03aklt62b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw9k37qnwgkr03aklt62b.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31g6o7d9rlczogfpskag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31g6o7d9rlczogfpskag.png" alt=" " width="800" height="708"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wgjn4lmmi8ky3o3llrc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wgjn4lmmi8ky3o3llrc.png" alt=" " width="800" height="698"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Get
&lt;/h2&gt;

&lt;p&gt;For the message above, Claude returns a full parse with field-level detail:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Segment&lt;/th&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MSH-9&lt;/td&gt;
&lt;td&gt;Message Type&lt;/td&gt;
&lt;td&gt;ORU^R01&lt;/td&gt;
&lt;td&gt;Observation Result/Unsolicited&lt;/td&gt;
&lt;td&gt;Radiology report delivery&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PID-3&lt;/td&gt;
&lt;td&gt;Patient ID List&lt;/td&gt;
&lt;td&gt;MRN12345&lt;/td&gt;
&lt;td&gt;Medical Record Number&lt;/td&gt;
&lt;td&gt;Assigning authority: HOSP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PID-5&lt;/td&gt;
&lt;td&gt;Patient Name&lt;/td&gt;
&lt;td&gt;DOE^JOHN&lt;/td&gt;
&lt;td&gt;Last^First format&lt;/td&gt;
&lt;td&gt;PN data type per HL7 spec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OBR-4&lt;/td&gt;
&lt;td&gt;Universal Service ID&lt;/td&gt;
&lt;td&gt;CTABD^CT Abdomen^L&lt;/td&gt;
&lt;td&gt;Procedure code&lt;/td&gt;
&lt;td&gt;Local coding system (L)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OBX-11&lt;/td&gt;
&lt;td&gt;Result Status&lt;/td&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;Final result&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.hl7.org/fhir/v2/0085/index.html" rel="noopener noreferrer"&gt;HL7 Table 0085&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Plus vendor quirks, cross-references, and integration notes based on 19 years of building PACS, RIS, and HIS interfaces in production healthcare environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Server Knows
&lt;/h2&gt;

&lt;p&gt;The DICOM/HL7/FHIR MCP Server (built by NyxTools) includes a curated knowledge base drawn from published standards and real-world integration experience:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Coverage&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DICOM tags&lt;/td&gt;
&lt;td&gt;~200 most common&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dicom.nema.org/medical/dicom/current/output/html/part06.html" rel="noopener noreferrer"&gt;DICOM PS3.6 (2024b)&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HL7 segments&lt;/td&gt;
&lt;td&gt;15 (MSH, PID, PV1, OBR, OBX, ORC, and more)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.hl7.org/implement/standards/" rel="noopener noreferrer"&gt;HL7 v2.5.1&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HL7 code tables&lt;/td&gt;
&lt;td&gt;20+ (Administrative Sex, Patient Class, Result Status, etc.)&lt;/td&gt;
&lt;td&gt;HL7 International&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FHIR R4 mappings&lt;/td&gt;
&lt;td&gt;96 cross-standard mappings&lt;/td&gt;
&lt;td&gt;&lt;a href="https://hl7.org/fhir/uv/v2mappings/" rel="noopener noreferrer"&gt;HL7 v2-to-FHIR IG&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vendor private tags&lt;/td&gt;
&lt;td&gt;7 vendors (GE, Siemens, Philips, Fuji, Agfa, Canon, Hologic)&lt;/td&gt;
&lt;td&gt;Field experience&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integration patterns&lt;/td&gt;
&lt;td&gt;7 (ADT feed, order-to-result, IHE SWF, and more)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.ihe.net/resources/technical_frameworks/" rel="noopener noreferrer"&gt;IHE Technical Framework&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  5 Free Tools
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What It Does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lookup_dicom_tag&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Look up any DICOM tag by number or keyword&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;explain_dicom_tag&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Detailed explanation with vendor quirks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;parse_hl7_message&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Parse HL7 v2.x messages with field-level detail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;explain_hl7_segment&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Explain any segment's fields and data types&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lookup_hl7_table&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Look up HL7 table values&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Free, forever. No license, no sign-up, no email gate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Premium: Cross-Standard Mapping + PACS Connectivity
&lt;/h2&gt;

&lt;p&gt;The premium tier (v0.2.0, released April 2026) adds 12 more tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cross-standard mapping:&lt;/strong&gt; DICOM-to-HL7, HL7-to-FHIR with data type conversion notes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mirth Connect generation:&lt;/strong&gt; Complete channel XML configs from a use case description&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PACS connectivity:&lt;/strong&gt; C-FIND, C-MOVE, DICOMweb (QIDO-RS, WADO-RS) to query real PACS systems&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Study summary:&lt;/strong&gt; Query a study from PACS and auto-map it through DICOM, HL7, and FHIR in one call&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;17 tools total. The only MCP server that bridges all three healthcare standards with live PACS connectivity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nyxtools.gumroad.com" rel="noopener noreferrer"&gt;Premium license at nyxtools.gumroad.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What HL7 versions does this support?&lt;/strong&gt;&lt;br&gt;
v2.3 through v2.9, with focus on v2.5.1 (the most widely deployed version in US healthcare). The parser handles any pipe-delimited HL7 v2.x message regardless of version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it work with Mirth Connect?&lt;/strong&gt;&lt;br&gt;
Yes. The free tier parses messages you're debugging in Mirth. The premium tier generates complete Mirth Connect channel configurations from a use case description.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I connect it to my PACS?&lt;/strong&gt;&lt;br&gt;
With the premium tier and &lt;code&gt;[pacs]&lt;/code&gt; extras (&lt;code&gt;pip install dicom-hl7-mcp[pacs]&lt;/code&gt;), you can connect via C-FIND/C-MOVE or DICOMweb. Tested with Orthanc, RamSoft, and DCM4CHEE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is patient data (PHI) safe?&lt;/strong&gt;&lt;br&gt;
The free reference tools process standards metadata, not patient data. The PACS connectivity tools include PHI safety: log redaction, result warnings, and optional output redaction. See the &lt;a href="https://github.com/NyxToolsDev/dicom-hl7-mcp-server#phi-safety" rel="noopener noreferrer"&gt;PHI Safety section&lt;/a&gt; in the README.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What MCP clients work with this?&lt;/strong&gt;&lt;br&gt;
Any MCP-compatible client. Tested with Claude Desktop, Claude Code, and Cursor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/NyxToolsDev/dicom-hl7-mcp-server" rel="noopener noreferrer"&gt;NyxToolsDev/dicom-hl7-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyPI:&lt;/strong&gt; &lt;a href="https://pypi.org/project/dicom-hl7-mcp/" rel="noopener noreferrer"&gt;dicom-hl7-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Official MCP Registry:&lt;/strong&gt; &lt;a href="https://registry.modelcontextprotocol.io" rel="noopener noreferrer"&gt;io.github.NyxToolsDev/dicom-hl7-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glama:&lt;/strong&gt; &lt;a href="https://glama.ai/mcp/servers/NyxToolsDev/dicom-hl7-mcp-server" rel="noopener noreferrer"&gt;Quality A, Security A, License A&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Last updated: April 2026 | v0.2.0&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built by &lt;a href="https://github.com/NyxToolsDev" rel="noopener noreferrer"&gt;NyxTools&lt;/a&gt;. 19 years of healthcare IT integration experience, packaged as open-source tools.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>mcp</category>
      <category>healthcare</category>
    </item>
  </channel>
</rss>
