mcpField
M
MCP Server Demo

MCP Server Demo

ローカル
github.com/hannguyendd開発ツール080 週間前に更新

MCP Server Demo について

MCP Server Demoは、カスタムツールでアプリ更新用シェルスクリプトを実行するFastMCPサーバーです。コマンド実行をMCPクライアントに接続する開発者向けのサンプルです。

主な機能

  1. 01アプリ更新ツールの提供
  2. 02subprocessによるコマンド実行
  3. 03環境変数によるコマンドフォルダー設定
  4. 04stdio通信

活用シーン

  1. 01MCPクライアントからupdate-apps.shを実行
  2. 02stdioのMCPサーバー連携をテスト

MCP 対応

stdio経由でMCP対応クライアントにupgrade_appsツールを提供します。このツールはCOMMAND_FOLDER_PATHで指定したフォルダー内のupdate-apps.shを実行します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"demo-hannguyendd": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP サーバーのデモ

シェルスクリプトを介してアプリケーションをアップグレードするツール機能を提供する、Model Context Protocol(MCP)サーバー実装のシンプルなデモです。

概要

このプロジェクトでは、アプリケーションをアップグレードするカスタムツールを公開する FastMCP サーバーを実装しています。サーバーは stdio トランスポートで通信し、MCP 対応クライアントと統合できます。

機能

  • アプリケーションをアップグレードするカスタムツールを備えた MCP サーバー
  • subprocess を介したコマンド実行
  • 環境変数による設定
  • クライアントとサーバー間の通信に stdio トランスポートを使用

前提条件

  • Python 3.12 以降
  • uv パッケージマネージャー(依存関係の管理用)
  • 環境変数の設定(COMMAND_FOLDER_PATH)

インストール

  1. リポジトリをクローンします:

    git clone <repository-url>
    cd mcp-server-demo
    
  2. uv を使用して依存関係をインストールします:

    uv pip install -e .
    
  3. プロジェクトのルートに、次の内容を記述した .env ファイルを作成します:

    COMMAND_FOLDER_PATH=/path/to/your/command/folder
    

    コマンドフォルダーに update-apps.sh スクリプトが含まれていることを確認してください。

使用方法

サーバーは Python から直接実行できます:

python main.py
VS Code MCP 拡張機能での使用

用意されている mcp.json 設定を使用して、VS Code MCP 拡張機能を利用できます:

  1. VS Code に MCP 拡張機能をインストールします
  2. VS Code でプロジェクトを開きます
  3. 「Connect to MCP Server」コマンドを使用し、「commander」サーバーを選択します
MCP Inspector での使用

MCP Inspector ツールを使用して MCP サーバーをテストおよび検査するには、次を実行します:

npx @modelcontextprotocol/inspector \
  uv \
  --directory ${PWD} \
  run \
  main.py

このコマンドを実行すると、MCP サーバーに接続する Inspector ツールが起動し、テスト目的で利用可能なツールを操作できます。

利用可能なツール

upgrade_apps

このツールは、COMMAND_FOLDER_PATH 環境変数で指定されたフォルダーにある update-apps.sh スクリプトを実行します。

クライアントでの使用例:

result = await client.upgrade_apps()
print(result)

プロジェクト構成

  • main.py - メインのサーバー実装
  • pyproject.toml - プロジェクトの依存関係とメタデータ
  • .vscode/mcp.json - VS Code MCP の設定
  • uv.lock - uv パッケージマネージャー用の依存関係ロックファイル
  • .env - 環境変数(リポジトリには含まれていません)

依存関係

  • mcp[cli] (>=1.6.0)
  • python-dotenv(必須ですが、pyproject.toml には明示的に記載されていません)

開発

このプロジェクトでは、従来の pip と比べて依存関係の解決とインストールが高速な、Python パッケージ管理用の uv を使用しています。

依存関係を更新するには:

uv pip install -e .

ライセンス

[ライセンス情報をここに記載してください]

貢献

[貢献ガイドラインをここに記載してください]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。