Skip to content

classifyingcompany/mcp-servers

Repository files navigation

MCP Servers Collection - Production Ready AI Automation Platform

Deploy to Production License: MIT Python 3.11+

A comprehensive collection of Model Context Protocol (MCP) servers for AI automation, specifically designed for enterprise use and optimized for the Indonesian market. Built by CampShure for scalable business automation.

🌟 Features

Complete MCP Server Collection

  • πŸ“… Calendar Server: Google Calendar integration for scheduling automation
  • πŸ“ Filesystem Server: Secure file management with workspace isolation
  • πŸ™ GitHub Server: Repository management and automation
  • πŸ“§ Gmail Server: Email automation and management
  • πŸ” Perplexity Server: AI-powered search and knowledge retrieval
  • πŸ’¬ Slack Server: Team communication automation
  • 🌀️ Weather Server: Weather data and alerts from National Weather Service

Production Ready Infrastructure

  • πŸš€ Full CI/CD Pipeline: Automated testing, building, and deployment
  • 🐳 Docker Containerization: Scalable container-based architecture
  • πŸ”’ Security First: User isolation, rate limiting, comprehensive security
  • πŸ“Š Monitoring: Health checks, logging, and performance metrics
  • 🌏 Indonesian Market Ready: Timezone, language, and business optimizations

πŸ“‹ Prerequisites

  • Docker & Docker Compose: Container runtime
  • Python 3.11+: Programming language
  • Git: Version control
  • Nginx (optional): Reverse proxy
  • Valid API Keys: For external services (Gmail, Slack, GitHub, Perplexity)

πŸš€ Quick Start

1. Clone Repository

git clone https://github.com/classifyingcompany/mcp-servers.git
cd mcp-servers

2. Local Development

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate     # Windows

# Install dependencies
pip install -r requirements.txt

# Run status check
python check_status.py

# Start development server
python main.py

3. Production Deployment

# Run automated deployment script
./deploy.sh

# Configure environment
cp .env.example .env
nano .env  # Edit with your configuration

# Start all services
sudo systemctl start mcp-servers

# Check status
docker-compose ps

πŸ”§ Configuration

Environment Setup

# Essential Configuration (.env)
ENVIRONMENT=production
SECRET_KEY=your-super-secret-key
API_KEY=your-mcp-api-key

# Indonesian Market Settings
DEFAULT_TIMEZONE=Asia/Jakarta
DEFAULT_LANGUAGE=id
BABEL_LOCALE=id_ID

# API Keys
GMAIL_CLIENT_ID=your-gmail-client-id
GMAIL_CLIENT_SECRET=your-gmail-client-secret
SLACK_BOT_TOKEN=xoxb-your-slack-token
GITHUB_TOKEN=your-github-token
PERPLEXITY_API_KEY=your-perplexity-key

GitHub Secrets (CI/CD)

Required secrets for automated deployment:

PRODUCTION_HOST: your-server.com
PRODUCTION_USER: deploy-user
SSH_PRIVATE_KEY: |
  -----BEGIN OPENSSH PRIVATE KEY-----
  your-ssh-private-key-here
  -----END OPENSSH PRIVATE KEY-----
SSH_PORT: 22
SLACK_WEBHOOK_URL: https://hooks.slack.com/services/...

πŸ—οΈ Architecture

graph TB
    A[GitHub Repository] --> B[GitHub Actions CI/CD]
    B --> C[Docker Build]
    C --> D[Production Server]
    D --> E[Docker Compose Stack]
    
    E --> F[MCP Servers Container]
    E --> G[Redis Cache]
    E --> H[PostgreSQL Database]
    E --> I[Nginx Reverse Proxy]
    E --> J[Monitoring Stack]
    
    F --> K[Calendar Server]
    F --> L[Gmail Server]
    F --> M[Slack Server]
    F --> N[GitHub Server]
    F --> O[Filesystem Server]
    F --> P[Perplexity Server]
    F --> Q[Weather Server]
Loading

πŸ”„ CI/CD Pipeline

Automated Deployment Flow

  1. Code Push: Developer pushes to main branch
  2. Testing: Automated pytest, linting, security scans
  3. Building: Docker image creation with optimization
  4. Deployment: SSH deployment to production server
  5. Health Checks: Verify all services are healthy
  6. Notifications: Slack notification of deployment status

Manual Deployment

# Deploy via GitHub Actions
gh workflow run deploy.yml

# Or deploy locally
docker-compose up -d --build

# Check deployment status
./health_check.sh

πŸ“Š Monitoring & Management

Health Monitoring

# Overall health check
python check_status.py

# Service status
sudo systemctl status mcp-servers

# Container logs
docker-compose logs -f mcp-servers

# Individual server health
curl http://localhost:8000/health

Performance Monitoring

  • Grafana Dashboard: http://your-server:3000
  • Prometheus Metrics: http://your-server:9090
  • Log Analysis: /opt/mcp-servers/logs/

Backup & Recovery

# Manual backup
/usr/local/bin/backup-mcp-servers

