Advanced MCP server for generating styled QR codes and processing images.
Enhanced QR Code MCP Server
An enhanced Model Context Protocol (MCP) server for advanced QR code generation and processing, inspired by and extending @jwalsh/mcp-server-qrcode.
🙏 Attribution
This project builds upon the excellent foundation provided by @jwalsh/mcp-server-qrcode. We extend our gratitude to the original author for creating the base QR code MCP server that inspired these enhancements.
✨ Enhanced Features
Beyond the original QR code generation capabilities, this enhanced version adds:
🚀 Advanced QR Code Generation
- Custom styling: Logo embedding, custom colors, rounded corners
- Multiple formats: PNG, SVG, PDF output support
- Batch processing: Generate multiple QR codes simultaneously
- Template system: Pre-defined QR code templates for common use cases
📊 Smart Content Detection
- URL validation: Automatically validates and optimizes URLs
- Contact cards: Generate vCard QR codes from contact information
- WiFi credentials: Create WiFi network QR codes
- Event details: Generate calendar event QR codes
🔍 QR Code Analysis
- Decode existing QR codes: Extract content from QR code images
- Quality assessment: Analyze QR code readability and optimization
- Format detection: Identify QR code content types
📈 Analytics & Tracking
- Usage statistics: Track QR code generation patterns
- Performance metrics: Monitor server performance and response times
- Export capabilities: Generate reports and analytics
🛠 Installation
# Clone the repository
git clone https://github.com/myownipgit/mcp-server-qrcode-enhanced.git
cd mcp-server-qrcode-enhanced
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
🔧 Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"qrcode-enhanced": {
"command": "node",
"args": ["path/to/mcp-server-qrcode-enhanced/dist/index.js"],
"env": {
"QR_OUTPUT_DIR": "./qr-codes",
"QR_DEFAULT_SIZE": "300",
"QR_DEFAULT_ERROR_CORRECTION": "M"
}
}
}
}
📋 Available Tools
Basic QR Code Generation
generate_qr_basic- Simple QR code generationgenerate_qr_styled- QR code with custom stylinggenerate_qr_batch- Generate multiple QR codes
Specialized QR Codes
generate_vcard_qr- Contact card QR codesgenerate_wifi_qr- WiFi network QR codesgenerate_event_qr- Calendar event QR codes
Analysis & Processing
decode_qr_image- Extract content from QR code imagesanalyze_qr_quality- Assess QR code qualityoptimize_qr_content- Optimize content for QR codes
Templates & Utilities
list_qr_templates- Available QR code templatesget_qr_statistics- Usage and performance statisticsvalidate_qr_content- Validate content before generation
📖 Usage Examples
Generate a styled QR code
const result = await generateStyledQR({
content: "https://example.com",
style: {
foregroundColor: "#000000",
backgroundColor: "#ffffff",
logoPath: "./logo.png",
cornerRadius: 10
},
format: "png",
size: 400
});
Create a WiFi QR code
const wifiQR = await generateWiFiQR({
ssid: "MyNetwork",
password: "MyPassword",
security: "WPA2",
hidden: false
});
Decode an existing QR code
const decoded = await decodeQRImage({
imagePath: "./qr-code.png",
outputFormat: "json"
});
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. Make sure to:
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Reference the original @jwalsh/mcp-server-qrcode when appropriate
📄 License
MIT License - see LICENSE file for details.
🔗 Related Projects
- Original QR Code MCP Server by @jwalsh
- MCP Specification
- MCP SDK
📝 Changelog
v1.0.0
- Initial enhanced version based on @jwalsh/mcp-server-qrcode
- Added custom styling capabilities
- Implemented specialized QR code types
- Added QR code analysis tools
- Enhanced error handling and validation
Built with ❤️ on top of the excellent foundation by @jwalsh
Tools (12)
generate_qr_basicSimple QR code generationgenerate_qr_styledQR code with custom stylinggenerate_qr_batchGenerate multiple QR codesgenerate_vcard_qrContact card QR codesgenerate_wifi_qrWiFi network QR codesgenerate_event_qrCalendar event QR codesdecode_qr_imageExtract content from QR code imagesanalyze_qr_qualityAssess QR code qualityoptimize_qr_contentOptimize content for QR codeslist_qr_templatesAvailable QR code templatesget_qr_statisticsUsage and performance statisticsvalidate_qr_contentValidate content before generationEnvironment Variables
QR_OUTPUT_DIRDirectory to save generated QR codesQR_DEFAULT_SIZEDefault pixel size for QR codesQR_DEFAULT_ERROR_CORRECTIONDefault error correction levelConfiguration
{"mcpServers": {"qrcode-enhanced": {"command": "node", "args": ["path/to/mcp-server-qrcode-enhanced/dist/index.js"], "env": {"QR_OUTPUT_DIR": "./qr-codes", "QR_DEFAULT_SIZE": "300", "QR_DEFAULT_ERROR_CORRECTION": "M"}}}}