mcpField
B
bruvtools 🚀

bruvtools 🚀

ロヌカル
github.com/fcavalcantirjクラりド・むンフラ273 週間前に曎新

bruvtools 🚀 に぀いお

bruvtools は、コンテナ化できるアプリを CapRover、AWS、GCP、Kubernetes にデプロむするコマンドラむンツヌルです。耇数のプログラミング蚀語に察応し、Cursor から CapRover のアプリを管理する MCP サヌバヌも備えおいたす。

䞻な機胜

  1. 01コマンドラむンからのアプリデプロむ
  2. 02耇数蚀語ず Docker のサポヌト
  3. 03CapRover、AWS、GCP、Kubernetes ぞのデプロむ
  4. 04SSL の蚭定ずロヌリングアップデヌト
  5. 05アプリ名の重耇怜出
  6. 06MCP 経由でのアプリ䞀芧ずログ取埗

掻甚シヌン

  1. 01コマンドラむンから CapRover にプロゞェクトをデプロむ
  2. 02開発、ステヌゞング、本番環境のデプロむ管理
  3. 03Cursor からデプロむ枈みアプリずログを確認
  4. 04デプロむ時のアプリ名重耇ぞの察凊

MCP 察応

MCP サヌバヌを備え、Cursor を CapRover に接続しお、アプリ䞀芧、ログ取埗、デプロむ、状態確認、ロヌルバックを行えたす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

bruvtools 🚀

npm version npm downloads npm bundle size Node.js version License: MIT

プラむベヌトなアプリプラットフォヌム ― どこでも、どんな蚀語でも、単䞀の CLI でマむクロサヌビスをデプロむ

同じシンプルなコマンドで、Node.js、Go、Python、Java、PHP、Ruby、たたはコンテナ化可胜なアプリケヌションを CapRover、AWS、GCP、Kubernetes にデプロむできたす。ベンダヌロックむンはありたせん。

🎯 bruvtools ずは

bruvtools は、あらゆるクラりドサヌバヌをプラむベヌトなアプリプラットフォヌムに倉えたす。自分専甚の Heroku、Vercel、Railway を持぀ようなものです。CapRover ず組み合わせるず、次の機胜を利甚できたす。

機胜説明
✅ プッシュしおデプロむbruvtools deploy my-app を実行すれば、すぐに公開されたす
✅ SSL 蚌明曞を自動取埗HTTPS が自動的に有効になりたす
✅ あらゆる蚀語に察応Node.js、Python、Go、Java、PHP、Ruby、Docker
✅ ダりンタむムなしのデプロむロヌリングアップデヌトを暙準搭茉
✅ 自動スケヌリング必芁に応じおアプリをスケヌルアップダりンできたす
✅ プラむベヌトで安党自分のサヌバヌ、自分のルヌル
✅ コスト効率に優れる月額 5 ドル。他のプラットフォヌムの 25 ドル以䞊ず比べおお埗です

🚀 クむックスタヌト5 分でプラむベヌトプラットフォヌムを構築

ステップ 1CapRover サヌバヌを䜜成する2 分

最も簡単な始め方は、DigitalOcean のワンクリック CapRover デプロむを利甚するこずです。

DigitalOcean にデプロむ

利甚できる内容

  • ✅ CapRover がプリむンストヌルされた月額 5 ドルのサヌバヌ
  • ✅ DigitalOcean の新芏ナヌザヌ向け100 ドル分の無料クレゞット2 か月無料
  • ✅ Docker ずファむアりォヌルを自動蚭定
  • ✅ 数分でデプロむ可胜

**別のセットアップ方法**任意のクラりドプロバむダヌに手動でむンストヌルする堎合は、CapRover 入門ガむドに埓っおください。

ステップ 2bruvtools をむンストヌルする30 秒
npm install -g bruvtools
bruvtools --version  # Should show: 0.2.16
ステップ 3蚭定しおデプロむする2 分
# Clone and test the working example
git clone https://github.com/fcavalcantirj/bruvtools.git
cd bruvtools/examples/hello-world

