Supports optional CloudFlare integration for content delivery network capabilities to optimize performance.
Provides complete integration with ERPNext, enabling full CRUD operations for documents, DocTypes, reports, and dashboards. Includes tools for document management, schema operations, reporting and analytics, and execution of custom ERPNext methods.
Leverages Redis for high-performance caching with 5-minute TTL, supporting features like connection pooling and improving overall server responsiveness.
ERPNext MCP Server
A production-ready Model Context Protocol (MCP) server for seamless ERPNext integration with AI assistants like Claude Desktop.
🚀 Features
- Complete ERPNext Integration: Full CRUD operations for documents, DocTypes, reports, and dashboards
- Production-Ready Security: OAuth 2.1, API key authentication, rate limiting, and comprehensive audit logging
- High Performance: Redis caching, connection pooling, and optimized API calls
- Enterprise Features: Multi-tenancy support, horizontal scaling, and high availability
- Comprehensive Monitoring: Health checks, metrics, and detailed logging
- Docker Support: Multi-stage builds for minimal attack surface
- TypeScript: Full type safety and modern JavaScript features
📋 Prerequisites
- Ubuntu 20.04/22.04/24.04 LTS
- Node.js 18+
- Redis 6+
- ERPNext instance with API access
- Digital Ocean droplet (minimum 2GB RAM)
🛠️ Quick Installation
Option 1: Automated Installation (Recommended)
Option 2: Manual Installation
Option 3: Docker Installation
⚙️ Configuration
Environment Variables
Create a .env
file with the following configuration:
Claude Desktop Configuration
Add the following to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
🔧 Available Tools
Document Operations
create_document
- Create new ERPNext documentsread_document
- Retrieve document detailsupdate_document
- Update existing documentsdelete_document
- Delete documentslist_documents
- List documents with filters
Schema Operations
get_doctype
- Get DocType schema and field definitionslist_doctypes
- List all available DocTypes
Reporting & Analytics
get_report
- Execute and retrieve report datacreate_dashboard
- Create custom dashboards
Advanced Operations
execute_method
- Execute custom ERPNext methods
🔒 Security Features
- Authentication: OAuth 2.1 with PKCE or API key/secret
- Encryption: TLS 1.3 for all communications
- Rate Limiting: Configurable per-endpoint limits
- Input Validation: Zod schemas for all inputs
- Audit Logging: Comprehensive activity logs
- CORS Protection: Configurable allowed origins
- Container Security: Non-root user, read-only filesystem
📊 Monitoring & Logging
Health Check Endpoint
Logs Location
- Application logs:
/opt/erpnext-mcp-server/logs/app.log
- Error logs:
/opt/erpnext-mcp-server/logs/error.log
- Access logs:
/opt/erpnext-mcp-server/logs/access.log
Monitoring with Systemd
🚀 Production Deployment
Digital Ocean Recommended Specs
Basic Setup (up to 50 concurrent users):
- 2 vCPUs
- 4GB RAM
- 50GB SSD
- $24/month
Production Setup (up to 200 concurrent users):
- 4 vCPUs
- 8GB RAM
- 100GB SSD
- $48/month
Enterprise Setup (200+ concurrent users):
- 8+ vCPUs
- 16GB+ RAM
- 200GB+ SSD
- Load balancer recommended
Security Hardening Checklist
- Configure firewall (UFW) rules
- Enable fail2ban for brute force protection
- Set up SSL/TLS with Let's Encrypt
- Configure log rotation
- Enable automatic security updates
- Set up monitoring alerts
- Regular security audits
- Implement backup strategy
🧪 Testing
🐛 Troubleshooting
Common Issues
- Connection refused errors
- Check ERPNext URL and credentials
- Verify firewall rules
- Check Redis connection
- Authentication failures
- Verify API key/secret
- Check token expiration
- Review audit logs
- Performance issues
- Monitor Redis cache hit rate
- Check ERPNext server load
- Review rate limiting settings
Debug Mode
Enable debug logging:
📈 Performance Optimization
- Caching: Redis caching with 5-minute TTL
- Connection Pooling: Reuse HTTP connections
- Batch Operations: Support for bulk document operations
- Compression: Gzip compression for API responses
- CDN: Optional CloudFlare integration
🤝 Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Anthropic for the Model Context Protocol
- Frappe/ERPNext team for the amazing ERP platform
- Community contributors and testers
📞 Support
- Documentation: Full documentation
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: security@your-domain.com
Built with ❤️ for the ERPNext community
This server cannot be installed
A production-ready server that enables AI assistants like Claude Desktop to seamlessly integrate with ERPNext for document operations, reporting, and custom workflows through natural language interaction.
Related MCP Servers
- AsecurityAlicenseAqualityEnables natural language interaction with Azure services through Claude Desktop, supporting resource management, subscription handling, and tenant selection with secure authentication.Last updated -31313TypeScriptMIT License
- -securityFlicense-qualityA smart documentation server that provides AI-assisted code improvement and documentation management through Claude Desktop integration.Last updated -7TypeScript
- -securityAlicense-qualityA modular server implementation for Claude AI assistants with integrated tools, enabling Claude to perform actions and access external resources like file systems, web searches, browser automation, financial data, and document generation.Last updated -66PythonMIT License
- -security-license-qualityA TypeScript-based server that enables AI assistants to interact with ERPNext/Frappe systems through the Model Context Protocol, allowing access to documents, creation/updating of records, and running reports.Last updated -4JavaScriptMIT License