dwf-analyzer-mcp
Provides tools to analyze DWF files using Amazon Bedrock's Nova Pro model for visual analysis, including metadata extraction, image extraction, and comprehensive analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dwf-analyzer-mcpanalyze the blueprint.dwf file"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DWF Analyzer MCP Server
A Model Context Protocol (MCP) server for analyzing DWF (Design Web Format) files using Amazon Bedrock's Nova Pro model for visual analysis.
Features
DWF File Parsing: Extract metadata, layers, and object information from DWF files
Image Extraction: Extract embedded images from DWF files with format detection and conversion
Visual Analysis: Analyze drawings using Amazon Nova Pro multimodal AI model
Comprehensive Analysis: Combined metadata extraction, image processing, and visual analysis
Related MCP server: AWS Nova Canvas MCP Server
Installation
Prerequisites
Python 3.12 or higher
AWS account with Bedrock access
AWS credentials configured
Install from Source
git clone https://github.com/jesamkim/dwf-analyzer-mcp.git
cd dwf-analyzer-mcp
uv installUsing uvx (Recommended)
uvx dwf-analyzer-mcpConfiguration
Environment Variables
Set 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 INFOAWS Permissions
Your 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"
]
}
]
}Usage
Running the Server
# 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-mcpMCP Client Configuration
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"
}
}Available Tools
Core Analysis Tools
extract_dwf_metadata
Extract metadata and basic information from a DWF file.
Parameters:
file_path(string): Path to the DWF file
Returns: Dictionary containing file metadata, layers, and object summary
extract_dwf_images
Extract embedded images from a DWF file.
Parameters:
file_path(string): Path to the DWF fileoutput_dir(string, optional): Directory to save extracted images
Returns: Dictionary containing extraction results and image information
analyze_dwf_visual
Perform 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 results
Returns: Dictionary containing visual analysis results
analyze_dwf_comprehensive
Perform comprehensive analysis including metadata, images, and visual analysis.
Parameters:
file_path(string): Path to the DWF file
Returns: Dictionary containing complete analysis results
System Tools
health_check
Perform a health check of the service.
Returns: Dictionary containing service health status
Available Resources
dwf://analysis/config
Get the current analysis configuration schema.
dwf://analysis/supported-formats
Get information about supported DWF formats and capabilities.
Supported Formats
DWF Versions: V00.22, V00.30, V00.55, V06.00
Image Formats: PNG, JPEG, BMP, GIF, WEBP
Max File Size: 100MB
AWS Regions: us-west-2, us-east-1, eu-west-1, ap-southeast-1
Analysis Focus Areas
general: Overall drawing analysis
Development
Setup Development Environment
git clone https://github.com/jesamkim/dwf-analyzer-mcp.git
cd dwf-analyzer-mcp
uv install --devRunning Tests
uv run pytestCode Formatting
uv run black src tests
uv run ruff check src testsType Checking
uv run mypy srcExamples
Basic Usage
# 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"])Comprehensive 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"]Troubleshooting
Common Issues
AWS Credentials Error
Ensure AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are set
Verify your AWS account has Bedrock access
Model Access Error
Check if Nova Pro model is available in your AWS region
Verify your AWS permissions include bedrock:InvokeModel
Image Processing Error
Ensure Pillow is installed:
pip install pillowCheck if the DWF file contains extractable images
File Not Found Error
Verify the DWF file path is correct and accessible
Check file permissions
Debug Mode
Enable debug logging:
export LOG_LEVEL=DEBUG
dwf-analyzer-mcpLicense
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Changelog
v0.2.0
BREAKING CHANGE: Migrated from STDIO to Streamable HTTP transport
Updated server configuration for HTTP deployment
Added uvicorn and starlette dependencies for HTTP server support
Updated client configuration examples for HTTP transport
Improved scalability and production deployment capabilities
v0.1.0
Initial release
Basic DWF parsing functionality
Image extraction capabilities
Amazon Nova Pro integration
FastMCP server implementation
Comprehensive analysis tools
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jesamkim/dwf-analyzer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server