디버깅 세션 중 AI agent와 개발자를 위해 MsgPack 데이터를 사람이 읽을 수 있는 텍스트와 JSON으로 디코딩합니다.
다른 이름 mlsomers/LsMsgPack, lsmsgpack
- 스타
- 37
- Tools
- 9
- 다운로드, 30일
- —
- 최신 버전
- 2026.11.12.1
- 마지막 커밋
- 2026년 11월 12일
- 라이선스
- Apache-2.0
LsMsgPack MCP란?
LsMsgPack은(는) MCP server입니다. 디버깅 세션 중 AI agent와 개발자를 위해 MsgPack 데이터를 사람이 읽을 수 있는 텍스트와 JSON으로 디코딩합니다. 9개 도구를 제공합니다. 예: msgpack_debug_status, msgpack_debug_locals, msgpack_debug_read.
프로젝트 README에서 생성된 요약
LsMsgPack MCP server 정보
LsMsgPack은 MsgPack 바이트를 AI agent와 개발자가 읽기 쉬운 JSON으로 변환해 줍니다. 이 도구는 스키마 정보와 주석이 포함된 구조화된 텍스트를 제공하여, 언어 모델이 hex나 base64 데이터를 처리할 때 겪는 어려움을 해결합니다. 활발한 디버깅 세션 중에 바이너리 데이터를 검사해야 하는 VS Code 또는 Visual Studio 개발자를 위해 설계되었습니다.
사용자는 이 server를 Claude Desktop, Cursor, Windsurf 또는 Claude Code와 같은 클라이언트에 연결할 수 있습니다. stdio를 사용하는 로컬 server로 작동하며 .NET runtime 8 이상이 필요합니다. 이 server는 IDE 디버거와 통합되어 일시 중지된 스택 프레임에서 변수를 직접 읽을 수 있으며, byte array, stream, Memory<byte>와 같은 타입을 지원합니다. 또한 디코딩된 데이터를 컴파일된 .NET assembly와 비교하는 msgpack_read_as_class나 특정 바이트 위치를 분석하는 msgpack_explain_offset과 같은 심층 검사를 위한 특화된 도구도 제공합니다.
활용 사례
- 1일시 중지된 디버거 변수 검사AI agent가 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 agent에게 어떤 도움을 주나요?
MsgPack 바이트를 텍스트나 JSON으로 디코딩합니다. 이는 언어 모델이 hex나 base64 문자열보다 훨씬 쉽게 처리할 수 있는 형태입니다.
실행 중인 디버그 세션의 데이터를 디코딩할 수 있나요?
네, VS Code 또는 Visual Studio 디버거에서 일시 중지된 프로그램 내 변수의 바이트를 읽을 수 있습니다.
LsMsgPack 형식의 데이터만 디코딩할 수 있나요?
아니요, 이 도구는 모든 MsgPack 데이터를 읽을 수 있습니다.