Dwf Analyzer Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Dwf Analyzer Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server for analyzing DWF (Design Web Format) files using Amazon Bedrock's Nova Pro model for visual analysis.
git clone https://github.com/jesamkim/dwf-analyzer-mcp.git
cd dwf-analyzer-mcp
uv installuvx dwf-analyzer-mcpSet the following environment variables:
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_DEFAULT_REGION="us-west-2" # Optional, defaults to us-west-2
export LOG_LEVEL="INFO" # Optional, defaults to INFOYour AWS credentials need the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:*::foundation-model/us.anthropic.claude-3-7-sonnet-20250219-v1:0",
"arn:aws:bedrock:*::foundation-model/us.amazon.nova-pro-v1:0"
]
}
]
}# Using the installed package (HTTP transport)
dwf-analyzer-mcp
# Using uvx (HTTP transport)
uvx dwf-analyzer-mcp
# Using FastMCP directly (HTTP transport)
fastmcp run dwf_analyzer_mcp.server:mcp --transport streamable-http
# Custom host and port
HOST=0.0.0.0 PORT=8080 dwf-analyzer-mcp#### Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"dwf-analyzer": {
"url": "http://localhost:8080/mcp",
"transport": "http",
"env": {
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key",
"AWS_DEFAULT_REGION": "us-west-2"
}
}
}
}#### Cursor IDE
Add an HTTP-type server:
{
"url": "http://localhost:8080/mcp",
"transport": "http"
}#### Zed Editor
Add to your MCP settings:
{
"dwf-analyzer": {
"url": "http://localhost:8080/mcp",
"transport": "http"
}
}extract_dwf_metadataExtract metadata and basic information from a DWF file.
Parameters:
file_path (string): Path to the DWF fileReturns: Dictionary containing file metadata, layers, and object summary
extract_dwf_imagesExtract embedded images from a DWF file.
Parameters:
file_path (string): Path to the DWF fileoutput_dir (string, optional): Directory to save extracted imagesReturns: Dictionary containing extraction results and image information
analyze_dwf_visualPerform visual analysis of a DWF file using Amazon Nova Pro.
Parameters:
file_path (string): Path to the DWF filefocus_area (string): Analysis focus area (general)include_metadata (boolean): Whether to include file metadata in resultsReturns: Dictionary containing visual analysis results
analyze_dwf_comprehensivePerform comprehensive analysis including metadata, images, and visual analysis.
Parameters:
file_path (string): Path to the DWF fileReturns: Dictionary containing complete analysis results
health_checkPerform a health check of the service.
Returns: Dictionary containing service health status
dwf://analysis/configGet the current analysis configuration schema.
dwf://analysis/supported-formatsGet information about supported DWF formats and capabilities.
git clone https://github.com/jesamkim/dwf-analyzer-mcp.git
cd dwf-analyzer-mcp
uv install --devuv run pytestuv run black src tests
uv run ruff check src testsuv run mypy src# Extract metadata from a DWF file
result = extract_dwf_metadata("/path/to/drawing.dwf")
print(result["metadata"]["header"]["version"])
# Extract images
images = extract_dwf_images("/path/to/drawing.dwf", "/output/directory")
print(f"Extracted {images['extracted_images']} images")
# Perform visual analysis
analysis = analyze_dwf_visual("/path/to/drawing.dwf", focus_area="general")
print(analysis["visual_analysis"])# Perform complete analysis
result = analyze_dwf_comprehensive("/path/to/drawing.dwf")
# Access different parts of the analysis
metadata = result["metadata"]
images = result["image_extraction"]
visual = result["visual_analysis"]pip install pillowEnable debug logging:
export LOG_LEVEL=DEBUG
dwf-analyzer-mcpThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.