NightOwl — a DICOM app for you and your AI agent
A free desktop app for exercising the DICOM network protocol in both directions — with a real GUI, a local store, and a worklist sitting alongside an MCP server your coding agent can drive. Click through it, or prompt your way through it. Both work.
Windows, Linux, and macOS · Built on Tauri 2, Rust, and React. · View on GitHub

One window. Five DICOM capabilities. Zero ceremony.
NightOwl is a developer and integration-testing tool. It is not a clinical product and makes no compliance claims — the goal is to give engineers a fast, honest way to poke at DICOM endpoints while building real systems.
What NightOwl gives you
Everything you need to exercise DICOM endpoints, all behind a single sidebar UI.
DICOM SCP
Accept inbound associations on a configurable TCP port and AE Title. Verification, Patient/Study Root Q/R (FIND, MOVE, GET), and Modality Worklist FIND all answered out of the box.
CT, MR, Secondary Capture, Ultrasound, CR, DX-for-presentation, and Encapsulated PDF storage SOP classes are negotiated by default.
DICOM SCU
Pick a peer, pick an operation, fill in the form, run. C-ECHO, C-FIND (Patient or Study root, all levels, with wildcards and date ranges), C-MOVE, and C-STORE all return structured, inspectable results.
Local SOP Instance store
A directory on disk indexed in SQLite that behaves like a tiny PACS. Received instances are written there, and inbound C-FIND, C-MOVE, and C-GET requests are answered from the same index.
A browser view walks the Patient → Study → Series → Instance hierarchy and rescans on demand.
Modality Worklist provider
CRUD over scheduled procedure step entries with a C-FIND responder on the DMWL information model. Stand up a realistic worklist without dragging a full RIS into your test environment.
Live activity log
Every association and every DIMSE message — inbound and outbound — is recorded with timestamp, peer, command, and status. New events stream to the UI in real time.
Filter by direction, status, or free text. Persisted to SQLite, capped at 50,000 rows.
Built-in MCP server
Optional local MCP server on loopback exposes ten read tools and four active SCU tools as typed Model Context Protocol tools. Drive NightOwl from Claude Code or any spec-compliant MCP client.
Includes a copy-paste config snippet and a claude mcp add one-liner.
A real app, with an agent surface attached
There are command-line DICOM MCP tools out there — useful, but headless. NightOwl gives you the same agent-drivable surface wrapped around a proper desktop app: a sidebar UI, a browsable local store, a live activity log, and a worklist. Click through it when you want to see, prompt through it when you want to automate.
Hand DICOM to your coding agent
NightOwl ships with an optional local MCP server that exposes its read surface and SCU actions as 14 typed tools. Point Claude Code (or any MCP client) at it, and your agent can list studies, query peers, send DIMSE, and inspect the activity log without you wiring a thing.
Tool schemas are generated by schemars, so every MCP client gets a fully typed surface automatically — no docs to read, no glue to write.
- ✓10 read tools: peers, studies, series, instances, activity, worklist, config
- ✓4 active SCU tools:
scu_echo,scu_find,scu_move,scu_store - ✓One-line install: copy-paste config or a
claude mcp addsnippet straight from the MCP page - ✓Safe by default: loopback-only HTTP transport, server disabled until you flip it on
$ claude mcp add nightowl \
--transport http \
http://127.0.0.1:7300/mcp
✓ NightOwl registered
14 tools available
$ claude "ping all my peers and report"Things you can just say out loud
No flags, no menus, no clicking through wizards — just natural language. Your agent picks the right tool and reports back.
“C-ECHO every peer and tell me which ones are down.”
list_peers → scu_echo × N
“Find all studies for patient SMITH^JOHN on the staging PACS.”
scu_find
“Send these three test DICOMs to the new integration.”
scu_store
“Show me failed associations from the last hour and summarise the errors.”
list_activity → analysis
“Pull all the CTs for accession 12345 from the remote PACS into my local store.”
scu_move
“What's on the worklist today, and how many images came back for each one?”
list_worklist → list_studies
Built for the people building DICOM
If you spend your days writing integration code against a PACS, NightOwl is built for you.
Integration engineers
Test C-STORE, C-FIND, and C-MOVE flows against your service without spinning up a full PACS. Inspect every DIMSE message live in the activity log.
PACS administrators
Sanity-check routing rules, AE Title configuration, and worklist behaviour with a portable, scriptable peer that runs on your laptop.
AI / MCP tinkerers
Wire DICOM into your agent stack. NightOwl's MCP surface turns "send me a C-ECHO to that peer" into a one-line prompt.
Honest about scope
NightOwl is a developer tool. We'd rather be upfront than waste your time.
What it isn't
- ·Not a clinical product, no compliance claims.
- ·No TLS or authentication on the DICOM listener or MCP server — use on a trusted local network.
What it is
- ·Free, single-window desktop app, no account required.
- ·Built on the
dicom-rscrates — real DICOM, not a mock. - ·Hot reload on settings: change ports or AE Title without restarting.
Give NightOwl a try
Free for anyone building against DICOM. Windows, Linux, and macOS.