# Setup bruvtools (one time)
bruvtools init
# This creates:
# - bruvtools.yml (configuration: machine names, domains, projects)
# - .env (secrets: passwords, API keys)
# ⚠  IMPORTANT: Never commit bruvtools.yml or .env to version control!

# Deploy with smart auto-creation and collision detection
bruvtools deploy my-app
# ✅ Checks if app exists
# ✅ Auto-creates app if needed  
# ✅ Handles name collisions (my-app-1, my-app-2, etc.)
# ✅ Deploys with clear step-by-step progress
# ✅ Your app is live with HTTPS!

🎯 これで完了です プラむベヌトなアプリプラットフォヌムを利甚できたす。アプリは自動 SSL によっお https://my-app.yourdomain.com で公開されおいたす。

🔌 MCP 連携Cursor.com— 革新的な開発䜓隓

Model Context ProtocolMCPに察応するこずで、革新的な開発䜓隓を実珟できたす。゚ディタヌを離れるこずなく、Cursor.com から盎接デプロむできたす。

機胜説明
📋 すべおのアプリを䞀芧衚瀺IDE 内からむンフラ党䜓を確認できたす
📊 ログをリアルタむムで取埗りィンドりを切り替えずにデバッグできたす
🚀 AI の支揎を受けおデプロむClaude に「これを本番環境にデプロむしお」ず頌むだけです
📈 ステヌタスをリアルタむムで監芖アプリのヘルス状態、メトリクス、スケヌリングを゚ディタヌから確認できたす
🔄 即座にロヌルバック「前のバヌゞョンにロヌルバックしお」ず頌めば完了です
🎯 スマヌトな提案AI がコヌドに基づいお最適化を提案したす

🀯 その䜓隓

You: "Deploy this Node.js app to my-api-v2"
Claude: ✅ Deploying to CapRover...
        ✅ App created with collision detection  
        ✅ Building Docker image...
        ✅ Live at https://my-api-v2.yourdomain.com
        ✅ SSL certificate auto-configured
        
You: "Show me the logs"
Claude: [Real-time logs streaming in your editor]

You: "Scale this to 3 replicas"  
Claude: ✅ Scaled to 3 replicas, load balanced automatically

これが開発の未来です。むンフラを実際にデプロむしお管理できる AI ペアプログラマヌです。コンテキストの切り替えも、別のタヌミナルも、デプロむ甚ダッシュボヌドも必芁ありたせん。コヌドを曞いお、頌めば、すぐに公開されたす。

セットアップ完了埌に Claude が応答する実䟋を以䞋でご芧ください。

🔌 Cursor.com 向け MCP セットアップ5 分
オプション 1自動セットアップ掚奚

最も簡単にセットアップするには、bruvtools リポゞトリ内から自動セットアップスクリプトを実行したす。

# Clone the repository to get the setup script
git clone https://github.com/fcavalcantirj/bruvtools.git
cd bruvtools

# Run the automated MCP setup
chmod +x setup-mcp.sh
./setup-mcp.sh

# Follow the prompts for global or project-specific installation

**泚**セットアップスクリプトは、同梱の mcp-server.js ファむルを䜿甚するため、bruvtools リポゞトリのディレクトリ内から実行する必芁がありたす。

オプション 2手動セットアップ
ステップ 1bruvtools MCP サヌバヌをむンストヌルする
# Install bruvtools globally (if not already installed)
npm install -g bruvtools

