MCP サーバー実践
MCP(Model Context Protocol)サーバーを接続して OpenCode に実世界の能力を与えます——エージェントから直接データベースの照会、ブラウザの操作、外部 API の呼び出しが可能になります。
このレシピを使う場面
- 貼り付けたテキストではなく、ライブデータ(DB、ブラウザ、API)に基づいてエージェントに動作させたいとき。
- 複数ツールにまたがる自動化を構築しているとき。
- エージェントに「読む・判断する・動く」を行わせたいとき。
前提条件
- OpenCode をインストール済み。
- ターゲットの MCP サーバー(例:ブラウザ制御用の Playwright、クエリ用の Postgres MCP)。
手順
-
MCP サーバー設定を追加する
OpenCode の設定にサーバーを登録します。
{ "mcp": { "playwright": { "type": "local", "command": ["npx", "@playwright/mcp@latest"] } } } -
ツールの読み込みを確認する
OpenCode を起動し、利用可能なツールの一覧を表示させます——サーバーのツール(例:
browser_navigate、browser_click)が見えるはずです。 -
目標を持ったタスクを定義する
ステージングサイトを開き、テストアカウントでログインし、設定に移動して、新しいトグルが表示されるか教えてください。
-
ツール呼び出しを監督する
各ツール呼び出しを監視します。機密操作(書き込み、削除)は承認し、予期しないものは拒否します。
-
結果で反復する
エージェントがページを誤読した場合は、正しいセレクタを指示するか、まず DOM をダンプさせます。
主要なプロンプト
playwright MCP サーバーを使い、[URL] を開き、ログインフローを実行し、設定に「データをエクスポート」ボタンが存在するか確認してください。各ステップで見た内容を報告してください。
よくある落とし穴
- 過剰な権限:タスクに必要最小限のツールだけを付与し、使わない破壊的ツールは削除します。
- 不安定なセレクタ:マークアップが変わると UI 自動化は壊れます——各操作の後に状態を検証するようエージェントに指示します。
- 長いツールチェーン:一度に一つの論理ステップを求め、複数ツールのワークフローへの制御を保ちます。
関連ドキュメント
関連レシピ
- browser-automation —
reason.mcp.to-browser - custom-skill —
reason.mcp.to-skill - project-scaffold —
reason.mcp.to-scaffold
関連ドキュメント
次のステップ
- browser-automation —
next.mcp.to-browser