デバッグセッション中に、AIエージェントや開発者がMsgPackデータを人間が読みやすいテキストやJSONにデコードします。
別名 mlsomers/LsMsgPack, lsmsgpack
- スター
- 37
- ツール
- 9
- ダウンロード数(30日間)
- —
- 最新バージョン
- 2026.11.12.1
- 最終コミット
- 2026年11月12日
- ライセンス
- Apache-2.0
LsMsgPack MCPとは
LsMsgPackはMCPサーバーです。 デバッグセッション中に、AIエージェントや開発者がMsgPackデータを人間が読みやすいテキストやJSONにデコードします。. 9個のツールを提供しており、msgpack_debug_status, msgpack_debug_locals, msgpack_debug_readなどがあります。
プロジェクトのREADMEから生成された概要
LsMsgPack MCP server について
LsMsgPackは、MsgPackのバイト列をAIエージェントや開発者が読みやすいJSONに変換します。このツールは、スキーマ情報やコメントを含む構造化されたテキストを提供することで、言語モデルが16進数やbase64データの処理に苦労するという問題を解決します。VS CodeやVisual Studioを使用しており、アクティブなデバッグセッション中にバイナリデータを検査する必要がある開発者向けに設計されています。
ユーザーはこのサーバーをClaude Desktop、Cursor、Windsurf、またはClaude Codeなどのクライアントに接続できます。stdioを使用したローカルサーバーとして機能し、.NET runtime 8以降が必要です。このサーバーはIDEのデバッガーと統合されており、一時停止したスタックフレームからbyte配列、stream、Memory<byte>などの型を直接読み取ることができます。また、デコードされたデータとコンパイル済みの.NETアセンブリを比較するmsgpack_read_as_classや、特定のバイト位置を分析するmsgpack_explain_offsetなど、詳細な検査のための専用ツールも提供します。
できること
- 1一時停止中のデバッガー変数の検査AIエージェントは、VS CodeまたはVisual Studioのデバッガーで現在一時停止しているプログラムから、変数のバイト列を読み取ることができます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
LsMsgPack MCPツール 9
READMEから検出msgpack_debug_statusmsgpack_debug_localsmsgpack_debug_readmsgpack_decodemsgpack_read_as_classmsgpack_explain_offsetmsgpack_searchviewpath
| msgpack_debug_status | — | |
| msgpack_debug_locals | — | |
| msgpack_debug_read | — | |
| msgpack_decode | — | |
| msgpack_read_as_class | — | |
| msgpack_explain_offset | — | |
| msgpack_search | — | |
| view | — | |
| path | — |
自動チェック
実行日 2026年11月12日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能合格
- オープンソースライセンス (OSI)合格
- 過去1年以内にコミットまたはリリースあり合格
- パッケージ名が有名なパッケージに酷似していない未チェック
- リモートエンドポイントがHTTPSを使用未チェック
- 破壊的なツールがラベル付けされている合格
- モデルへの隠れた指示がない合格
- パッケージおよびその依存関係に重大な勧告なし未チェック
README
GitHubで見るLsMsgPack MCP server
MsgPack for AI agents. An MCP server and a command line tool that decode MsgPack data into text an AI (or a person in a terminal) can read, and that read the bytes of a variable of a program paused in the debugger of VS Code or Visual Studio.
Language models read text, not bytes. Hex or base64 costs several tokens per byte, and decoding it by hand is slow and error-prone. Some data can't be decoded from the bytes at all: LsMsgPack's indexed schema writes property names as indexes, and a schema reference holds only the 16-byte id of the schema. This tool decodes the data with the LsMsgPack library itself (the code of MsgPack Explorer) and writes it as JSON with comments:
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
}
It reads any MsgPack, not only data written by LsMsgPack. Errors come with their offset, and the values read after an error are marked.
Install
Requires the .NET runtime 8 or later.
dotnet tool install -g LsMsgPack.Mcp # the command is lsmsgpack-mcp
From source: dotnet publish LsMsgPackMcpServer -c Release -o <folder>, then run dotnet <folder>/LsMsgPackMcp.dll in place of lsmsgpack-mcp.
Add it to your agent
| Client | How |
|---|---|
| VS Code (Copilot agent mode) | Nothing to do with the MsgPack Explorer extension: it registers the server "MsgPack (LsMsgPack)". |
| Claude Code | claude mcp add lsmsgpack -- lsmsgpack-mcp |
| Visual Studio 2022 (17.14+) | %USERPROFILE%\.mcp.json (or .mcp.json next to the solution): { "servers": { "lsmsgpack": { "type": "stdio", "command": "lsmsgpack-mcp" } } } |
| Claude Desktop, Cursor, Windsurf... | { "mcpServers": { "lsmsgpack": { "command": "lsmsgpack-mcp" } } } |
In VS Code, MsgPack: Copy MCP Server Configuration... copies these: for the tool when it is installed, otherwise for the server that comes with the extension (its path has the extension's version in it, so copy it again after an update).
Tools
| Tool | What it does |
|---|---|
msgpack_debug_status |
The IDEs with the MsgPack extension, their debug sessions, and where the program is paused. |
msgpack_debug_locals |
The variables of the paused stack frame with their types. The ones that can hold bytes are marked. |
msgpack_debug_read |
Reads the bytes of an expression in the paused program and decodes them. Reads byte[], streams (seekable ones go back to their position), Memory<byte>, List<byte>, HttpContent and base64 or hex strings. In VS Code also JavaScript Uint8Array/Buffer and Python bytes. schemaStore reads the schema from the program's SchemaStore when the payload refers to one. saveTo also writes the bytes to a file. |
msgpack_decode |
Decodes data (hex, base64 or byte values), a file, or a doc decoded before. schemas takes a SchemaStore.Export (or one schema) for schema references. |
msgpack_read_as_class |
Reads the data into a class of a compiled .NET assembly (assembly: the .dll of the build output, type: the class) and reports what doesn't match: properties the class doesn't have (with "did you mean"), values that don't convert, classes without a schema entry, type ids that aren't found, with the paths of the objects (reporting differences). Also shows the object that was read. The assembly is loaded in a separate process: it runs the class's constructors and setters. |
msgpack_explain_offset |
What the byte at an offset is: the items holding it, the object member, the header and content bytes, and the bytes around it. |
msgpack_search |
The items holding a text or a value, with offsets and object paths. |
Every decoded payload gets a document id (doc1, doc2...) for follow-up calls. The output can be narrowed and switched with these options:
view:objects(default),items(the MsgPack encodings with offsets) orboth.path(e.g.Lines[2]),from/to(a byte range),maxNodes,maxString.offsetsadds the offset of every value.issuestakeserrors,allornone.endianandcontinueOnError(on by default).
Debugging
The MsgPack extensions of VS Code (MsgPack Explorer) and Visual Studio (MsgPack Debugger Extension) listen on 127.0.0.1. They write a lock file with their port and a random token to ~/.lsmsgpack/ide (%USERPROFILE%\.lsmsgpack\ide). The MCP server uses the IDE that started it, otherwise the one whose workspace holds its working directory (ide picks one when several run).
- By default only variable and member paths are read (
buffer,this._payload,response.Content,items[2].Data), no method calls. The IDE setting can allow any expression:lsmsgpack.mcp.allowAnyExpressionin VS Code (user settings only), Tools > Options > MsgPack Explorer in Visual Studio. - A stream that can't seek is consumed by reading it, so the IDE asks the user first.
- The IDE settings can turn the bridge off:
lsmsgpack.mcp.enabledin VS Code, and the same options page in Visual Studio.
Command line
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 lists the options. Without arguments it runs the MCP server on stdin/stdout.
More: docs/Mcp.md.
LsMsgPack MCPのよくある質問
LsMsgPack MCPが提供するツールは
9個のツールを提供しており、msgpack_debug_status, msgpack_debug_locals, msgpack_debug_read, msgpack_decode, msgpack_read_as_classなどがあります。
LsMsgPackはAIエージェントに対してどのような役割を果たしますか?
MsgPackのバイト列をテキストまたはJSONにデコードします。これにより、言語モデルにとって処理が困難な16進数やbase64文字列よりも、扱いやすい形式になります。
実行中のデバッグセッションからデータをデコードできますか?
はい、VS CodeまたはVisual Studioのデバッガーで一時停止しているプログラム内の変数からバイト列を読み取ることができます。
LsMsgPack形式のデータのみに対応していますか?
いいえ、このツールはあらゆるMsgPackデータを読み取ることが可能です。