MsgPack (LsMsgPack)
io.github.mlsomersv2026.10.10.2Updated Oct 10, 2026
Decodes MsgPack (LsMsgPack schemas, type ids) as text and reads it from variables while debugging.
Overview
Decodes MsgPack binary data into readable JSON and reads byte variables from a program paused in a VS Code or Visual Studio debugger.
- What it does
- The server turns MsgPack payloads into JSON with comments, resolving LsMsgPack indexed schemas so type and property ids become names. Tools decode data from hex, base64, byte values, a file, or a previously decoded document; list debug sessions and paused-frame variables; read and decode the bytes of an expression in a paused program; explain what a byte at a given offset is; search for a text or value; and read data into a class of a compiled .NET assembly to report mismatches. Decoded payloads get document ids for follow-up calls, and output can be narrowed by path, byte range, view, and offset options.
- When to use it
- Useful when an assistant needs to inspect MsgPack payloads that are hard to read as hex or base64, especially LsMsgPack data whose schema is referenced by a 16-byte id. Also useful for debugging .NET programs in VS Code or Visual Studio, where the assistant can read the bytes of a variable or member in a paused frame and decode them.
- Requirements
- Requires the .NET runtime 8 or later; installed as the global tool LsMsgPack.Mcp, command lsmsgpack-mcp, and runs locally over stdio. Debugger features need the MsgPack Explorer extension for VS Code or the MsgPack Debugger Extension for Visual Studio, which listen on 127.0.0.1 and write a port and token lock file under the user profile. No accounts, API keys, or environment variables are declared.
Installation
In SourceWeft
- Open MsgPack (LsMsgPack) in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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:
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.
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
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
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 --help lists the options. Without arguments it runs the MCP server on stdin/stdout.
More: docs/Mcp.md.
Source: LsMsgPackMcpServer/README.md at commit 7be5fc8
Tools
0Version history
1- v2026.10.10.2LatestOct 10, 2026


