MCPサーバ - zai-mcp-server

提供: MochiuWiki : SUSE, EC, PCB

概要

zai-mcp-serverは、GLM-5モデルを活用した画像・動画分析機能を提供するMCP (Model Context Protocol) サーバである。

OpenCode環境において、このサーバを導入することで、単純な画像説明から高度な技術図面の理解、エラー診断、UIデザインからのコード生成まで、幅広い視覚分析タスクを実行できる。

OpenCodeには標準で look_at という画像分析ツールが搭載されているが、zai-mcp-serverはより特化した機能を提供する。
例えば、スクリーンショットからのテキスト抽出 (OCR)、エラー画面の診断、UIスクリーンショットからのコード生成等、特定のタスクに最適化された専用ツールが用意されている。

これらのツールは、ローカルファイルパスまたはURLを指定して使用できる。
各ツールには prompt パラメータがあり、分析の指示を詳細に記述することにより、より精度の高い結果が得られる。

設定は、opencode.json ファイルにMCPサーバ設定を追加するだけで完了する。
APIキーは z.ai から取得できる。


ツール一覧

zai-mcp-serverが提供するツールの一覧を以下に示す。

zai-mcp-server ツール一覧
ツール名 用途
ui_to_artifact UIスクリーンショットからコード、プロンプト、仕様、説明を生成する。
extract_text_from_screenshot スクリーンショットからテキストを抽出する (OCR)。
diagnose_error_screenshot エラー画面やスタックトレースを診断する。
understand_technical_diagram 技術図面 (アーキテクチャ図、UML、ER図、フローチャート) を理解する。
analyze_data_visualization チャート、グラフ、ダッシュボードを分析する。
ui_diff_check 2つのUIスクリーンショットを比較する。
analyze_image 汎用的な画像分析を行う (他の特化ツールが合わない場合のフォールバック)。
analyze_video 動画の内容を分析する。



look_at との使い分け

OpenCodeには look_at というビルトインの画像分析ツールが存在する。

zai-mcp-serverツールと look_at の使い分けの基準を以下に示す。

look_atを使用する場合

  • PDF、画像、図の一般的な分析・要約
    ドキュメントからの情報抽出
    「この画像は何?」というシンプルな質問


zai-mcp-serverツールを使用する場合

  • 特化したタスク (OCR、UIからコード生成、エラー診断等)
    より精度の高い分析が必要な場合
    動画の分析が必要な場合



共通パラメータ

全てのツールで共通するパラメータを以下に示す。

共通パラメータ
パラメータ 必須 説明
image_source 画像のローカルパス または URL
prompt 何をしてほしいかの指示を記述する。


動画分析ツール (analyze_video) の場合は、image_source の代わりに video_source を使用する。


各ツールの詳細

ui_to_artifact

UIスクリーンショットからコード、プロンプト、仕様書、または説明文を生成するツールである。

パラメータ
ui_to_artifact パラメータ
パラメータ 説明
image_source 画像パス or URL UIスクリーンショットの画像を指定する。
output_type code フロントエンドコードを生成する。
prompt AIプロンプトを生成する。
spec デザイン仕様書を生成する。
description 自然言語による説明を生成する。
prompt 文字列 生成に関する詳細な指示を記述する。


使用例
image_source: "/home/user/ui-mockup.png"
output_type: "code"
prompt: "Reactコンポーネントとして実装してください。Tailwind CSSを使用。"


このツールはUIデザインのモックアップ画像から実装コードを生成する場合に使用する。

extract_text_from_screenshot

スクリーンショットからテキストを抽出するOCRツールである。

パラメータ
extract_text_from_screenshot パラメータ
パラメータ 説明
image_source スクリーンショットの画像パス or URL
prompt テキスト抽出の指示を記述する。
programming_language (任意) コードが含まれる場合、プログラミング言語を指定する。
例: pythonjavascriptjava
空欄の場合は自動検出される。


使用例
image_source: "/home/user/terminal-output.png"
prompt: "ターミナル出力のテキストを抽出してください。"
programming_language: ""


このツールはターミナル出力、ドキュメント、コードのスクリーンショットからテキストを抽出する場合に使用する。

diagnose_error_screenshot

エラー画面やスタックトレースを診断し、解決策を提案するツールである。

パラメータ
diagnose_error_screenshot パラメータ
パラメータ 説明
image_source エラー画面の画像パス or URL
prompt エラーに関する質問や診断の指示を記述する。
context (任意) エラーが発生した状況の追加情報を記述する。
例: 「npm install実行時に発生」


使用例
image_source: "/home/user/error-stacktrace.png"
prompt: "このエラーの原因と解決策を教えてください。"
context: "npm install 実行時に発生しました。"


このツールはエラーメッセージやスタックトレースの画像から原因を特定し、解決策を得る場合に使用する。

understand_technical_diagram

技術図面 (アーキテクチャ図、UML、ER図、フローチャート等) を理解・説明するツールである。

