Files
m2pack-secure/docs/mcp.md
2026-04-14 11:57:13 +02:00

1.4 KiB

MCP server

mcp_server.mjs exposes the m2pack CLI as MCP tools over stdio.

This keeps the packing logic in the compiled CLI and uses MCP only as an automation layer for bots and local tooling.

Why this layout

  • the C++ binary remains the single source of truth
  • no duplicate archive logic in Python
  • Linux-native development workflow
  • works well with Codex, Claude Desktop, Inspector, and other MCP hosts

Setup

cd /path/to/m2pack-secure
npm install
cmake -S . -B build
cmake --build build -j
node mcp_server.mjs

Environment

  • M2PACK_BINARY Use this when m2pack is not located at build/m2pack.

Tool contract

pack_keygen

Inputs:

  • out_dir

pack_build

Inputs:

  • input_dir
  • output_archive
  • key_file
  • signing_secret_key_file

pack_list

Inputs:

  • archive

pack_verify

Inputs:

  • archive
  • public_key_file optional
  • key_file optional

pack_extract

Inputs:

  • archive
  • output_dir
  • key_file

pack_export_client_config

Inputs:

  • key_file
  • public_key_file
  • output_header

pack_binary_info

No input. Returns the active m2pack binary path.

Claude Desktop style config example

{
  "mcpServers": {
    "m2pack-secure": {
      "command": "node",
      "args": ["/absolute/path/to/m2pack-secure/mcp_server.mjs"],
      "env": {
        "M2PACK_BINARY": "/absolute/path/to/m2pack-secure/build/m2pack"
      }
    }
  }
}