describe
Describe the current Parism environment: allowed commands, available parsers, guard restrictions, and version. Call this first when using Parism to understand what commands are available and how the guard is configured.
Run shell commands and get structured JSON back instead of text to parse — behind an execution guard you can test a command against before running it.
LABSCO SUMMARY
The project benchmarked itself and printed the number that argues against it — JSON output averaged 205% heavier than raw text, with ls -la over 200 files coming to 15,531 tokens against 5,807 raw. The counterweight is the misread rate it measured on raw text: 4.18% on average, rising to 28.6% on filenames containing spaces. It also reports the context spent explaining output formats falling by an average of 61%, because the JSON describes its own shape. Whether the trade pays depends on whether the output feeds a next step or is simply read once.
A shell execution gateway. Commands run through a guard and the output comes back as structured data alongside the original text: a directory listing arrives as objects with permissions, owner, size and modification time rather than a line to split. The parser is chosen for the operating system, so the same command reads the same way on macOS and on Linux.
Published as @nerdvana/parism and launched over stdio. It executes shell commands on the machine it runs on, behind a whitelist and injection filtering — describe reports what the current configuration permits and dry_run tests a specific command against it. The primary documentation and specification are written in Korean, with an English README alongside.
One command — npx -y @nerdvana/parism
USE CASES
Entries come back as objects with type, name, permissions, size, owner and modification time, so nothing is inferred from column positions.
Paginated stdout with the total reported, so a long process list or recursive search does not arrive as one unbounded block.
dry_run puts the command through the guard without executing, and describe explains what the guard allows in the first place.
The operating system is detected and the matching parser used, so output-format differences do not reach the agent at all.
With includeDiff switched on, the response lists created, deleted and modified files rather than leaving you to check afterwards.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
describeDescribe the current Parism environment: allowed commands, available parsers, guard restrictions, and version. Call this first when using Parism to understand what commands are available and how the guard is configured.
dry_runCheck whether a command would pass the execution guard WITHOUT actually running it. Use this to pre-validate commands before calling run, especially for unfamiliar commands.
runExecute a shell command and receive structured output. All commands are filtered through an execution guard (whitelist + injection prevention). Use format='compact' for token-efficient columnar output.
run_pagedExecute a shell command and return paginated stdout. Use this for commands with large output (ps aux, find, grep -r). Returns page_info with total_lines and has_next for navigation.
BEFORE YOU INSTALL
4 tools when we connected.
npx on PATH
All 6 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 4 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @nerdvana/parism{
"mcpServers": {
"parism": {
"command": "npx",
"args": [
"-y",
"@nerdvana/parism"
]
}
}
}{
"mcpServers": {
"parism": {
"command": "npx",
"args": [
"-y",
"@nerdvana/parism"
]
}
}
}Parism loads prism.config.json (its guard settings) relative to the server's working directory; to scope it to one project, add "cwd" set to that project's folder.
[mcp_servers.parism]
command = "npx"
args = ["-y", "@nerdvana/parism"]Codex reads MCP servers from ~/.codex/config.toml; add this there. Parism loads prism.config.json (its guard settings) relative to the server's working directory; to scope it to one project, add "cwd" set to that project's folder.
{
"mcpServers": {
"parism": {
"command": "npx",
"args": [
"-y",
"@nerdvana/parism"
]
}
}
}This is the GitHub Copilot CLI format: add it to ~/.copilot/mcp-config.json (create the file if it does not exist). Copilot in VS Code reads a "servers" block instead. Parism loads prism.config.json (its guard settings) relative to the server's working directory; to scope it to one project, add "cwd" set to that project's folder.