FlowMCP/community-server
If you are the rightful owner of community-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
FlowMCP Community Server is a comprehensive multi-service MCP server management system designed to provide centralized configuration, environment management, and orchestration for blockchain and API services.
6-community-server
Community MCP Server with comprehensive test coverage
🚀 Quick Start
# Clone the repository
git clone https://github.com/flowmcp/community-server.git
cd community-server
# Install dependencies
npm install
# Run tests
npm test
# Run tests with coverage
npm run test:coverage:src
# Start development server
npm run dev
🧪 Testing
This project maintains comprehensive test coverage with 100% test success rate.
Test Commands
npm test- Run all testsnpm run test:coverage:src- Run tests with coverage reportnpm run test:watch- Run tests in watch mode
Test Structure
- Integration Tests: End-to-end server functionality
- Unit Tests: Individual component testing
- Mock Tests: Isolated testing with controlled dependencies
- Coverage Tests: Comprehensive code path coverage
🏗️ Architecture
Core Components
- ServerManager: Main orchestration and configuration management
- CommunityServer: HTTP server and routing logic
- WebhookServer: GitHub webhook handling and deployment automation
Key Features
- ✅ 100% Test Success Rate - All 186 tests passing
- ✅ High Coverage - Comprehensive code coverage reporting
- ✅ GitHub Integration - Automated CI/CD with GitHub Actions
- ✅ Security First - No hardcoded credentials, proper environment handling
- ✅ Mock-based Testing - Stable, fast test execution
📁 Project Structure
src/
├── index.mjs # Main ServerManager class
├── task/
│ ├── CommunityServer.mjs # HTTP server implementation
│ └── WebhookServer.mjs # Webhook handling
└── public/ # Static HTML templates
tests/
├── ServerManager.*.test.mjs # ServerManager test suite
├── CommunityServer.*.test.mjs # CommunityServer test suite
├── WebhookServer.*.test.mjs # WebhookServer test suite
└── helpers/ # Test utilities and helpers
🔧 Development
Environment Setup
-
Copy example environment files:
cp tests/.test.env.example tests/.test.env cp tests/.community.env.example tests/.community.env -
Update environment variables as needed
-
Ensure all secrets are externalized (never commit real credentials)
Adding Tests
- Follow existing naming conventions:
ComponentName.testType.test.mjs - Use mock-based testing for reliability
- Maintain 80%+ coverage for new components
- All tests must pass before merging
📊 Current Stats
- Version: 0.9.0
- Node.js: 22.x
- Test Suites: 15 suites
- Total Tests: 186 tests
- Success Rate: 100%
- Last Updated: 2025-09-10
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Ensure all tests pass:
npm test - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
📝 License
ISC - see the file for details.
🙏 Acknowledgments
- Built with comprehensive testing using Jest
- GitHub Actions for CI/CD automation
- Codecov for coverage reporting
- Mock-based testing for reliability and speed
This README is automatically updated on each push to main branch