mcpField
M
MCP Server

MCP Server

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

MCP Server について

MCP Server は、AI アプリケーションにコマンド実行、データ処理、ナレッジ管理のツールを提供するプラグイン型フレームワーク兼サービスです。単独でも他のプロジェクトに組み込んでも利用でき、HTTP/SSE エンドポイントと YAML のツール定義に対応します。

主な機能

  1. 01プラグイン型ツールフレームワーク
  2. 02同期・非同期のコマンド実行
  3. 03RestrictedPython による式評価
  4. 04DataFrame 分析・可視化 UI
  5. 05YAML によるツールとプロンプト設定
  6. 06プラグインの導入と更新

活用シーン

  1. 01出力を記録しながらスクリプトを実行
  2. 02DataFrame の分析と可視化
  3. 03制限付き Python 式の評価
  4. 04Azure DevOps や Git プラグインの追加

MCP 対応

コマンド実行、ブラウザー自動化、データサービス、プラグインなどの登録済みツールを MCP 経由で公開します。クライアントは SSE エンドポイントから接続できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MCP サーバー

MCP サーバーは、AI を活用したコマンド実行、プラグインベースのツール、同期スクリプト実行、安全な Python 評価、ナレッジ管理などの高度な機能を提供する包括的なフレームワークです。スタンドアロンサービスとして実行することも、他のプロジェクトに組み込んで、ツールの呼び出しやタスクの管理に一貫した API を提供することもできます。

プロジェクト構成

  • mcp_tools/ – 同時実行管理を強化したプラグインフレームワークと組み込みツール
  • server/ – HTTP/SSE エンドポイントと DataFrame UI を備えた Starlette サーバーの実装
  • plugins/ – 拡張可能なプラグイン(Azure DevOps、Git ツール、ナレッジインデックス作成、Kusto、CircleCI)
  • config/ – 環境マネージャーと設定ヘルパー
  • utils/ – コアユーティリティ(非同期ジョブ、グラフインターフェース、メモリ管理、ベクトルストア、PyEval)
  • scripts/ – インストール、ユーティリティスクリプト、自動化された提出ワークフロー
  • assets/ – 画像とドキュメントのリソース

インストール

このプロジェクトでは、依存関係の管理に uv を使用します。次のコマンドで依存関係をインストールします。

uv sync

または、pip を使って開発モードでインストールします。

pip install -e .

環境設定

設定は .env ファイルで管理します。テンプレートからファイルを作成し、設定を編集します。

cp config/env.template .env

重要な変数には、リポジトリのパス(GIT_ROOT)、Azure Repo の詳細(AZREPO_ORG、AZREPO_PROJECT、AZREPO_REPO)、外部ツール設定用のオプションの PRIVATE_TOOL_ROOT があります。環境マネージャーは、リポジトリのルート、現在のディレクトリ、ホームディレクトリにある .env ファイルを自動的に読み込みます。

コード内で設定にアクセスするには、次のようにします。

from config import env_manager
env_manager.load()
root = env_manager.get_git_root()

詳しくは docs/config_overview.md を参照してください。

サーバーの実行

依存関係をインストールし、.env を設定したら、次のコマンドでサーバーを起動します。

uv run server/main.py

SSE エンドポイント http://0.0.0.0:8000/sse に接続するか、server/api.py にある追加のルートを使用してください。 バックグラウンドジョブのエンドポイントについては、docs/background_jobs_api.md に記載されています。

Docker

サーバーをコンテナで実行するための Dockerfile が含まれています。 次のコマンドでイメージをビルドします。

docker build -t mcp-server .

次に、ポート 8000 を公開してコンテナを起動します。

docker run -p 8000:8000 mcp-server

詳しくは docs/docker.md を参照してください。

設定ファイル

サーバーは YAML ファイルからプロンプトとツール定義を読み込みます。

  • server/prompts.yaml
  • server/tools.yaml

プライベート設定の上書きファイルは、server/.private/ または PRIVATE_TOOL_ROOT で指定されたフォルダーに配置できます。ファイルは次の順序で解決されます。

  1. PRIVATE_TOOL_ROOT
  2. server/.private/
  3. server/ 内のデフォルト設定

ツールシステム

ツールはモジュール式のプラグインであり、mcp_tools を通じて登録されます。組み込みユーティリティには次のものがあります。

  • コマンド実行ツール – 実行完了までのサポートを備えた同期・非同期のコマンド実行
  • ブラウザー自動化 – Web 操作用の Playwright 統合
  • PyEval – RestrictedPython を使用した安全な Python 式評価
  • DataFrame サービス – Web インターフェースを備えたデータ分析と可視化
  • 時間ヘルパー – 時間ベースのユーティリティとスケジューリング
  • YAML ツールローダー – YAML ファイルからの動的なツール定義

plugins/ ディレクトリには、Azure DevOps 統合、Git 操作、ナレッジインデックス作成、Kusto クエリ、CircleCI ワークフローなどの追加プラグインがあります。カスタムツールの作成については、mcp_tools/docs/creating_tools.md を参照してください。

Web インターフェースでは、次の包括的なダッシュボードを利用できます。

  • /tools – 登録済みのすべてのツールを参照し、詳細を表示
  • /dataframes – DataFrame を対話的に管理・可視化
  • /knowledge – ナレッジグラフの探索と管理
  • /pyeval – 安全な Python 評価インターフェース

プラグイン管理

外部プラグインは、plugin_config.yaml で宣言するとインストールできます。各 エントリでは、owner/repository 形式の plugin_repo を指定し、プラグインがサブフォルダーにある場合は 任意で sub_dir を指定します。例:

plugins:
   - plugin_repo: "github_owner/repo"
     sub_dir: "path/to/plugin"
     type: "python"

この設定に基づいてプラグインをクローンまたは更新するには、refresh_plugins オペレーションを指定して mcp_admin ツールを実行します。再インストールの前にインストール済みのプラグインをすべて削除するには、 force=true を渡します。

テストの実行

すべてのテストスイートを実行するには、次のコマンドを実行します。

scripts/run_tests.sh

または、mcp_tools/tests、plugins/*/tests、server/tests を対象に pytest を直接実行します。

主な機能(v0.2.0)

  • 実行完了までの同期実行 – 出力を包括的にキャプチャする同期スクリプト実行
  • PyEval セキュリティ – RestrictedPython を使用した安全な Python 式評価
  • 強化された DataFrame UI – データ分析と可視化のためのレスポンシブなウェブインターフェース

次のステップ

  1. mcp_tools/docs/ と docs/ のドキュメントを参照して、ツールの作成、依存性注入、高度な機能について学びます。
  2. server/ の設定サンプルファイルを確認し、独自のツールを追加してみます。
  3. 具体的な実装を確認するには、plugins/ ディレクトリのプラグインを調べます。
  4. ベクトルストア、グラフインターフェース、メモリ管理などの高度なユーティリティについては、utils/ ディレクトリを確認します。
  5. 詳細なリリースノートと最近の更新については、CHANGELOG.md を参照してください。

エディターとの連携

Cursor/VSCode などのエディターでは、次の設定を追加して SSE エンドポイントを使用できます。

{
  "mcpServers": {
    "mymcp-sse": { "url": "http://0.0.0.0:8000/sse" }
  }
}

デモのスクリーンショット

MCP サーバーの設定 MCP サーバーの非同期コマンド実行

コメント

MCP は初めてですか?

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

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