OpenHands MCP Server について
OpenHands を拡張する MCP サーバーで、コマンド実行、API データ取得、音声分析のシミュレーションを行う独立したツールを備えています。OpenHands からこれらのスクリプトを利用したいユーザー向けです。
主な機能
- 01コードの lint スクリプト実行
- 02API 応答の JSON 取得
- 03音声の文字起こしと要約のシミュレーション
- 04API リクエストのエラー処理
活用シーン
- 01API から JSON データを取得
- 02コードベースの lint チェックを実行
- 03音声ツールで文字起こしと要約をシミュレート
MCP 対応
MCP 経由で OpenHands に、コマンド実行、API データ取得、音声分析シミュレーションのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenHands MCP サーバー
このリポジトリには、OpenHands の機能を拡張するためのシンプルな Model Context Protocol(MCP) サーバーが含まれています。MCP 経由でコマンドの実行、API の取得、音声分析のシミュレーションに使用できる、独立した 3 つのツールが用意されています。
📋 要件
- Python 3.x(
analyze_audio.py用) - Node.js 18+(
call_api.js用。組み込みの fetch API を使用) - Bash(
run_lint.sh用)
外部依存関係は不要です。すべてのスクリプトで組み込み機能を使用します。
📁 含まれるスクリプト
analyze_audio.py(Python)
音声ファイルの文字起こしと要約をシミュレーションします。
使用方法:
echo '{}' | python3 analyze_audio.py
call_api.js(Node.js)
指定した API URL から JSON データを取得し、レスポンスを返します。ネットワークの問題、HTTP エラー、JSON の解析エラーに対する包括的なエラー処理を備えています。
使用方法:
echo '{"url": "https://api.coindesk.com/v1/bpi/currentprice.json"}' | node call_api.js
エラー処理:
- デバッグ用の構造化された JSON エラーメッセージを返します
- ネットワーク接続の問題を処理します
- HTTP レスポンスのステータスコードを検証します
- JSON の解析エラーを捕捉します
run_lint.sh(Shell)
コードベースに対する lint チェックの実行をシミュレーションします。
使用方法:
./run_lint.sh
🔧 MCP の設定(OpenHands)
OpenHands の Settings → MCP で、次の設定を使用してください。
{
"stdio_servers": [
{
"name": "analyze_audio",
"command": "python3",
"args": ["analyze_audio.py"]
},
{
"name": "call_api",
"command": "node",
"args": ["call_api.js"]
},
{
"name": "shell_ops",
"command": "bash",
"args": ["run_lint.sh"]
}
],
"sse_servers": []
}
🚀 インストールとセットアップ
-
リポジトリをクローンします:
git clone https://github.com/jufjuf/openhands-mcp.git cd openhands-mcp -
スクリプトを実行可能にします:
chmod +x run_lint.sh -
Node.js のバージョンを確認します:
node --version # Should be 18.0.0 or higher -
認証情報を設定します(任意):
# Copy the template cp .env.example .env # Edit .env with your actual credentials nano .env # or use your preferred editor -
スクリプトをテストします:
# Test Python script echo '{}' | python3 analyze_audio.py # Test Node.js script (basic) echo '{"url": "https://httpbin.org/json"}' | node call_api.js # Test Node.js script with auth echo '{"url": "https://api.example.com", "auth_type": "bearer"}' | node call_api_with_auth.js # Test shell script ./run_lint.sh # Test environment loading python3 load_env.py
🤖 VIV Clinic Facebook Bot
新機能! VIV Clinic の Facebook ビジネスページ向け自動カスタマーサービスボットです。
機能
- 🔄 Facebook Messenger のメッセージや投稿へのコメントに自動返信します
- 📞 顧客情報(名前、電話番号、問い合わせ内容)を収集します
- 📊 スタッフがフォローアップできるよう、Google Sheets に保存します
- 🇮🇱 自然な会話の流れでヘブライ語に対応します
- 🔗 即時応答を実現するリアルタイム Webhook を備えています
クイックスタート
# Configure credentials first
python3 password_manager.py set facebook_access_token "your_token"
python3 password_manager.py set facebook_page_id "your_page_id"
python3 password_manager.py set google_sheet_id "your_sheet_id"
# Start the bot
python3 start_viv_bot.py
セットアップガイド
Facebook アプリの設定、Google Sheets のセットアップ、Webhook の設定、テスト手順など、詳細なセットアップ方法については VIV_BOT_SETUP.md を参照してください。
ボットのコンポーネント
facebook_bot.py- ボットの中核ロジックと会話処理google_sheets_manager.py- 顧客データ管理facebook_webhook.py- リアルタイム Webhook サーバーstart_viv_bot.py- ヘルスチェック機能を備えたボット起動スクリプト
🔐 認証情報の管理
API キーと認証情報の設定
-
環境テンプレートをコピーします:
cp .env.example .env -
認証情報を使って
.envを編集します:# Social Media FACEBOOK_ACCESS_TOKEN=your_actual_token [email protected] EMAIL_PASSWORD=your_email_password # API Keys OPENAI_API_KEY=sk-your_openai_key GOOGLE_API_KEY=your_google_key -
パスワードマネージャーを使用します:
# List all available services python3 password_manager.py list # Show credentials for a service (passwords partially hidden) python3 password_manager.py show facebook # Get specific credentials python3 password_manager.py password google python3 password_manager.py email zapier python3 password_manager.py api twilio # Get login data as JSON python3 auto_login.py facebook -
認証済み API 呼び出しを使用します:
# Facebook API with authentication echo '{"url": "https://graph.facebook.com/me", "auth_type": "facebook"}' | node call_api_with_auth.js # Custom API with bearer token echo '{"url": "https://api.example.com/data", "auth_type": "bearer"}' | node call_api_with_auth.js
パスワード管理ツール
このプロジェクトには、組み込みのパスワード管理ツールが含まれています。
-
password_manager.py- メインのパスワードマネージャー- すべてのサービスを一覧表示:
python3 password_manager.py list - サービス情報を表示:
python3 password_manager.py show <service> - 特定の認証情報を取得:
python3 password_manager.py password <service>
- すべてのサービスを一覧表示:
-
auto_login.py- 自動ログインヘルパー- ログインデータを JSON 形式で取得:
python3 auto_login.py <service> - 自動化スクリプトに最適です
- ログインデータを JSON 形式で取得:
-
credentials.env- 実際の認証情報(非公開にしてください!) -
.env.example- 共有用テンプレート
セキュリティに関する注意事項
- ✅
.envファイルは git によって自動的に無視されます - ✅ 認証情報をバージョン管理にコミットしないでください
- ✅ 本番環境では環境変数を使用してください
- ✅ API キーを定期的にローテーションしてください
- ✅ 表示時にはパスワードの一部が隠されます
- ✅ 認証情報の読み込みと管理は安全に行われます
💡 OpenHands での使用例
Use "call_api" to fetch the current Bitcoin price and summarize itRun "shell_ops" to check code qualityTranscribe a podcast episode using "analyze_audio"
🔧 トラブルシューティング
よくある問題
Node.jsのバージョンが古すぎる場合:
# Check version
node --version
# If < 18.0.0, update Node.js
# Visit: https://nodejs.org/
run_lint.shの実行が拒否される場合:
chmod +x run_lint.sh
call_api.jsのネットワークエラー:
- スクリプトにはネットワークの問題に対するエラー処理が含まれています
- インターネット接続を確認してください
- API URLにアクセスできることを確認してください
- デバッグ用にエラーメッセージがJSON形式で返されます
JSONの解析エラー:
- 入力が有効なJSON形式であることを確認してください
- JSON文字列には二重引用符を使用してください
- 例:
{"url": "https://example.com"}✅ - 次の形式ではありません:
{url: 'https://example.com'}❌
📄 ライセンス
MITライセンス © You
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。