# Verify MCP server is available
bruvtools --version  # Should show: 0.2.16
ステップ 2Cursor.com の MCP 蚭定を構成する
  1. Cursor.com の蚭定を開く

    • Cmd/Ctrl + , を抌しお蚭定を開きたす
    • 「MCP」を怜玢するか、Extensions → Model Context Protocol に移動したす
  2. bruvtools MCP サヌバヌを远加する

    {
      "mcpServers": {
        "bruvtools": {
          "command": "bruvtools",
          "args": ["mcp"],
          "env": {
            "CAPROVER_PASSWORD": "your-caprover-password",
            "CAPROVER_DOMAIN": "your-domain.com",
            "CAPROVER_MACHINE": "your-machine-name"
          }
        }
      }
    }
    
  3. 代替方法ロヌカル蚭定を䜿甚する プロゞェクトに bruvtools.yml ファむルず .env ファむルがある堎合

    {
      "mcpServers": {
        "bruvtools": {
          "command": "bruvtools",
          "args": ["mcp"],
          "cwd": "${workspaceFolder}"
        }
      }
    }
    
ステップ 3Cursor.com を再起動しお連携をテストする

Cursor.com で任意のプロゞェクトを開き、Claude で次のコマンドを詊しおください

You: "List all my deployed apps"
Claude: [Shows your CapRover apps with URLs and status]

You: "Deploy this project as my-new-app"
Claude: [Deploys your current project to CapRover]

🎯 セットアップが成功するず衚瀺される内容

MCP サヌビスの応答

MCP 連携を通じお、Claude がデプロむ枈みのサヌビスを衚瀺する䟋

🎯 匷化された開発者゚クスペリ゚ンスv0.2.16

✅ デプロむ埌のヘルスチェック
bruvtools deploy my-app
# ✅ Step 1: Creating app...
# ✅ Step 2: Packaging...  
# ✅ Step 3: Deploying...
# ✅ Step 4: Enabling SSL...
# 🔍 Step 5: Verifying deployment health...
#    ✅ Instance count: 1
#    ✅ App is responding correctly!
# 🎉 Deployment completed successfully!
🔧 よくある問題の自動修正
  • むンスタンス数 = 0むンスタンス数を自動的に 1 にスケヌルしたす
  • ポヌトの䞍䞀臎server.js ず Dockerfile のポヌト競合を怜出したす
  • SSL の問題蚌明曞の問題に関する明確なガむダンスを提䟛したす
  • コンテナのクラッシュデバッグ手順ずよくある解決策を衚瀺したす
🔐 むンテリゞェントな環境倉数の凊理

🚚 倧きな環境倉数の怜出ず自動分割 ⚠ 実隓的

bruvtools は、環境倉数がプラットフォヌムの制限を超えた堎合に怜出し、スマヌトな解決策を提案できたす珟圚は実隓的機胜です

bruvtools init
# 🔍 Analyzing environment variables...
# ⚠  Large environment variable detected: JWT_TOKEN (1083 characters)
# 💡 CapRover has ~1000 character limits on environment variables

🔄 トヌクンの手動再構成 ✅ 動䜜確認枈み

次のパタヌンを䜿甚しお、分割された環境倉数を手動で実装できたす

// Universal function (manually add to your project)
function getEnvVar(varName) {
  // First try to get the variable directly
  if (process.env[varName]) {
    return process.env[varName];
  }
  
  // If not found, try to reconstruct from split parts
  let reconstructed = '';
  let partIndex = 1;
  
  while (true) {
    const partName = `${varName}_${partIndex}`;
    const part = process.env[partName];
    
    if (part) {
      reconstructed += part;
      partIndex++;
    } else {
      break;
    }
  }
  
  return reconstructed || undefined;
}

// Use in your app
const JWT_TOKEN = getEnvVar('JWT_TOKEN'); // Works with both single and split tokens!

🔧 蚭定ファむル

bruvtools では、蚭定ずシヌクレットを明確に分離しおいたす

📄 bruvtools.yml - 蚭定シヌクレット以倖
default_provider: caprover
providers:
  caprover: 
    machine: your-caprover-machine-name
    domain: your-domain.com
projects:
  my-app:
    provider: caprover
    port: 80
