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.
91 lines
8.4 KiB
Markdown
91 lines
8.4 KiB
Markdown
# 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` (add `DICOM_MCP_PII_FILTER=true` for patient data redaction).
|
|
- See `mcps/dicom_mcp/README.md`, `docs/CAPABILITIES.md`, `docs/GUIDELINES.md`, and `docs/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.json` registers all servers. `.claude/settings.local.json` enables them and registers the skills paths. Open the project to activate.
|
|
- **Claude Desktop**: Copy (and update absolute paths in) `config/claude_desktop_config.json` to `~/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.sh` and `bundle-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 shared `CONTEXT.md` and `README.md` for neutral language. Mention Grok CLI compatibility where relevant (e.g., its built-in `mcp_*` tools and sub-agents).
|
|
- **Workflow Priorities**:
|
|
1. Understand the request thoroughly.
|
|
2. Explore first (use MCP tools, `read_file`, or equivalent research).
|
|
3. Plan with skills (`mcp-builder` or `skill-creator` patterns).
|
|
4. Implement surgically (prefer targeted changes; verify with tests/re-reads).
|
|
5. Use artifacts for rich outputs (HTML with React where appropriate).
|
|
6. 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_directory` or `dicom_list_files` (use `count_only` for large dirs).
|
|
- Detect Dixon with `dicom_find_dixon_series`.
|
|
- Compare headers, validate parameters, analyze series consistency.
|
|
- For pixels: Render first (`dicom_render_image` with auto_window or manual WL), identify ROIs, then compute stats/SNR.
|
|
- Handle Philips private tags via `dicom_query_philips_private` or `dicom_get_metadata`.
|
|
- Use `dicom_analyze_ti` for MOLLI/T1 mapping.
|
|
- **Commands**:
|
|
```bash
|
|
# 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 shared `CONTEXT.md`, and skills heavily.
|
|
- **Grok CLI**: See `.grok/context.md` for its sub-agent system (`task` with `general`/`explore`/`verify`/`computer`, `delegate` for background work). Many of our MCPs are exposed as built-in `mcp_*` tools. Adapt Grok's workflow priorities here when switching contexts.
|
|
- **Other LLMs**: Use the shared `CONTEXT.md` as 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. |