mcpField
M
MsgPack (LsMsgPack)

MsgPack (LsMsgPack)

ローカル
github.com開発ツール35今日更新

MsgPack (LsMsgPack) について

MsgPack データを、AI エージェントや人が読めるテキストにデコードする MCP サーバー兼コマンドラインツールです。VS Code や Visual Studio でブレークポイント停止中のプログラムの変数バイト列も読み取れます。MsgPack のペイロードをデバッグする開発者を対象としています。

主な機能

  1. 01MsgPack をコメント付きの JSON に変換
  2. 02LsMsgPack のインデックススキーマと型 ID の解決
  3. 03デバッグ中の変数からのバイト列の読み取り
  4. 04コンパイル済み .NET クラスとのデータ照合
  5. 05オフセット指定によるバイトの説明と値の検索
  6. 06コマンドラインからの利用

活用シーン

  1. 01停止中のプログラムにある MsgPack ペイロードの確認
  2. 02MsgPack データと .NET クラスのプロパティの不一致の調査
  3. 03ターミナルや AI アシスタントでのバイナリメッセージの表示

MCP 対応

MCP サーバーとして、msgpack_decode や msgpack_debug_read などのツールを MCP クライアントに提供し、データのデコードとデバッグセッションからのバイト読み取りを行います。

設定

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

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

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

リポジトリ
パッケージ
nugetLsMsgPack.Mcp2026.10.27.1

ツール

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

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

詳細

LsMsgPack MCP サーバー

AI エージェント向け MsgPack。MCP サーバー兼コマンドラインツールです。MsgPack データを、AI(またはターミナルを使う人)が読めるテキストにデコードします。また、デバッガーで一時停止している VS Code または Visual Studio のプログラム内にある変数のバイト列を読み取ります。

言語モデルが読めるのはテキストであり、バイト列ではありません。16 進数や Base64 では、1 バイトあたり複数のトークンが必要になり、手作業でのデコードは時間がかかり、エラーも発生しやすくなります。バイト列からはデコードできないデータもあります。LsMsgPack のインデックス付きスキーマではプロパティ名がインデックスとして書き込まれ、スキーマ参照にはスキーマの 16 バイトの ID しか含まれません。このツールは LsMsgPack ライブラリそのもの(MsgPack Explorer のコード)を使ってデータをデコードし、コメント付きの JSON として出力します。

MsgPack "doc1" 247 bytes from payload (byte[], Launch Api).
Structure: indexed schema (inline, 3 types) followed by the body
No errors, 0 warnings or comments.
Schema (inline): type ids and property ids in the body are indexes into these lists.
  #0 Invoice: Id, Customer, Billing, Lines, Date, Reference, Tags
  #1 Address: Street, Number, City
  #2 Line: Product, Quantity, Price