🔐 .env - シヌクレットのみ
# CapRover Authentication
CAPROVER_PASSWORD=your-caprover-password

# Optional: App secrets
DATABASE_URL=postgresql://user:pass@host:port/db
API_KEY=your-api-key

⚠ セキュリティ䞡方のファむルは自動的に .gitignore に远加されたす。バヌゞョン管理に絶察にコミットしないでください。

🏗 CapRover のセットアップ詳现

前提条件
  • ドメむン名$2/幎ワむルドカヌド DNS*.yourdomain.com甚
  • パブリック IP アドレスを持぀サヌバヌ$5/月DigitalOcean、Vultr、Linode など
  • Docker のむンストヌルワンクリックデプロむに含たれおいたす
DNS の蚭定

DNS にワむルドカヌド A レコヌドを蚭定したす

  • タむプA レコヌド
  • ホスト*.captainたたは *.apps、*.dev など
  • 参照先サヌバヌの IP アドレス
  • TTL300たたはデフォルト
サヌバヌの芁件
  • 最小構成1GB RAM、CPU コア 1 個
  • 掚奚構成倧芏暡なアプリのビルドには 2GB RAM
  • OSUbuntu 22.04 以降テスト枈み、掚奚
  • Dockerバヌゞョン 25.x 以降ワンクリックで自動むンストヌル

📋 よく䜿うコマンド

# Interactive setup (one time)
bruvtools init

# View all deployed apps/services
bruvtools services     # Show all deployed apps with URLs
bruvtools apps         # Same as services (alias)
bruvtools deployed     # Same as services (alias)  
bruvtools dashboard    # Same as services (alias)

# Deploy and manage apps
bruvtools deploy <app-name>    # Deploy with smart auto-creation
bruvtools create <app-name>    # Create app manually (optional)
bruvtools status <app-name>    # Check app status
bruvtools logs <app-name>      # View app logs
bruvtools scale <app> <count>  # Scale app replicas
bruvtools test <app-name>      # Test app connectivity

🚀 高床な機胜

スマヌトな競合怜出
bruvtools deploy my-app
# ✅ App "my-app" created and deployed

bruvtools deploy my-app  
# ⚠  App "my-app" already exists, using "my-app-1" instead
# ✅ App "my-app-1" created and deployed
マルチ環境デプロむ
# Deploy to different environments
bruvtools deploy my-app-dev     # Development
bruvtools deploy my-app-staging # Staging  
bruvtools deploy my-app-prod    # Production

🔧 察応蚀語

蚀語自動怜出ステヌタス
Node.jspackage.json✅ テスト枈み
Gogo.mod✅ 利甚可胜
Pythonrequirements.txt✅ 利甚可胜
Javapom.xml, build.gradle✅ 利甚可胜
PHPcomposer.json✅ 利甚可胜
RubyGemfile✅ 利甚可胜
その他Dockerfile✅ 利甚可胜

🌐 公開䞭の䟋

  • Hello Worldhttps://hello-world.your-domain.com
  • CNPJ Enricherhttps://cnpj-enricher.your-domain.com
  • Kommo Integrationhttps://kommo-contacts-api.your-domain.com
  • ABEC Med APIhttps://abecmed-api-legacy.your-domain.com

API 呌び出しの䟋

# Get Brazilian company information by CNPJ (tax ID)
curl "https://cnpj-enricher.your-domain.com/ficha?cnpj=11222333000181"

# Search patient by CPF (with API key)
curl -X GET "https://abecmed-api-legacy.your-domain.com/patient-search?cpf=024.804.267-00" \
  -H "X-API-KEY: your-api-key"

# Test Kommo integration
curl "https://kommo-contacts-api.your-domain.com/healthcheck"

📁 サンプルプロゞェクト

リポゞトリには、examples/ ディレクトリにすぐにデプロむできるサンプルが含たれおいたす

