Skip to main content
Glama
keides2
by keides2
README_prod.md8.91 kB
# 本番環境デプロイガイド このディレクトリには、Coverity Connect MCP Serverの本番環境用設定が含まれています。 ## 🎯 概要 本番環境では、実際のCoverity Connectサーバーに接続してセキュアな運用を行います。 ## 📁 ファイル構成 ``` production/ ├── .env.production # 本番環境変数テンプレート ├── claude_desktop_config.json # Claude Desktop設定(本番用) └── README_prod.md # このファイル ``` ## 🚀 本番デプロイ手順 ### 1. 環境準備 #### Python環境のセットアップ ```bash # 本番用Python環境 python -m venv /opt/coverity-mcp source /opt/coverity-mcp/bin/activate # パッケージインストール pip install -e . ``` ### 2. 設定ファイルの準備 #### 環境変数の設定 ```bash # .env.productionをコピーして編集 cp .env.production /opt/coverity-mcp/.env nano /opt/coverity-mcp/.env # 必須項目を実際の値に置換: # - COVERITY_HOST: 実際のCoverityサーバー # - COVAUTHUSER: 実際のユーザー名 # - COVAUTHKEY: 実際の認証キー ``` #### セキュリティ設定 ```bash # 環境ファイルの権限設定 chmod 600 /opt/coverity-mcp/.env chown mcp-user:mcp-user /opt/coverity-mcp/.env ``` ### 3. systemd サービス設定 #### サービスファイル作成 ```bash sudo nano /etc/systemd/system/coverity-mcp.service ``` ```ini [Unit] Description=Coverity Connect MCP Server After=network.target [Service] Type=simple User=mcp-user Group=mcp-user WorkingDirectory=/opt/coverity-mcp Environment=PATH=/opt/coverity-mcp/bin EnvironmentFile=/opt/coverity-mcp/.env ExecStart=/opt/coverity-mcp/bin/python -m coverity_mcp_server Restart=always RestartSec=3 StandardOutput=journal StandardError=journal # セキュリティ設定 NoNewPrivileges=true ProtectSystem=strict ProtectHome=true ReadWritePaths=/opt/coverity-mcp PrivateTmp=true [Install] WantedBy=multi-user.target ``` #### サービス有効化 ```bash sudo systemctl daemon-reload sudo systemctl enable coverity-mcp sudo systemctl start coverity-mcp ``` ### 4. Claude Desktop設定 #### 設定ファイルの更新 本番用設定を適用: ```json { "mcpServers": { "coverity-connect": { "command": "python", "args": ["-m", "coverity_mcp_server"], "cwd": "/opt/coverity-mcp", "env": { "COVERITY_HOST": "your-coverity-server.company.com", "COVERITY_PORT": "8080", "COVERITY_SSL": "True", "COVAUTHUSER": "your-username", "COVAUTHKEY": "your-auth-key", "MCP_DEBUG": "False", "LOG_LEVEL": "INFO" } } } } ``` ### 5. 本番環境テスト #### 接続テスト ```bash # 基本テスト python -c "from coverity_mcp_server.coverity_client import CoverityClient; print('Import OK')" # 実際の接続テスト curl -k https://your-coverity-server:8080/ws/v9/configurationservice?wsdl ``` #### Claude Desktop統合テスト Claude Desktopで実際のCoverityデータにアクセス: ``` 実際のCoverityプロジェクト一覧を表示してください ``` ## 🔒 セキュリティ設定 ### 認証情報の管理 ```bash # 環境変数の暗号化保存(推奨) echo "COVAUTHKEY=your-key" | gpg --symmetric --armor > /opt/coverity-mcp/.env.gpg # または secure vault使用 vault kv put secret/coverity-mcp \ username=your-user \ authkey=your-key ``` ### SSL/TLS設定 ```bash # 証明書の確認 openssl s_client -connect your-coverity-server:8080 -showcerts # SSL検証設定 export SSL_VERIFY=True export SSL_CERT_PATH=/etc/ssl/certs/ca-certificates.crt ``` ### ファイアウォール設定 ```bash # 必要なポートのみ開放 sudo ufw allow from trusted-ip-range to any port 8080 sudo ufw deny 8080 ``` ## 📊 監視・ログ設定 ### ログ設定 ```bash # ログディレクトリ作成 sudo mkdir -p /var/log/coverity-mcp sudo chown mcp-user:mcp-user /var/log/coverity-mcp # logrotate設定 sudo nano /etc/logrotate.d/coverity-mcp ``` ```conf /var/log/coverity-mcp/*.log { daily missingok rotate 30 compress delaycompress notifempty copytruncate su mcp-user mcp-user } ``` ### ヘルスチェック ```bash # ヘルスチェックスクリプト作成 nano /opt/coverity-mcp/health_check.sh ``` ```bash #!/bin/bash # Coverity MCP Server Health Check LOG_FILE="/var/log/coverity-mcp/health.log" STATUS_URL="http://localhost:8080/health" # サービスステータス確認 if systemctl is-active --quiet coverity-mcp; then echo "$(date): Service is running" >> $LOG_FILE else echo "$(date): Service is down - restarting" >> $LOG_FILE systemctl restart coverity-mcp fi # プロセス確認 if pgrep -f "coverity_mcp_server" > /dev/null; then echo "$(date): Process is active" >> $LOG_FILE else echo "$(date): Process not found" >> $LOG_FILE fi ``` ```bash # 実行権限付与 chmod +x /opt/coverity-mcp/health_check.sh # cron設定 echo "*/5 * * * * /opt/coverity-mcp/health_check.sh" | crontab - ``` ## 🔧 パフォーマンス最適化 ### メモリ設定 ```bash # Python メモリ制限 export PYTHONMALLOC=malloc export MALLOC_ARENA_MAX=2 # systemdでの制限 sudo systemctl edit coverity-mcp ``` ```ini [Service] MemoryLimit=512M CPUQuota=50% ``` ### 接続プール設定 ```python # 設定ファイルで調整 AIOHTTP_CONNECTOR_LIMIT = 10 AIOHTTP_TIMEOUT = 30 COVERITY_REQUEST_TIMEOUT = 60 ``` ## 🚨 トラブルシューティング ### よくある問題 #### 1. Coverity Connect接続エラー ```bash # SSL証明書問題 export PYTHONHTTPSVERIFY=0 # 一時的な回避(非推奨) # 正しい解決方法 curl -k https://your-server:8080/cert.pem > /opt/coverity-mcp/server.crt export SSL_CA_BUNDLE=/opt/coverity-mcp/server.crt ``` #### 2. 認証エラー ```bash # 認証情報確認 echo $COVAUTHUSER echo $COVAUTHKEY # Coverity側での確認 covadmin --host your-server --port 8080 --user $COVAUTHUSER list-projects ``` #### 3. パフォーマンス問題 ```bash # メモリ使用量確認 ps aux | grep coverity_mcp_server # ログレベル調整 export LOG_LEVEL=WARNING # 接続数制限 export MAX_CONNECTIONS=5 ``` #### 4. systemd サービス問題 ```bash # ログ確認 sudo journalctl -u coverity-mcp -f # サービス再起動 sudo systemctl restart coverity-mcp # 設定リロード sudo systemctl daemon-reload ``` ## 📈 運用監視 ### メトリクス収集 ```bash # プロセス監視 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | grep coverity # ネットワーク監視 netstat -an | grep :8080 # ディスク使用量 du -sh /opt/coverity-mcp/ ``` ### アラート設定 ```bash # メール通知設定 echo "coverity-mcp service failed" | mail -s "Alert" admin@company.com # Slack通知(webhook使用) curl -X POST -H 'Content-type: application/json' \ --data '{"text":"Coverity MCP service alert"}' \ YOUR_SLACK_WEBHOOK_URL ``` ## 🔄 バックアップ・復旧 ### 設定バックアップ ```bash # 設定ファイルバックアップ tar -czf coverity-mcp-config-$(date +%Y%m%d).tar.gz \ /opt/coverity-mcp/.env \ /etc/systemd/system/coverity-mcp.service \ ~/.config/claude/claude_desktop_config.json ``` ### 災害復旧手順 ```bash # 1. Python環境復旧 python -m venv /opt/coverity-mcp source /opt/coverity-mcp/bin/activate pip install -e . # 2. 設定復旧 tar -xzf coverity-mcp-config-backup.tar.gz -C / # 3. サービス復旧 sudo systemctl daemon-reload sudo systemctl enable coverity-mcp sudo systemctl start coverity-mcp ``` ## 📋 チェックリスト ### デプロイ前チェック - [ ] Python環境準備完了 - [ ] 認証情報設定済み - [ ] SSL証明書確認済み - [ ] ファイアウォール設定済み - [ ] systemdサービス設定済み ### デプロイ後チェック - [ ] サービス正常起動確認 - [ ] Claude Desktop接続確認 - [ ] 実データアクセス確認 - [ ] ログ出力確認 - [ ] ヘルスチェック動作確認 ### 運用チェック - [ ] 定期ヘルスチェック設定 - [ ] ログローテーション設定 - [ ] バックアップスケジュール設定 - [ ] 監視アラート設定 - [ ] 災害復旧手順確認 ## 📞 エスカレーション ### 緊急時連絡先 - **システム管理者**: admin@company.com - **Coverity管理者**: coverity-admin@company.com - **開発チーム**: dev-team@company.com ### サポートチャネル - **GitHub Issues**: https://github.com/keides2/coverity-connect-mcp/issues - **社内Slack**: #coverity-mcp-support - **ドキュメント**: 統合セットアップガイド (SETUP_GUIDE.md) --- **重要**: 本番環境では機密情報を適切に保護し、セキュリティガイドラインに従ってください。 **更新日**: 2025年7月19日 **バージョン**: 1.0.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keides2/coverity-connect-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server