Skip to Content

MastraMCPClient(非推奨)

MastraMCPClientクラスは、Model Context Protocol(MCP)サーバーと対話するためのクライアント実装を提供します。これは接続管理、リソース検出、およびMCPプロトコルを通じたツール実行を処理します。

廃止予告

MastraMCPClientMCPClientに代わって廃止されます。単一のMCPサーバーと複数のMCPサーバーを管理するための2つの異なるインターフェースを持つのではなく、単一のMCPサーバーを使用する場合でも、複数を管理するためのインターフェースを使用することを推奨することにしました。

コンストラクタ

MastraMCPClientの新しいインスタンスを作成します。

constructor({ name, version = '1.0.0', server, capabilities = {}, timeout = 60000, }: { name: string; server: MastraMCPServerDefinition; capabilities?: ClientCapabilities; version?: string; timeout?: number; })

パラメータ


name:

string
このクライアントインスタンスの名前識別子。

version?:

string
= 1.0.0
クライアントのバージョン。

server:

MastraMCPServerDefinition
stdioサーバー接続またはSSEサーバー接続のいずれかの構成パラメータ。ログハンドラーとサーバーログの構成を含めることができます。

capabilities?:

ClientCapabilities
= {}
クライアントのオプション機能構成。

timeout?:

number
= 60000
クライアントツール呼び出しのタイムアウト時間(ミリ秒)。

MastraMCPServerDefinition

MCPサーバーはこの定義を使用して構成できます。クライアントは提供されたパラメータに基づいて自動的にトランスポートタイプを検出します:

  • commandが提供されている場合、Stdioトランスポートを使用します。
  • urlが提供されている場合、最初にStreamable HTTPトランスポートを試み、初期接続が失敗した場合はレガシーSSEトランスポートにフォールバックします。

command?:

string
Stdioサーバーの場合:実行するコマンド。

args?:

string[]
Stdioサーバーの場合:コマンドに渡す引数。

env?:

Record<string, string>
Stdioサーバーの場合:コマンドに設定する環境変数。

url?:

URL
HTTPサーバー(Streamable HTTPまたはSSE)の場合:サーバーのURL。

requestInit?:

RequestInit
HTTPサーバーの場合:fetch APIのリクエスト構成。

eventSourceInit?:

EventSourceInit
SSEフォールバックの場合:SSE接続のカスタムフェッチ構成。SSEでカスタムヘッダーを使用する場合に必要です。

logger?:

LogHandler
ロギング用のオプションの追加ハンドラー。

timeout?:

number
サーバー固有のタイムアウト(ミリ秒)。

capabilities?:

ClientCapabilities
サーバー固有の機能構成。

enableServerLogs?:

boolean
= true
このサーバーのロギングを有効にするかどうか。

LogHandler

LogHandler関数はLogMessageオブジェクトをパラメータとして受け取り、voidを返します。LogMessageオブジェクトには以下のプロパティがあります。LoggingLevelタイプはdebuginfowarnerrorの値を持つ文字列列挙型です。


level:

LoggingLevel
ログレベル(debug、info、warn、error)

message:

string
ログメッセージの内容

timestamp:

Date
ログが生成された時間

serverName:

string
ログを生成したサーバーの名前

details?:

Record<string, any>
オプションの追加ログ詳細

LogHandler

LogHandler関数はLogMessageオブジェクトをパラメータとして受け取り、voidを返します。LogMessageオブジェクトには以下のプロパティがあります。LoggingLevel型はdebuginfowarnerrorの値を持つ文字列列挙型です。


level:

LoggingLevel
ログレベル(debug、info、warn、error)

message:

string
ログメッセージの内容

timestamp:

Date
ログが生成された時間

serverName:

string
ログを生成したサーバーの名前

details?:

Record<string, any>
オプションの追加ログ詳細

command?:

string
Stdioサーバーの場合:実行するコマンド。

args?:

string[]
Stdioサーバーの場合:コマンドに渡す引数。

env?:

Record<string, string>
Stdioサーバーの場合:コマンドに設定する環境変数。

url?:

URL
HTTPサーバー(Streamable HTTPまたはSSE)の場合:サーバーのURL。

requestInit?:

RequestInit
HTTPサーバーの場合:fetch APIのリクエスト構成。

eventSourceInit?:

EventSourceInit
SSEフォールバックの場合:SSE接続のカスタムフェッチ構成。SSEでカスタムヘッダーを使用する場合に必要です。

logger?:

LogHandler
ロギング用のオプションの追加ハンドラー。

timeout?:

number
サーバー固有のタイムアウト(ミリ秒)。

capabilities?:

ClientCapabilities
サーバー固有の機能構成。

enableServerLogs?:

boolean
= true
このサーバーのロギングを有効にするかどうか。

LogHandler

LogHandler関数はLogMessageオブジェクトをパラメータとして受け取り、voidを返します。LogMessageオブジェクトには以下のプロパティがあります。LoggingLevelタイプはdebuginfowarnerrorの値を持つ文字列列挙型です。


level:

LoggingLevel
ログレベル(debug、info、warn、error)

message:

string
ログメッセージの内容

timestamp:

Date
ログが生成された時間

serverName:

string
ログを生成したサーバーの名前

details?:

Record<string, any>
オプションの追加ログ詳細

LogHandler

LogHandler関数はLogMessageオブジェクトをパラメータとして受け取り、voidを返します。LogMessageオブジェクトには以下のプロパティがあります。LoggingLevel型はdebuginfowarnerrorの値を持つ文字列列挙型です。


level:

LoggingLevel
ログレベル(debug、info、warn、error)

message:

string
ログメッセージの内容

timestamp:

Date
ログが生成された時間

serverName:

string
ログを生成したサーバーの名前

details?:

Record<string, any>
オプションの追加ログ詳細

関連情報