Objects (JSON with // comments: a type name comes from a type id, a name with ~ is inferred from the schema; dictionary keys that are not strings are not quoted):
{ // Invoice~
  "Id": 1234,
  "Customer": "Alice",
  "Billing": { "Street": "Main street", "Number": 12, "City": "Amsterdam" }, // Address~
  "Lines": [ // 2 items
    { "Product": "Apples", "Quantity": 3, "Price": 1.25 }, // Line~, Price: decimal
    { "Product": "Pears", "Quantity": 2, "Price": 0.99 } // Line~, Price: decimal
  ],
  "Date": "2026-10-05T12:30:00Z", // timestamp
  "Reference": "5bad8f0fcbd99f46a16570867728950e", // bin, 16 bytes, as Guid 0f8fad5b-d9cb-469f-a165-70867728950e
  "Tags": ["fruit", "fresh"] // 2 items
}

LsMsgPack で書き込まれたデータに限らず、あらゆる MsgPack を読み取ります。エラーにはオフセットが示され、エラー後に読み取られた値には印が付きます。

インストール

.NET ランタイム 8 以降が必要です。

dotnet tool install -g LsMsgPack.Mcp      # the command is lsmsgpack-mcp

ソースからビルドする場合:dotnet publish LsMsgPackMcpServer -c Release -o <folder> を実行し、lsmsgpack-mcp の代わりに dotnet <folder>/LsMsgPackMcp.dll を実行してください。

エージェントへの追加

クライアント方法
VS Code(Copilot エージェントモード)MsgPack Explorer 拡張機能がサーバー「MsgPack (LsMsgPack)」を登録するため、操作は不要です。
Claude Codeclaude mcp add lsmsgpack -- lsmsgpack-mcp
Visual Studio 2022(17.14 以降)%USERPROFILE%\.mcp.json(またはソリューションの隣にある .mcp.json):{ "servers": { "lsmsgpack": { "type": "stdio", "command": "lsmsgpack-mcp" } } }
Claude Desktop、Cursor、Windsurf など{ "mcpServers": { "lsmsgpack": { "command": "lsmsgpack-mcp" } } }

VS Code では、MsgPack: Copy MCP Server Configuration... を使って設定をコピーできます。ツールがインストールされている場合はツールの設定がコピーされ、それ以外の場合は拡張機能に付属するサーバーの設定がコピーされます(そのパスには拡張機能のバージョンが含まれるため、更新後に再度コピーしてください)。

ツール

ツール機能
msgpack_debug_statusMsgPack 拡張機能がインストールされた IDE、デバッグセッション、およびプログラムが一時停止している場所を表示します。
msgpack_debug_locals一時停止中のスタックフレームの変数とその型を表示します。バイトを保持できる変数には印が付きます。
msgpack_debug_read一時停止中のプログラム内の式のバイトを読み取り、デコードします。byte[]、ストリーム(シーク可能なストリームは元の位置に戻ります)、Memory<byte>、List<byte>、HttpContent、および base64 または hex 文字列を読み取ります。VS Code では JavaScript の Uint8Array/Buffer と Python の bytes も読み取ります。ペイロードがスキーマを参照している場合、schemaStore はプログラムの SchemaStore からスキーマを読み取ります。saveTo を指定すると、バイトをファイルにも書き込みます。
msgpack_decodedata(hex、base64、またはバイト値)、file、あるいは事前にデコードした doc をデコードします。スキーマ参照には、schemas に SchemaStore.Export(または単一のスキーマ)を指定します。
msgpack_read_as_classコンパイル済み .NET アセンブリ(assembly:ビルド出力の .dll、type:クラス)のクラスにデータを読み込み、一致しない内容を報告します。クラスにないプロパティ(「もしかして」候補も表示)、変換できない値、スキーマエントリのないクラス、見つからない型 ID と、オブジェクトのパスを示します(差異の報告)。読み込んだオブジェクトも表示します。アセンブリは別プロセスで読み込まれ、そのクラスのコンストラクターとセッターが実行されます。
msgpack_explain_offsetオフセット位置のバイトについて、それを含む項目、オブジェクトのメンバー、ヘッダーと内容のバイト、および周辺のバイトを表示します。
msgpack_searchテキストまたは値を含む項目を、オフセットとオブジェクトのパスとともに表示します。

デコードされた各ペイロードには、後続の呼び出しで使用するドキュメント ID(doc1、doc2 など)が付与されます。次のオプションで出力を絞り込んだり、表示を切り替えたりできます。

  • view:objects(デフォルト)、items(オフセット付きの MsgPack エンコード)、または both。
  • path(例:Lines[2])、from/to(バイト範囲)、maxNodes、maxString。
  • offsets を指定すると、すべての値のオフセットが追加されます。issues には errors、all、または none を指定します。
  • endian と continueOnError(デフォルトで有効)。

デバッグ

VS Code の MsgPack 拡張機能(MsgPack Explorer)と Visual Studio の拡張機能(MsgPack Debugger Extension)は、127.0.0.1 で接続を待ち受けます。ポートとランダムなトークンを記録したロックファイルを ~/.lsmsgpack/ide(%USERPROFILE%\.lsmsgpack\ide)に書き込みます。MCP サーバーは、起動元の IDE を使用します。起動元がない場合は、作業ディレクトリをワークスペースに含む IDE を使用します(複数の IDE が起動している場合は、ide がいずれかを選択します)。

  • デフォルトでは、変数とメンバーのパス(buffer、this._payload、response.Content、items[2].Data)のみが読み取られ、メソッド呼び出しは行われません。IDE の設定で任意の式を許可できます。VS Code では lsmsgpack.mcp.allowAnyExpression(ユーザー設定のみ)、Visual Studio では[ツール]>[オプション]>[MsgPack Explorer]を設定します。
  • シークできないストリームは読み取りによって消費されるため、IDE は事前にユーザーに確認します。
  • IDE の設定でブリッジを無効にできます。VS Code では lsmsgpack.mcp.enabled、Visual Studio では同じオプションページで設定します。

コマンドライン

lsmsgpack-mcp decode payload.msgpack                # the objects
lsmsgpack-mcp decode payload.msgpack --view items   # the items with offsets and encodings
lsmsgpack-mcp decode --data "82 a4 4e 61 6d 65 ..." # bytes as text
lsmsgpack-mcp explain payload.msgpack 0x7b          # what the byte at 0x7b is
lsmsgpack-mcp search payload.msgpack Amsterdam
lsmsgpack-mcp read-as payload.msgpack --assembly bin/Debug/net8.0/MyApp.dll --type Order   # what doesn't match the class
lsmsgpack-mcp debug status | debug locals | debug read <expression>

lsmsgpack-mcp --help でオプションを確認できます。引数なしで実行すると、標準入力/標準出力で MCP サーバーが起動します。

詳細:docs/Mcp.md。

コメント

MCP は初めてですか?

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

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