パラメータ
understand_technical_diagram パラメータ
パラメータ 説明
image_source 技術図面の画像パス or URL
prompt 図面から何を理解したいかの指示を記述する。
diagram_type (任意) 図面の種類を指定する。
architecture / flowchart / uml / er-diagram / sequence
空欄の場合は自動検出される。


使用例
image_source: "/home/user/system-architecture.png"
prompt: "各コンポーネントの役割とデータフローを説明してください。"
diagram_type: "architecture"


このツールはシステム構成図、データベース設計図、シーケンス図等の技術図面を理解する場合に使用する。

analyze_data_visualization

チャート、グラフ、ダッシュボード等のデータ可視化を分析するツールである。

パラメータ
analyze_data_visualization パラメータ
パラメータ 説明
image_source データ可視化の画像パス or URL
prompt 何を抽出・分析したいかの指示を記述する。
analysis_focus (任意) 分析の焦点を指定する。
trends (傾向) / anomalies (異常値) / comparisons (比較) / performance metrics (パフォーマンス指標)
空欄の場合は包括的な分析が行われる。


使用例
image_source: "/home/user/sales-chart.png"
prompt: "売上の傾向と異常値を分析してください。"
analysis_focus: "trends"


このツールは売上グラフ、パフォーマンスダッシュボード、統計チャート等のデータ可視化を分析する場合に使用する。

ui_diff_check

2つのUIスクリーンショットを比較し、視覚的な差異を特定するツールである。

パラメータ
ui_diff_check パラメータ
パラメータ 説明
expected_image_source 期待値 (基準) となるUI画像のパス or URL
actual_image_source 実装されたUI画像のパス or URL
prompt 比較の観点や注目点の指示を記述する。


使用例
expected_image_source: "/home/user/design-mockup.png"
actual_image_source: "/home/user/implementation-screenshot.png"
prompt: "デザインとの差異を具体的に指摘してください。"


このツールはデザインモックアップと実装の比較、UIのリグレッションテストに使用する。

analyze_image

汎用的な画像分析ツールである。
他の特化ツールが適合しない場合のフォールバックとして使用する。

パラメータ
analyze_image パラメータ
パラメータ 説明
image_source 画像のパス or URL
prompt 分析の指示を詳細に記述する。


使用例
image_source: "/home/user/photo.jpg"
prompt: "この画像に写っているものを詳しく説明してください。"


このツールは一般的な画像の説明、写真の分析等に使用する。

analyze_video

動画の内容を分析するツールである。

パラメータ
analyze_video パラメータ
パラメータ 説明
video_source 動画のパス or URL
対応形式: MP4、MOV、M4V
最大ファイルサイズ: 8[MB]
prompt 何を分析・理解したいかの指示を記述する。


使用例
video_source: "/home/user/demo.mp4"
prompt: "動画内で行われている操作手順をステップごとに説明してください。"


このツールはデモ動画の分析、操作手順の抽出、シーンの理解等に使用する。


クイックリファレンス

タスク別の推奨ツールを以下に示す。

タスク別推奨ツール
やりたいこと 推奨ツール
UIデザインからコード生成 ui_to_artifact (output_type: "code")
エラー画面の原因を知りたい diagnose_error_screenshot
画像からテキストを抽出 extract_text_from_screenshot
システム図を理解したい understand_technical_diagram
グラフからトレンドを読む analyze_data_visualization
デザインと実装を比較 ui_diff_check
動画の内容を理解 analyze_video
その他の画像分析 analyze_image または look_at



設定方法

opencode.jsonへの追加

zai-mcp-serverを使用するには、opencode.jsonファイルmcp フィールドに設定を追加する。

 {
   "$schema": "https://opencode.ai/config.json",
   "mcp": {
     "zai-mcp-server": {
       "type": "local",
       "command": ["npx", "-y", "@z_ai/mcp-server"],
       "environment": {
         "Z_AI_API_KEY": "<Z.AIのAPIキー>",
         "Z_AI_MODE": "ZAI"
       }
     }
   }
 }


Node.js v22以降が必要となる。
また、キャッシュされた古いバージョンが使用される場合があるため、挙動がおかしい時は @z_ai/mcp-server@latest を指定、または、npxキャッシュを削除する。

# npxキャッシュの削除方法

npx clear-npx-cache

または

## キャッシュの場所を確認
## 一般的に、~/.npm/_npx に npxキャッシュが存在する
npm config get cache
rm -rf ~/.npm/_npx

## キャッシュを削除した後、最新バージョンが取得する
npx -y @z_ai/mcp-server


APIキーの取得

APIキーは z.ai から取得できる。

設定の確認

設定が正しく追加されている場合、OpenCode起動時にzai-mcp-serverが読み込まれ、ツール一覧に zai-mcp-server_* 形式のツールが表示される。


注意事項

  • 動画ファイルは最大8[MB]まで対応している。
    大きなファイルは事前に圧縮または分割することを推奨する。

  • 各ツールは特定の用途に最適化されている。
    適切なツールを選択することで、より精度の高い結果が得られる。

  • prompt パラメータは詳細に記述するほど、期待通りの結果が得やすくなる。
    具体的な指示を含めることを推奨する。



関連情報