The CanIUse MCP server provides intelligent browser compatibility checking and automated toolchain configuration for web development projects.
• Smart Project Scanning: Automatically detect CSS/JS features in your codebase and analyze compatibility across configurable browser targets
• Feature Compatibility Checking: Test specific features (e.g., css-variables
, promise-allsettled
) or files against multiple browser environments with detailed analysis
• Actionable Remediation: Get polyfill recommendations, npm installation commands, and code examples for unsupported features
• Build Tool Configuration: Generate complete configurations for Babel, PostCSS, Webpack, CI/CD, and Git hooks tailored to your browser targets
• Configuration Management: Set browser baselines, manage polyfills, create custom targets, and define feature overrides
• Polyfill-Aware Analysis: Account for implemented polyfills when determining feature support for accurate compatibility reporting
• Framework Support: Works with React, Vue, Angular, and vanilla JavaScript projects
• MCP Integration: Designed for AI-powered clients like Cursor IDE and Claude Desktop
Generates Autoprefixer configurations for CSS browser compatibility and provides PostCSS setup with custom browser targets
Automatically generates Babel configurations with browser-specific presets and polyfill recommendations for JavaScript compatibility
Analyzes CSS features and properties for browser compatibility, detects unsupported features in codebases, and provides fallback strategies
Supports Firefox browser compatibility checking including Firefox ESR versions for enterprise environments
Integrates browser compatibility checking into Git workflows through pre-commit hooks and automated project scanning
Provides CI/CD pipeline integration for automated browser compatibility checking in GitHub Actions workflows
Analyzes JavaScript features and APIs for browser support, detects compatibility issues in JS codebases, and recommends polyfills
Provides specific npm install commands for polyfills and compatibility tools, manages package recommendations for browser support
Generates PostCSS configurations with browser-specific plugins and autoprefixer settings for CSS compatibility
Integrates browser compatibility checking into pre-commit hooks using Husky for automated code quality validation
Provides React-specific browser compatibility configurations and build tool setup for React applications
Supports Safari browser compatibility checking including iOS Safari versions for mobile web development
Generates Webpack configurations optimized for specific browser targets with appropriate polyfills and build settings
🚀 CanIUse MCP - Browser Compatibility Intelligence
A powerful Model Context Protocol (MCP) server that provides intelligent CSS/JS feature compatibility checking with configurable browser targets, polyfill support, and smart project scanning. Perfect for web developers using AI-powered tools like Cursor, Claude, and other MCP-compatible clients.
✨ Key Features
- 🔍 Smart Project Scanning: Automatically detect CSS/JS features in your codebase
- 🎯 Configurable Browser Targets: Support for any browser version with custom baselines
- 💊 Polyfill-Aware Checking: Mark features as "supported" when you have polyfills available
- ⚡ Batch Compatibility Analysis: Check entire projects across multiple browsers instantly
- 🛠️ Actionable Remediation: Get specific npm install commands, code examples, and configs
- 📋 Complete Toolchain Generation: Auto-generate Babel, PostCSS, Webpack, and CI configurations
- 🔧 Runtime Configuration: Configure via files, environment variables, or MCP commands
📦 Installation
Global Installation (Recommended)
Local Installation
🔌 Setup for MCP Clients
Option 1: Global Installation (Recommended)
First, install the package globally:
Cursor IDE
Add to your Cursor settings (Cmd/Ctrl + ,
→ MCP):
Claude Desktop
Add to claude_desktop_config.json
:
Option 2: Using npx (Alternative)
If global installation doesn't work, use npx:
Cursor IDE
Claude Desktop
Option 3: Direct Node.js Path
If you have issues with command resolution:
Find your global npm bin path:
Use full path in MCP configuration:
⚡ Quick Start
1. Basic Compatibility Check
2. Configure Your Target Browser
3. Check Specific Features
4. Get Fix Recommendations
🛠️ Available Tools
Core Tools
scan_project
- Smart Project Analysis
Automatically scans your project and detects compatibility issues.
check_compatibility
- Feature Testing
Check specific features or files against browser targets.
get_fixes
- Get Solutions
Receive actionable remediation steps and polyfill recommendations.
generate_configs
- Build Tool Setup
Generate complete build configurations for your toolchain.
manage_config
- Configuration Management
Configure baselines, polyfills, and browser targets.
🎯 Browser Targets Supported
Target | Browser | Version | Use Case |
---|---|---|---|
chrome-37 | Chrome | 37 | Legacy Android support |
chrome-latest | Chrome | Latest | Modern development |
firefox-esr | Firefox | 78 ESR | Enterprise compatibility |
safari-12 | Safari | 12 | iOS 12+ support |
ie-11 | Internet Explorer | 11 | Legacy Windows support |
edge-legacy | Edge | 18 | Pre-Chromium Edge |
🔧 Configuration
Configuration File (.caniuse-config.json
)
Create a .caniuse-config.json
in your project root to customize behavior:
Quick Configuration Setup
Copy example configurations from the examples/
directory:
Environment Variables
Configure via environment variables for CI/CD:
💡 Real-World Use Cases
1. CSS Variables Polyfill Support
2. Promise.allSettled Polyfill Support
3. Enterprise Legacy Browser Support
4. Modern Development with Progressive Enhancement
📈 Enhanced Output Examples
Scan Project Output
Get Fixes Output
🔧 Configuration Examples
Babel Configuration (.babelrc)
PostCSS Configuration
🏗️ Development Workflow Integration
Git Hooks
CI/CD Pipeline
🚨 Troubleshooting
Common Issues
"No tools found" Error in Cursor/Claude
This is the most common issue. Try these solutions in order:
1. Verify Global Installation
2. Check Your PATH
3. Try Different Installation Methods
4. Update MCP Configuration Format Make sure your Cursor/Claude configuration uses the correct format:
❌ Incorrect:
✅ Correct:
5. Test MCP Server Manually
Other Common Issues
"Module not found" errors
Configuration not loading
Polyfills not working
Permission errors on macOS/Linux
Platform-Specific Issues
macOS
Windows
Linux
Debug Mode
Enable verbose logging with environment variables:
Still Having Issues?
- Check Node.js version: Requires Node.js 18+
- Verify npm configuration:
- Try a clean environment:
- Report the issue: If none of the above work, please open an issue at https://github.com/Amirmahdi-Kaheh/caniuse-mcp/issues with:
- Your operating system
- Node.js version (
node --version
) - npm version (
npm --version
) - Complete error message
- MCP client you're using (Cursor, Claude Desktop, etc.)
🔗 Links & Resources
- NPM Package: https://www.npmjs.com/package/@mahdiar/caniuse-mcp
- Can I Use Database: https://caniuse.com
- Model Context Protocol: https://docs.anthropic.com/en/docs/build-with-claude/mcp
- Cursor IDE: https://cursor.sh
- Claude Desktop: https://claude.ai/desktop
🤝 Contributing
We welcome contributions! Please see our contributing guidelines:
- Report Issues: Found a bug or missing feature? Open an issue
- Feature Requests: Have ideas for new functionality? Let us know
- Pull Requests: Want to contribute code? Fork and submit a PR
- Documentation: Help improve our docs and examples
Development Setup
📊 Why Use CanIUse MCP?
Before
- Manual caniuse.com lookups
- Guessing at polyfill needs
- Trial-and-error browser testing
- Separate compatibility checking tools
After
- AI-powered compatibility analysis
- Automated polyfill recommendations
- Smart project-wide scanning
- Integrated development workflow
70% faster compatibility checking with actionable results 🚀
📄 License
MIT License © 2025 Mahdiar Kaheh
Built for the developer community - Free to use, modify, and distribute.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Provides intelligent CSS/JS feature compatibility checking with configurable browser targets, polyfill support, and smart project scanning. Enables developers to automatically detect browser compatibility issues and get actionable remediation steps with build tool configurations.
- ✨ Key Features
- 📦 Installation
- 🔌 Setup for MCP Clients
- ⚡ Quick Start
- 🛠️ Available Tools
- 🎯 Browser Targets Supported
- 🔧 Configuration
- 💡 Real-World Use Cases
- 📈 Enhanced Output Examples
- 🔧 Configuration Examples
- 🏗️ Development Workflow Integration
- 🚨 Troubleshooting
- 🔗 Links & Resources
- 🤝 Contributing
- 📊 Why Use CanIUse MCP?
- 📄 License