# Automated daily backups (configured via cron)
# View backup status
ls -la /var/backups/mcp-servers/

πŸ§ͺ Testing

Run Test Suite

# All tests
python -m pytest tests/ -v

# Specific server tests
python -m pytest tests/test_all_servers.py::TestWeatherServer -v

# Coverage report
python -m pytest tests/ --cov=. --cov-report=html

Indonesian Market Tests

# Test Indonesian-specific features
python -m pytest tests/test_all_servers.py::TestIndonesianMarketFeatures -v

πŸ”Œ API Usage Examples

Weather Server

# Get Indonesian weather alerts
await get_alerts("ID")  # Indonesia weather alerts

# Jakarta weather forecast
await get_forecast(-6.2088, 106.8456)  # Jakarta coordinates

Calendar Server

# Create meeting in Jakarta timezone
await create_event(
    title="Team Standup",
    start_datetime="2024-01-15T09:00:00+07:00",  # WIB timezone
    end_datetime="2024-01-15T09:30:00+07:00"
)

Perplexity Server

# Indonesian market research
await research_indonesian_market(
    topic="fintech Indonesia 2024",
    focus_areas=["regulations", "digital banking", "investment"]
)

# Competitor analysis
await analyze_competitors(
    company_or_industry="ride-sharing Indonesia",
    include_financials=True
)

πŸ› οΈ Development

Adding New Servers

  1. Create server file: your_server.py
  2. Follow MCP pattern:
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("your-server")

@mcp.tool()
async def your_function(param: str) -> str:
    """Your function description."""
    return "result"

def main():
    mcp.run(transport='stdio')
  1. Update configuration: Add to main.py and check_status.py
  2. Add tests: Create tests in tests/
  3. Update documentation

Indonesian Market Customizations

  • Timezone: Default to Asia/Jakarta
  • Language: Support Indonesian (id) and English (en)
  • Business Hours: 09:00-17:00 WIB
  • Local Holidays: Indonesian national and religious holidays
  • Currency: IDR support in financial calculations

πŸ“ Project Structure

mcp-servers/
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/          # CI/CD pipeline
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/     # Issue templates
β”‚   └── PULL_REQUEST_TEMPLATE.md
β”œβ”€β”€ tests/                  # Test suite
β”œβ”€β”€ monitoring/             # Prometheus & Grafana configs
β”œβ”€β”€ logs/                   # Application logs
β”œβ”€β”€ user-workspaces/        # User file isolation
β”œβ”€β”€ ssl/                    # SSL certificates
β”‚
β”œβ”€β”€ calendar_server.py      # πŸ“… Google Calendar integration
β”œβ”€β”€ filesystem_server.py    # πŸ“ File management
β”œβ”€β”€ github_server.py        # πŸ™ GitHub automation
β”œβ”€β”€ gmail_server.py         # πŸ“§ Email automation  
β”œβ”€β”€ perplexity_server.py    # πŸ” AI search
β”œβ”€β”€ slack_server.py         # πŸ’¬ Team communication
β”œβ”€β”€ weather_server.py       # 🌀️ Weather data
β”‚
β”œβ”€β”€ main.py                 # Main application entry
β”œβ”€β”€ check_status.py         # Health monitoring
β”œβ”€β”€ requirements.txt        # Dependencies
β”œβ”€β”€ Dockerfile             # Container definition
β”œβ”€β”€ docker-compose.yml     # Multi-service setup
β”œβ”€β”€ nginx.conf             # Reverse proxy
β”œβ”€β”€ deploy.sh              # Deployment script
β”œβ”€β”€ .env.example           # Environment template
└── README.md              # This documentation

🀝 Contributing

Development Workflow

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Follow Indonesian coding standards and documentation
  4. Add tests for new functionality
  5. Commit changes: git commit -m 'Add amazing Indonesian feature'
  6. Push to branch: git push origin feature/amazing-feature
  7. Open Pull Request with detailed description

Code Standards

  • Python: Follow PEP 8 with Indonesian comments where helpful
  • Documentation: English primary, Indonesian examples
  • Testing: Comprehensive test coverage required
  • Security: Security-first approach for enterprise use

🌏 Indonesian Market Focus

This MCP servers collection is specifically optimized for Indonesian businesses:

  • 🏒 Enterprise Ready: Tested with Indonesian corporations
  • 🌐 Local Integration: Support for Indonesian banking, payment systems
  • πŸ“± Mobile Optimized: Mobile-first approach for Indonesian users
  • πŸ”’ Compliance: Aligned with Indonesian data protection regulations
  • πŸ’° Cost Effective: Optimized for Indonesian cloud infrastructure costs

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support & Community

🌟 Acknowledgments

  • FastMCP: Excellent MCP framework
  • National Weather Service: Reliable weather data
  • Indonesian Developer Community: Feedback and contributions
  • CampShure Team: Indonesian AI automation platform

Built with ❀️ for Indonesian businesses by the CampShure team

Democratizing AI automation for Indonesian enterprises

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages