Cherry StudioとDifyによるStdio MCPサーバーとのワンクリックアクセス統合の実践

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/the-practice-of-integrating-stdio-mcp-server-with-one-click-access-by-cherry-studio-and-dify_602239?spm=a2c65.11461433.0.0.4ee35355Z0vn2M)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# Ren Yun による投稿

## はじめに
AIアプリケーションがますます複雑になるにつれて、MCPツールの統合には3つの主要な課題があります。

- 単一ツールの展開効率が低い（一度に1つのツールしか展開できない）
- 呼び出し方法が断片化しており、OpenAPIやMCPとの互換性がない
- 動的な管理が困難で、ツールを追加または削除する際に繰り返し展開が必要

これらの制限に対処するため、私たちはアリババクラウドのComputing Nestに基づいたワンストップソリューションを提案します。これにより、標準化されたプロトコルを通じて複数のMCPツールを一括展開し、クラウド上のリソース利用率を向上させ、OpenAPIとMCPのデュアルチャネル呼び出し機能を実現します。これにより、Dify、Cherry Studio、OpenWebUIなどの主流のAIアシスタントとシームレスに統合することが可能になります。

## 背景
![1](https://yqintl.alicdn.com/fce641e05de75326a8b1ff4511903c56f302e949.png)

MCP（Model Context Protocol）は、Anthropic社が2024年11月にリリースしたオープンソースの通信標準であり、その主な目標は、大規模言語モデル（LLM）と異種データソースおよびツール間の統合障壁を排除するための統一された相互作用パラダイムを確立することです。このプロトコルは、AI分野における「データの孤島」問題に対応し、MCPに基づく事実上の「万物のインターネット」を実現します。これには、ローカルデータやインターネットデータ、ファイルシステム、Alibaba Cloud上の任意のリソース操作、ブラウザ自動化などが含まれますが、これらに限定されません。この技術的ブレークスルーにより、AIアプリケーションは真の意味で「万物のインターネット」を実現できます。個人デバイスでの文書処理から、企業レベルのクラウドリソーススケジューリングまで、すべて統一プロトコルを通じて完了できます。

![2](https://yqintl.alicdn.com/7094cbd9c1adabf20454d2176a95253cab94ec1d.png)
**図1 MCPプロトコルの公式アーキテクチャ図**

AIネイティブゲートウェイであるHigressは、REST APIからMCPサーバへの自動変換を最初に実現しました。そのAPI-to-MCPツールは、宣言的な設定ファイル（YAML形式）を使用してGaode MapなどのREST APIを迅速にMCPツールにカプセル化でき、コーディングは不要です。例えば、リクエストテンプレートとレスポンス変換ルールを定義することで、開発者は数分でインターフェース適応を完了し、統合認証や細かいレート制限といったエンタープライズレベルの機能を利用できます。しかし、既存のソリューションには重要な制限があります。HigressはMCPサーバのホスティングのみをサポートしており、オープンソースエコシステム内の多数のstdio通信ベースのMCPサーバ（例：時刻サービス、Fetchツールなど）と接続できません。これらのツールは通常、コマンドラインモードで動作します。この問題を解決するために、私たちのソリューションはMCPOオープンソースプロジェクトとHigressの機能を革新的に統合し、Higressのこの領域における能力ギャップを埋め、コンピューティングNestとHigressに基づく初めてのワンクリック一括展開ソリューションを提供します！

## 比較

| **項目**            | **従来のMCP市場**                                                                                          | **Computing Nest-Higressソリューション**                                                                 |
|---------------------|-----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
| **展開方法**         | 一度に単一のMCPツールを選択して展開できるのみ                                                               | 複数のMCPツールを同時に展開でき、ECSリソースを再利用し、リソース利用率を向上させることができる                                             |
| **呼び出し互換性**    | OpenAPIとMCPを同時に使用してツールを呼び出せないため、一部のプラットフォームとの互換性しかない                                                       | OpenAPIとMCPの両方を通じて呼び出しが可能で、Dify、Cherry Studio、OpenWebUIなどのAIアシスタントやBailianなどのプラットフォームと互換性がある         |
| **ツール管理**        | MCPツールの追加や削除が複雑                                                                                     | 設定変更を通じてMCPツールの動的な追加や削除をサポート                                                                             |
| **プラットフォーム比較** | ホスティングやプライベート展開方法に対応できない                                                                 | このソリューションはプライベートMCPの問題に対応し、Higressプラットフォームはホスティングの問題を解決                                                                    |

## 原理解析

![3](https://yqintl.alicdn.com/062f98e580556c66e553aa0fb65e44e8839591ec.png)  
**図2 Computing Nest MCPサービスアーキテクチャ**

このソリューションの中核は、mcpoとHigressのオープンソースプロジェクトに依存しています。全体の作業ステップは次の通りです。

### 1. ツール選択と設定生成
ユーザーは複数のMCPツール（例：時刻サービス、Gaode Mapなど）を選択でき、システムはユーザーの選択を標準化されたJSON設定に変換します。各ツールの設定には以下の主要フィールドが含まれます。

- `<font style=color:rgb(38, 38, 38);background-color:rgb(229, 229, 229);>`args`</font>`: ツール起動パラメータの配列
- `<font style=color:rgb(38, 38, 38);background-color:rgb(229, 229, 229);>`serverCode`</font>`: 一意のサービス識別子
- `<font style=color:rgb(38, 38, 38);background-color:rgb(229, 229, 229);>`env`</font>`: 環境変数設定（APIキーなどの機密情報も含む）
- `<font style=color:rgb(38, 38, 38);background-color:rgb(229, 229, 229);>`command`</font>`: 実行コマンドのタイプ（例：`uvx`、`npx`など）

以下は、時刻サービスとGaode Mapサービスの異なるパラメータ構造と環境要件を示す設定例です。json
{
  "args": [
    "mcp-server-time"
  ],
  "serverCode": "time",
  "env": {},
  "command": "uvx"
},
{
  "args": [
    "-y",
    "@amap/amap-maps-mcp-server"
  ],
  "serverCode": "amap-maps",
  "env": {
    "AMAP_MAPS_API_KEY": "dadasdaad"
  },
  "command": "npx"
}

### 2. MCPOサービスの起動
MCPOオープンソースサービスは、MCPツール機能の中核プロバイダーとして、最初のステップからのJSON設定を解析後、ローカル環境で標準化されたOpenAPIインターフェースを公開し、サービスの検出と呼び出しを促進します。

### 3. プロトコル変換段階
OpenApi-To-Mcp自動化ツールは、以下の重要なプロトコル変換タスクを実行します。

- 元のOpenAPI仕様書（通常Swagger/OpenAPI形式）を抽出
- APIエンドポイント、パラメータ構造、レスポンスポイントを分析
- MCPプロトコル仕様に準拠した設定ファイルを生成

注意: このステップで関与するプロトコル設定変換は無損失であり、MCPツールの
[9](https://yqintl.alicdn.com/6a081606556c94ed9eb714bb75d00b7ee7bb7979.png)

9. 「今すぐ作成」をクリックし、デプロイが成功するまで待ちます。このプロセスは通常約3分かかります。所要時間は選択したツールの数によって異なる場合があります。
10. デプロイに成功したインスタンスのインターフェースにアクセスして、デプロイされた専用MCPツールのアドレスとAPIキーを確認します。
![](https://yqintl.alicdn.com/caeb991a31349737696c0f7154fbfb01fcd334b5.png)

### カスタムMCPツールのデプロイ
1. 新しいカスタムMCPツールを追加するには「追加」をクリックしてください。注意: カスタムMCPツールは何度でも追加できます。
![](https://yqintl.alicdn.com/8e7ad543609e57021bd6cabf11fee5c9f57b9cfa.png)
2. カスタムツールの名前とIDを入力してください。注意: IDは重複できません。
![](https://yqintl.alicdn.com/b27b855431b1c07edfff3d70a77e2c09aa3a1409.png)
3. 使用したいMCPツールの起動方法を選択します。npxやuvxを選択した場合、起動コマンドを配列形式で入力する必要があります。例:
[mcp-server-time, --local-timezone=America/New_York]
4. このコマンドが起動時に環境変数を必要とする場合は、以下にそれを記入してください。例: key:GITHUB_PERSONAL_ACCESS_TOKEN, value: xxx
5. SSE起動方法を選択した場合、URLを入力する必要があります。注意: 認証が必要な場合は、そのURLに必要な認証キーを含める必要があります。例: https://mcp-xxx-22b0-4037.api-inference.modelscope.cn/sse
6. 現在のカスタムツールを選択します。注意: 追加したカスタムツールは設定を変更すると再レンダリングされ、使用するMCPツールを増減させることができます。カスタムMCPツールを設定する際には、デプロイステップ6に進むことができます。

### AIアシスタントの使用例
#### Cherry Studioの使用例
1. Computing Nestインスタンスインターフェースに移動します。次の操作ではMCPサーバーアクセスアドレスを使用する必要があります。
2. Cherry Studioアシスタントを開きます。まだ持っていない場合は、<a href=https://www.cherry-ai.com/ target=_blank>公式デプロイ</a>にアクセスして、以下の画像の例に従って新しいMCPサーバーを作成できます。
![](https://yqintl.alicdn.com/47872e761d90490a08f156b968589b76dd00eaa6.png)
3. 名前と説明は任意に入力できます。タイプとしてServer-Sent Events (sse) を選択します。
4. インスタンスページのリンクに表示されているURLを入力します。
![](https://yqintl.alicdn.com/f87d18fde065a8621190b09e32b87bcb31461024.png)
ここでHTTPプロトコルが使用されていることに注意し、接尾辞はsseです。
5. リクエストヘッダーに認証パラメータを追加します: xxx。入力時には「:」を「=」に変更する必要があることに注意してください。例: Authorization=Bearer 123
![](https://yqintl.alicdn.com/afddaa032a66ee43dfabfb38e758e97672c5566f.png)
6. 最初に右上の有効化ボタンをクリックし、次に保存ボタンをクリックします。
7. ダイアログインターフェースに移動し、使用したいMCPツールを選択します。
![](https://yqintl.alicdn.com/e7f889218cf0b174dd5f3f0bc0f4d7d164669bb3.png)
8. 適切なモデルを選択し、AIと会話します。例: 「私は北京市の万里の長城にいます。40分以内に歩ける範囲にあるレストランをいくつか教えてください」という質問により、AIはモデルを使って適切なレストランを見つけられます。
![](https://yqintl.alicdn.com/e214ce698773f13b8aa763065e0d6f56daa0ff37.png)

#### Difyの使用例
1. Cherry Studioの最初のステップと同じです。次の操作では、MCPサーバーアクセスアドレスセクションを使用する必要があります。
2. Difyを開きます。まだ持っていない場合は、<a href=https://market.aliyun.com/products/57252001/cmgj00068972.html target=_blank>Aliyunの高速デプロイリンク</a>にアクセスして、SSEによるMCPツールの検出と呼び出しを以下の画像の例に従ってインストールできます。
![](https://yqintl.alicdn.com/cba2513edea52c483ac4e2a0dfd20c7b6720fc90.png)
3. 後続の使用中に問題が発生した場合、このツールのバージョンを0.0.10に下げることができます。
![](https://yqintl.alicdn.com/7c868b5e5a22fd2e26d9c13a0097f4c91a5edf10.png)
4. 「承認」ボタンをクリックしてSSEツールを設定します。手順1から取得したMCPサーバーアクセスアドレスを直接貼り付けることができます。
![](https://yqintl.alicdn.com/17a5c3bd7bbf9a8e7199cc923def5029db9e6e4a.png)
5. Agentを作成し、入力します。
![](https://yqintl.alicdn.com/66d0645069d96c22ffc7ce6f97d038efa057942e.png)
6. 以下の画像の例に従ってMCPツールの呼び出しを有効にし、適切なプロンプトを入力し、適切なモデル（例: QWEN-max）を選択します。
![](https://yqintl.alicdn.com/71effad22c6d9d2e9f9a52ea8d8951a5ac760122.png)
7. 会話を開始し、これによりMCPツールの呼び出しが可能になります。
![](https://yqintl.alicdn.com/081b822c28102949ae644ae447bb19a5d4b93701.png)

#### Open WebUIの使用例
1. Computing Nestインスタンスインターフェースにアクセスし、ツールのOpenAPIアクセスアドレスを見つけます。
2. Open WebUIクライアントを開きます。まだ持っていない場合は、Aliyunの高速デプロイリンクにアクセスしてアドレスとAPIキーを貼り付けます。
![](https://yqintl.alicdn.com/acc2c22dc6242e859afefe26256ac4b24cb981d0.png)
3. 新しい会話を作成し、MCPツールを有効にします。
![](https://yqintl.alicdn.com/9c7d8d48e09077180d7d5479642dbc786e71ac0e.png
以下のコマンドを入力して、環境変数が正しいかどうか確認します。  
cat /root/config.json
3. 設定を修正します。Docker Composeアプリケーションを再起動します。  
sudo systemctl restart quickstart-mcp
その他の問題については、公式のMCPにアクセスして使用方法を学んでください: [ユーザードキュメント](https://github.com/open-webui/mcpo)

## 結論
MCPプロトコルは、標準化されたインターフェースとして人工知能と現実世界の接続を再構築しています。これはAIツール間での普遍的な言語であるだけでなく、デジタルシステムと物理世界を結ぶ架け橋でもあります。統一されたインタラクション仕様を定義することにより、MCPはAIモデルが気象衛星データを自律的に呼び出してモンスーンの軌跡を予測したり、ナノメートル規模で機械アームを操作してチップを彫刻したりすることを可能にします。さらに、敦煌壁画の鉱物色構成や『イリアス』のリズム構造を分析し、人類文明に隠された認知法則を明らかにするのです！