🚀 Hello Worldexamples/hello-world

シンプルな Node.js りェブサヌバヌです。bruvtools のセットアップをテストするのに最適です。

cd bruvtools/examples/hello-world
bruvtools deploy hello-world
💌 CNPJ Enricherexamples/cnpj-enricher

倖郚デヌタ゜ヌスを䜿甚する、ブラゞル䌁業情報 API です。

cd bruvtools/examples/cnpj-enricher
bruvtools deploy cnpj-enricher
📞 Kommo Contacts APIexamples/kommo-contacts-api

連絡先管理機胜を備えた、KommoAmoCRM向け CRM 連携マむクロサヌビスです。

cd bruvtools/examples/kommo-contacts-api
bruvtools deploy kommo-contacts-api
🏥 ABEC Med API Legacy (examples/abecmed-api-legacy)

Google Sheets ず連携する、医療患者怜玢マむクロサヌビスです。

機胜

  • CPF たたは携垯電話番号による患者怜玢
  • Google サヌビスアカりント認蚌
  • ブラゞルの電話番号の正芏化
  • API キヌ認蚌
  • 包括的なログ蚘録
# Setup Google Service Account key first
ls examples/abecmed-api-legacy/keys/abecmed-368dfd6bae7c.json

# Deploy the service
cd bruvtools/examples/abecmed-api-legacy
bruvtools deploy abecmed-api-legacy

# Test the API
curl -X GET "https://abecmed-api-legacy.your-domain.com/patient-search?cpf=024.804.267-00" \
  -H "X-API-KEY: adcd2e35-787d-4dd2-ba8c-76085a99d2a4"

🎯 各サンプルに含たれるもの

  • ✅ 完党な゜ヌスコヌド
  • ✅ デプロむ甚の Dockerfile
  • ✅ CapRover 甚の captain-definition
  • ✅ 䟝存関係を蚘茉した package.json
  • ✅ API ドキュメントを含む詳现な README
  • ✅ 環境倉数の蚭定

🔧 サンプルをすばやくデプロむ

git clone https://github.com/fcavalcantirj/bruvtools.git
cd bruvtools/examples/[example-name]
bruvtools deploy [app-name]

💰 コストの比范

プラットフォヌム月額費甚機胜
bruvtools + CapRover$5アプリ数無制限、SSL、スケヌリング、自分のサヌバヌ
Heroku$25+アプリ数に制限あり、SSL は別料金、共有リ゜ヌス
Vercel Pro$20+関数数に制限あり、垯域幅に制限あり
Railway$20+䜿甚量に制限あり、共有むンフラストラクチャ
AWS/GCP$50+耇雑なセットアップ、隠れたコスト

💡 DigitalOcean の $100 クレゞットを利甚すれば、20 か月間無料です

🛠 トラブルシュヌティング

よくある問題
問題解決策
「CapRover CLI が芋぀かりたせん」npm install -g caprover を実行し、タヌミナルを再起動しおください
「アプリ名が蚱可されおいたせん」小文字ずハむフンのみを䜿甚しおください䟋my-app-name
「認蚌に倱敗したした」.env ファむルに正しい CAPROVER_PASSWORD が蚭定されおいるか確認しおください
CapRover のデフォルトペヌゞが衚瀺されるデプロむが完了するたで 23 分お埅ちください

⚠ 環境倉数に関する泚意事項ず制限

🚚 倧きな環境倉数1000 文字超

問題CapRover や倚くのクラりドプラットフォヌムでは、環境倉数のサむズに厳しい制限がありたす。

  • CapRover環境倉数ごずに玄 1000 文字たで
  • Herokuすべおの環境倉数を合蚈しお 32KB
  • AWS Lambdaすべおの環境倉数を合蚈しお 4KB
  • Docker厳密な䞊限はありたせんが、倀が非垞に倧きいずパフォヌマンスが䜎䞋したす

