mcpField
M
MCP Tools

MCP Tools

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

MCP Tools について

MCP Toolsは、MCPクライアントをリモートエンドポイントやローカルのMCP実行ファイルに接続する、Go製のプロキシ兼サーバーです。実行ファイルからツールを検出し、HTTPまたはstdio経由でクライアントに提供します。

主な機能

  1. 01MCPリクエストのHTTPエンドポイントへの転送
  2. 02ディレクトリからのMCP実行ファイル読み込み
  3. 03ツールの検出と名前空間付与
  4. 04HTTPまたはstdioでのクライアント提供
  5. 05Makeによるプロキシとサーバーのビルド

活用シーン

  1. 01MCPクライアントとリモートHTTPサービスの接続
  2. 02複数のローカルMCP実行ファイルのツール公開
  3. 03プロキシ経由でのサンプルMCPツールのテスト

MCP 対応

プロキシはstdin/stdoutとHTTPエンドポイントの間でMCPリクエストを転送します。サーバーはMCP実行ファイルのツールを検出し、HTTPまたはstdio経由でクライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP ツール

このリポジトリには、Model Context Protocol(MCP)を使用するためのツールが含まれています。

MCP プロキシ

リクエストを HTTP エンドポイントに転送する、Model Context Protocol 用のプロキシです。

概要

MCP プロキシは、標準入力から指定された HTTP エンドポイントにデータを転送し、応答を標準出力に返します。リモートの MCP 対応サーバーとの通信に使用できる、シンプルなプロキシを実装しています。

なぜ golang なのか?

このコードはクライアント側で実行されます。多くの言語では、これを実行するためにランタイムと適切なライブラリ一式をインストールする必要があります。Go は単一の実行可能ファイルにコンパイルされます。これにより、デプロイの難しさ、ユーザーサポートへの問い合わせ、ランタイムの破壊的な更新、その他、デプロイの代わりに HTTP エンドポイントを提供することで通常は対処できる問題を減らせます。

使い方
./mcp-proxy [options]
オプション
  • -endpoint:リクエストの転送先となる HTTP エンドポイント(デフォルト:"http://localhost:8080")
  • -content-type:HTTP リクエストの Content-Type ヘッダー(デフォルト:"application/json")
  • -timeout:HTTP リクエストのタイムアウト(秒)(デフォルト:30)
  • -buffer:標準入力の読み取りに使用するバッファーサイズ(KB)(デフォルト:64)
例
./mcp-proxy -endpoint="https://api.example.com/mcp" -content-type="application/json"

MCP サーバー

ディレクトリから MCP 実行可能ファイルを読み込んで管理し、HTTP または標準入出力経由でクライアントに公開するサーバーです。

概要

MCP サーバーは、ディレクトリから MCP 実行可能ファイルを読み込み、クライアントに提供します。クライアントがツールの一覧を要求すると、サーバーは読み込まれたすべての MCP のツールを、MCP 名を名前空間として付けて返します。サーバーは HTTP モードまたは標準入出力モードで実行できます。

使い方
./mcp-server [options]
オプション
  • -mcp-dir:MCP 実行可能ファイルを含むディレクトリ(デフォルト:"./mcps")
  • -http:HTTP サーバーのアドレス(デフォルト:":8080")
  • -name:MCP サーバーの名前(デフォルト:"MCP Server")
  • -version:MCP サーバーのバージョン(デフォルト:"1.0.0")
  • -stdio:HTTP の代わりに標準入出力を使用します(デフォルト:false)
MCP ディレクトリ構成

サーバーは、MCP 実行可能ファイルを含むディレクトリを想定しています。各実行可能ファイルは、標準入出力を使用して MCP プロトコルを実装している必要があります。サーバーは次の処理を行います。

  1. ディレクトリ内の実行可能ファイルをスキャンします
  2. 各実行可能ファイルを実行し、提供されるツールを検出します
  3. 名前空間付きの名前(mcpname.toolname)で、これらのツールをクライアントから利用できるようにします

Make を使用したビルドと実行

このプロジェクトには、コンポーネントのビルドと実行を簡素化する Makefile が含まれています。

ビルド

すべてのコンポーネント(プロキシ、サーバー、サンプル)をビルドします。

make

または、特定のコンポーネントをビルドします。

make build-proxy    # Build only the proxy
make build-server   # Build only the server
make build-examples # Build only the example MCPs
実行

MCP サーバーを HTTP モードで起動します(サンプルをビルドし、mcps ディレクトリにコピーした後)。

make run-server

MCP サーバーを標準入出力モードで起動します。

make run-server-stdio

プロキシを実行して、ローカルの MCP サーバーに接続します。

make run-proxy
テスト

基本的な tools/list リクエストでプロキシをテストします(サーバーの起動が必要です)。

make test-proxy

プロキシ経由で特定のサンプルツールをテストします(サーバーの起動が必要です)。

make test-hello   # Test the hello tool
make test-add     # Test the calculator's add tool
MCP のサンプル

このリポジトリには、MCP 対応ツールの実装方法を示す MCP のサンプルが含まれています。

  • hello-mcp:「hello」ツールを提供するシンプルな MCP
  • calculator-mcp:計算処理を提供する MCP

サンプルをビルドし、mcps ディレクトリにインストールします。

make examples
開発タスク

Go コードをフォーマットします。

make fmt

コード解析のために Go vet を実行します。

make vet

Go の依存関係を更新し、整理します。

make tidy

ビルド成果物をクリーンアップします。

make clean

バイナリを GOPATH/bin にインストールします。

make install

ライセンス

MIT

コメント

MCP は初めてですか?

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

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