Introduces a tailored version of CONTEXT.md optimized for Claude's features like MCP integration, skills, and artifact generation. Ensures sync with shared docs while highlighting Claude workflows for DICOM QA, browser automation, and more.
8.4 KiB
CLAUDE.md
This file provides guidance to Claude (Claude Desktop, Claude Code, or Claude API) when working with this repository. It is the dedicated Claude-specific version of the shared CONTEXT.md. Keep both files in sync where possible, but tailor this one to Claude's strengths (skills, MCP integration, artifact generation, etc.).
Project Overview
A collection of Model Context Protocol (MCP) servers and reusable agent skills. These enable Claude (and other LLMs) to perform specialized tasks including:
- Medical imaging QA and analysis (DICOM/MRI, body composition, Dixon sequences, T1 mapping, pixel stats, SNR, Philips private tags, segmentation verification).
- Browser automation and web testing (Playwright and Selenium MCPs).
- Filesystem operations, weather queries (Open-Meteo), document manipulation (DOCX/PDF/PPTX/XLSX), complex HTML artifact generation (React/Tailwind/shadcn), and MCP/skill development guides.
Core Philosophy: MCP provides standardized, workflow-oriented tools that reduce boilerplate and enable natural language interaction with external data and services. Skills are structured Markdown/YAML guides with best practices, examples, and evaluation criteria. All new documentation, code, and contributions in this repo must remain model-provider agnostic while including platform-specific configuration notes (Claude Desktop/Code, Grok CLI, etc.).
See README.md for full structure, MCP descriptions, skills list, setup instructions, and the shared CONTEXT.md. Also reference .grok/context.md for cross-platform insights (especially Grok's sub-agent patterns that can inspire Claude workflows).
MCP Servers (in ./mcps/)
Claude integrates MCP servers natively via .mcp.json, .claude/settings.local.json, and the config in config/claude_desktop_config.json. Launch them using the provided scripts.
- dicom-mcp (primary focus for QA workflows): 17+ read-only tools optimized for body composition and liver imaging QA. Key tools include
dicom_summarize_directory,dicom_find_dixon_series,dicom_get_metadata,dicom_compare_headers,dicom_validate_sequence,dicom_analyze_series,dicom_query,dicom_read_pixels,dicom_compute_snr,dicom_render_image(with windowing/ROI overlays),dicom_dump_tree,dicom_analyze_ti, and more (Philips private tags, UID comparison, segmentation verification).- Best for both non-technical users (plain-language QA without shell access) and developers.
- Launch:
mcps/dicom_mcp/run_dicom_mcp_server.sh(addDICOM_MCP_PII_FILTER=truefor patient data redaction). - See
mcps/dicom_mcp/README.md,docs/CAPABILITIES.md,docs/GUIDELINES.md, anddocs/USAGE.md.
- filesystem-mcp: Full read/write/update/list/delete/move/copy with session defaults (via
@cyanheads/filesystem-mcp-server). - open-meteo-mcp: Current weather and forecasts (temperature, precipitation, wind, WMO codes decoded to English). No API key needed.
- playwright-mcp: Modern browser automation — navigate, click, type, fill forms, take screenshots (viewport/full-page), accessibility snapshots, JS evaluation, tabs, waits, console/network inspection, drag & drop.
- selenium-mcp: Alternative multi-session browser automation with smart waits, actionable error suggestions, form filling, content extraction (text/HTML/links), and screenshots.
Claude Configuration:
- Claude Code: The root
.mcp.jsonregisters all servers..claude/settings.local.jsonenables them and registers the skills paths. Open the project to activate. - Claude Desktop: Copy (and update absolute paths in)
config/claude_desktop_config.jsonto~/Library/Application Support/Claude/claude_desktop_config.json. - Always prefer MCP tools over writing ad-hoc Python/scripts when the tool matches the task. Use skills for higher-level orchestration.
Skills (in ./skills/)
Claude has first-class support for these via the Skills feature (see Claude Docs). Load them through .claude/settings.local.json (already configured) or the Skills API.
- artifacts-builder: Build sophisticated, multi-component HTML artifacts using React 18, TypeScript, Vite, Tailwind, and shadcn/ui. Includes
init-artifact.shandbundle-artifact.sh. Follow anti-"AI slop" guidelines (avoid excessive centered layouts, purple gradients, uniform rounded corners, Inter font). - document-skills/ (docx, pdf, pptx, xlsx): Creation, editing, analysis, forms, merging/splitting, formula support, and OOXML schema references.
- mcp-builder: Highly recommended. Comprehensive guide for creating high-quality MCP servers (Python FastMCP or Node/TypeScript SDK). Follow the four phases: deep research/planning (agent-centric design, workflow tools), implementation, evaluation, and iteration. Emphasizes consolidating operations into high-impact tools rather than 1:1 API wrappers.
- skill-creator: Guide for developing new reusable Claude skills (structure, examples, evaluation).
- webapp-testing: Playwright-based scripts and examples for testing local web applications.
When using a skill, follow its SKILL.md exactly, including the YAML frontmatter. Combine skills with MCP tools (e.g., use artifacts-builder to visualize DICOM QA results).
General Best Practices for Claude
- Provider Agnostic: Even though this is
CLAUDE.md, avoid Claude-only phrasing in code, docs, or outputs. Reference the sharedCONTEXT.mdandREADME.mdfor neutral language. Mention Grok CLI compatibility where relevant (e.g., its built-inmcp_*tools and sub-agents). - Workflow Priorities:
- Understand the request thoroughly.
- Explore first (use MCP tools,
read_file, or equivalent research). - Plan with skills (
mcp-builderorskill-creatorpatterns). - Implement surgically (prefer targeted changes; verify with tests/re-reads).
- Use artifacts for rich outputs (HTML with React where appropriate).
- Validate rigorously (pytest for MCPs, visual confirmation for renders, cross-platform notes).
- Context Management: Keep context lean. Claude Desktop has no direct shell/filesystem access — that's why MCPs exist. Use
.gitignore,.grokignore, and Claude's ignore patterns to exclude large binaries (DICOMs, images, node_modules, PDFs, etc.). - DICOM QA Specifics (common use case):
- Start with
dicom_summarize_directoryordicom_list_files(usecount_onlyfor large dirs). - Detect Dixon with
dicom_find_dixon_series. - Compare headers, validate parameters, analyze series consistency.
- For pixels: Render first (
dicom_render_imagewith auto_window or manual WL), identify ROIs, then compute stats/SNR. - Handle Philips private tags via
dicom_query_philips_privateordicom_get_metadata. - Use
dicom_analyze_tifor MOLLI/T1 mapping.
- Start with
- Commands:
# Python MCP setup (e.g. dicom) cd mcps/dicom_mcp poetry install --with dev poetry run pytest -v --tb=short # Run specific test poetry run pytest test_dicom_mcp.py::TestToolRegistration::test_all_tools_registered -v # Launch MCP server poetry run python -m dicom_mcp # With PII filtering DICOM_MCP_PII_FILTER=true poetry run python -m dicom_mcp # Other MCPs: Use the launch_*.sh scripts in each mcps/ subdir - Artifact & Output Guidelines: When generating UIs or reports, follow artifacts-builder rules to produce clean, professional results. For QA outputs, use consistent markdown tables, include confidence scores where appropriate, and offer both summary and detailed views.
Platform Notes & Cross-Compatibility
- Claude Desktop/Code: Full native MCP + Skills support. Use this
CLAUDE.md, the sharedCONTEXT.md, and skills heavily. - Grok CLI: See
.grok/context.mdfor its sub-agent system (taskwithgeneral/explore/verify/computer,delegatefor background work). Many of our MCPs are exposed as built-inmcp_*tools. Adapt Grok's workflow priorities here when switching contexts. - Other LLMs: Use the shared
CONTEXT.mdas the base. MCP spec: https://modelcontextprotocol.info/docs/.
Always start sessions with: "Follow the guidance in CLAUDE.md (and CONTEXT.md), the main README.md, relevant SKILL.md files, and any active MCP tool descriptions. Keep all outputs, documentation, and new code model-provider agnostic."
Update this file, the shared CONTEXT.md, README.md, or subproject docs as the repository evolves. For new MCP servers or skills, begin with the mcp-builder and skill-creator guides. This ensures high-quality, consistent, and portable tools.