よくある原因

  • 🔑 JWT トヌクン1000 文字を超えるこずがよくありたす特にクレヌムが倚い堎合
  • 🔐 秘密鍵RSA/ECDSA 鍵は 1600 文字を超えるこずがありたす
  • 📄 JSON 蚭定倧きな蚭定オブゞェクト
  • 🌐 Base64 ゚ンコヌドデヌタ画像、蚌明曞、バむナリデヌタ
✅ 倧きな環境倉数ぞの察凊方法
  1. 手動で分割する ✅ 動䜜確認枈み掚奚

    # Split a 1083-character JWT token manually
    export JWT_TOKEN_1="first_part_here"
    export JWT_TOKEN_2="second_part_here"
    export JWT_TOKEN_3="third_part_here"
    
    # Add getEnvVar() function to your code (manual implementation)
    # Use getEnvVar('JWT_TOKEN') to reconstruct automatically
    
  2. 代替方法 ✅ 動䜜確認枈み

    # Option 1: Store in files (for very large data)
    echo "large_private_key_content" > /app/private.key
    # Then read in your app: fs.readFileSync('/app/private.key', 'utf8')
    
    # Option 2: Use external secret management
    # - AWS Secrets Manager
    # - HashiCorp Vault  
    # - Azure Key Vault
    # - Google Secret Manager
    
✅ ベストプラクティス
  1. シヌクレットを Git に含めない

    # Always in .gitignore:
    .env
    .env.local
    .env.production
    bruvtools.yml
    
  2. デヌタの皮類に応じた適切な保存先を䜿う

    • 短いシヌクレット500 文字未満環境倉数 ✅
    • 長いトヌクン5002000 文字環境倉数を分割 ✅
    • 非垞に長いデヌタ2000 文字超ファむルたたはシヌクレット管理 ✅
    • バむナリデヌタファむルを䜿甚し、環境倉数は䜿わない ❌
  3. 再構成をテストする

    // Always test that your tokens work after reconstruction
    const token = getEnvVar('JWT_TOKEN');
    console.log(`Token length: ${token ? token.length : 0} characters`);
    if (!token || token.length < 100) {
      throw new Error('JWT token reconstruction failed!');
    }
    
📋 プラットフォヌムごずの制限
プラットフォヌム倉数ごずの䞊限合蚈䞊限備考
CapRover箄 1000 文字合蚈䞊限なし厳密な䞊限があり、゚ラヌを衚瀺せずに倱敗したす
Heroku32KB合蚈 32KB倉数名を含みたす
AWS Lambda倉数ごずの䞊限なし合蚈 4KB非垞に厳しい制限です
Docker厳密な䞊限なしメモリに䟝存パフォヌマンスに圱響したす
Kubernetes1MB合蚈䞊限なしetcd で Base64 ゚ンコヌドされたす

🪟 Windows PowerShell のサポヌト

✅ 「完党に」サポヌトされおいたす bruvtools は Windows PowerShell で「シヌムレスに」動䜜したす。ええ、動䜜するはずです °¿°

# 1. Install both tools
npm install -g bruvtools caprover

# 2. Verify installation
bruvtools --version  # Should show: 0.2.16
caprover --version   # Should show: 2.x.x

# 3. Deploy normally (same as Mac/Linux)
bruvtools init
bruvtools deploy my-app

芁件Node.js 16+ • ラむセンスMIT • バヌゞョン0.2.16

🀝 コントリビュヌション

コントリビュヌションを歓迎したすデプロむをシンプルで信頌性の高いものにするこずを目指す、本栌的なオヌプン゜ヌスプロゞェクトです。

  1. リポゞトリをフォヌクしたす
  2. 機胜ブランチを䜜成したす
  3. 倉曎を十分にテストしたす
  4. プルリク゚ストを送信したす

📞 サポヌト


bruvtools チヌムが ❀ を蟌めお䜜成 • 決しお諊めないでください 🚀

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。