Skip to content

dicom-standard-kb

Build a local, edition-pinned DICOM Standard knowledge base and query it through deterministic CLI, Python, or MCP tools.

dicom-standard-kb turns official DICOM release artifacts into a local SQLite knowledge base. It gives developers, validators, researchers, and coding agents structured access to DICOM data elements, UIDs, IODs, modules, SOP Classes, encoding rules, DICOMweb transactions, content-mapping resources, and cited standard text.

Need Start here
Prove the project works without a network download Build and query the synthetic fixture
Build a knowledge base from an official DICOM edition Build an official-edition knowledge base
Run exact lookups from a terminal Query with the CLI
Give a coding agent deterministic DICOM tools Connect an MCP client
Call the resolver layer from local code Use the Python resolver API
Determine how an attribute is used in an IOD or SOP Class Resolve an attribute in context
Search prose when no structured resolver applies Search and retrieve cited standard text
Extend parsers or query behavior Contribute to the project

One resolver contract across every interface

Section titled “One resolver contract across every interface”

CLI, Python, and MCP calls use the same response envelope. A response preserves:

  • the concrete DICOM edition;
  • the normalized result status;
  • structured data or an error message;
  • references into the official standard;
  • warnings and unresolved boundaries;
  • normativity, evidence-level, and machine-decidability classification;
  • conservative parse confidence;
  • trace metadata, including the source-manifest digest when available.

Learn how to interpret these fields in Response evidence and confidence and use the response-envelope reference for exact field definitions.

The implemented structured surface spans major material from PS3.3, PS3.4, PS3.5, PS3.6, PS3.10, PS3.16, and PS3.18. Selected PS3.7 and PS3.8 prose is available through cited text retrieval. Coverage is intentionally explicit: the project returns candidates, warnings, or not_found rather than inventing a normative answer.

See Parser and query coverage for the boundary between parsed storage, public structured tools, and text-only fallback.