Kilnshell

com.soflutionPublished by soflution.comv1.0.5Updated Oct 29, 2026

Fast, telemetry-free local MCP: shell, files, search, processes, PDF, Excel and Word for agents.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

Local MCP server giving an AI agent terminal, file, code-search, process and document (PDF, Excel, Word) access on your machine, with no telemetry.

What you can do
  • Run shell commands and manage long-running processes: start, interact, read output, list sessions, kill
  • Read, write, edit, move and inspect files, including reading several files at once
  • Search files and code with ripgrep, with options to wait for full results or fetch more
  • Read, edit and write PDF, Excel and Word documents
  • Batch several tool calls into one request and wait for a port, file, URL or process
  • Inspect and change server config and view usage statistics
When to use it
Meant for developers who want an agent to work directly on their own machine: running commands, editing code and files, searching a repository, and handling office documents. It is a drop-in replacement for Desktop Commander aimed at lower per-call latency and no telemetry.
Requirements
Runs as a local process on the desktop (Node.js; installed as an .mcpb extension, via npx, or from a local clone). No accounts, API keys or environment variables are declared. Network access to registry.npmjs.org for the automatic update check, which can be disabled with NO_UPDATE_NOTIFIER=1 or SOFLUTION_AUTO_UPDATE=0.
Before you install
Gives the agent broad control of your machine: shell commands, file writes, edits and deletions, and process termination. Safety limits (allowedDirectories, blockedCommands, read/write line limits) live in the config file and should be reviewed. The supervisor auto-installs updates from npm every 6 hours unless disabled. The login shell environment is cached at start-up; set DESKTOP_COMMANDER_LOGIN_ENV_CACHE=0 for a fresh login shell per command.

Installation

In SourceWeft

  1. Open Kilnshell in the dashboard and add it to a workspace.
  2. 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

[Kilnshell]

Your whole machine, for AI agents. Without the wait.

Terminal, files, code search, long-running processes, PDF, Excel and Word, over MCP.
Everything Desktop Commander does, up to 100x faster per call, with no telemetry and nothing injected into your agent's context.

[CI] [MCP] [No telemetry] [Node 22.12+] [MIT]


Benchmark

[Kilnshell vs Desktop Commander, median time per tool call]

Tool callDesktop Commander 0.3.1KilnshellSpeed-up
Run a command (echo hi)696.7 ms5.7 ms122x
Run a command (git --version)703.7 ms16.2 ms43x
Read 1,000 lines of a 20k-line file41.9 ms3.2 ms13x
Edit one line (edit_block)75.7 ms6.9 ms11x
Write a file34.7 ms1.0 ms35x
File info21.8 ms1.2 ms18x
List a directory19.2 ms1.4 ms14x
Read 10 files at once191.8 ms3.5 ms55x

MacBook Pro (Apple Silicon), macOS, zsh with a typical developer profile (Homebrew and nvm), Node 25, median of 9 calls over real MCP stdio, telemetry turned off in the Desktop Commander config. The command speed-up depends on your shell profile: the heavier it is, the bigger the gain. On a bare Linux machine with an empty profile, commands are about 3x faster and file tools 3x to 6x faster.

Reproduce it on your machine:

bash
git clone https://github.com/Soflutionltd/kilnshell && cd kilnshellnpm installnpm run bench        # installs Desktop Commander 0.3.1 next to it, runs both, redraws the chart

What changed, and why it is faster

Kilnshell started as a clone of Desktop Commander 0.3.1, profiled call by call.

  1. The shell profile is read once, not on every command. Desktop Commander starts every command as zsh -l -c ..., so a profile that loads nvm, pyenv or Homebrew costs 0.5 to 1 s per command. Kilnshell runs the login profile once at start-up, keeps the environment it produces (same PATH, same variables) and starts each command with zsh -c. Set DESKTOP_COMMANDER_LOGIN_ENV_CACHE=0 to get a fresh login shell every time.
  2. No process is spawned behind your back on every call. Telemetry rebuilt its system report for each tool call, which ran python3 --version synchronously and froze the server for 10 to 25 ms, even with telemetry turned off. System facts are now computed once.
  3. Line counting uses native string scanning. Reading, editing and inspecting a file counted its lines character by character; the new count gives identical results (checked on 200,000 random inputs) about 11x faster on large files.
  4. No debug chatter. Every call used to push two to four [FEEDBACK DEBUG] log notifications to the client.
  5. Fewer round trips. For an agent, each tool call costs a full round trip, often far more than the command itself. Kilnshell adds:
    • batch: several tool calls (commands, reads, edits, searches) in one request, results numbered in order;
    • read_process_output with wait_for_exit: true: waits for the process to end and returns all its output at once, instead of polling;
    • start_search with wait: true: returns every result in one call, instead of start_search then get_more_search_results;
    • wait_for: waits until a port accepts connections, a file exists, a URL answers or a process exits, instead of sleep loops.
  6. Works at full speed inside Claude Desktop. Claude Desktop runs extensions in its own Node; the environment is captured with env -0, so the profile cache works there too, and Claude's ELECTRON_* variables never reach your commands.

What was removed

Upstream behaviourKilnshell
Usage telemetry sent to the Desktop Commander serversRemoved. Kilnshell makes no network call of its own.
Feature flags downloaded every 5 minutes from desktopcommander.appBuilt-in defaults only (KILNSHELL_FLAG_URL to host your own).
[SYSTEM INSTRUCTION] text appended to tool results, asking the model to request feedback or promote a Docker setupRemoved. Tool results contain only the tool's output.
Welcome page opened in the browser on first runRemoved.
give_feedback_to_desktop_commander toolHidden.
remote mode (relies on the Desktop Commander cloud service)Not available.

Everything else is the same code: the same tools, the same arguments, the same config file (~/.claude-server-commander/config.json), so Kilnshell is a drop-in replacement. The new tools and options are additions only.

Install

Claude Desktop: download kilnshell.mcpb and double-click it (or Settings > Extensions > Advanced settings > Install Extension). The Kilnshell icon then shows next to every tool call.

Claude Code: /plugin install kilnshell --marketplace Soflutionltd/kilnshell

Also listed in the official MCP Registry as com.soflution/kilnshell.

Cursor or any MCP client:

json
{  "mcpServers": {    "kilnshell": {      "command": "npx",      "args": ["-y", "kilnshell@latest"]    }  }}

Or from a local clone, which starts faster than npx:

bash
git clone https://github.com/Soflutionltd/kilnshell && cd kilnshell && npm install
json
{ "mcpServers": { "kilnshell": { "command": "node", "args": ["/absolute/path/to/kilnshell/bin/supervise.cjs"] } } }

Automatic updates

Every install below keeps itself up to date, without restarting Claude or Cursor. The MCP client talks to a small supervisor (bin/supervise.cjs) that stays connected while the server runs behind it. At start-up and every 6 hours it asks npm for the latest kilnshell, installs it in the background in ~/.soflution/mcp/kilnshell/, and switches over as soon as no request is in flight (the client is told the tool list may have changed). A version that fails to start is rolled back at once and never picked again on that machine. npm checks the integrity of every download, and releases are published from GitHub Actions with provenance.

The only network call is that version check to registry.npmjs.org; nothing about your machine or your use is sent. Turn it off with NO_UPDATE_NOTIFIER=1 (or SOFLUTION_AUTO_UPDATE=0). Started directly with node dist/..., kilnshell does not update itself and only mentions a newer version in its first tool result.

Tools

AreaTools
Speedbatch (several calls in one), wait_for (port, file, URL, process)
Terminalstart_process, interact_with_process, read_process_output (wait_for_exit), list_sessions, list_processes, force_terminate, kill_process
Filesread_file, read_multiple_files, write_file, edit_block, create_directory, list_directory, move_file, get_file_info
Searchstart_search (wait), get_more_search_results, stop_search, list_searches (ripgrep)
Documentswrite_pdf, plus reading and editing PDF, Excel and Word files through read_file, write_file and edit_block
Configget_config, set_config_value, get_usage_stats, get_recent_tool_calls

Security controls are unchanged: allowedDirectories, blockedCommands, file read and write line limits, all in the config file.

Develop

bash
npm installnpm run buildnpm test            # the full upstream test suite (takes several minutes)npm run bench       # Kilnshell vs Desktop Commander on this machine

Credits and license

Kilnshell is built on Desktop Commander by Eduard Ruzga and the Desktop Commander contributors, released under the MIT license. Their full history is kept in this repository. Kilnshell is an independent project, not affiliated with or endorsed by them.

MIT, © 2024-2025 Eduard Ruzga and Desktop Commander Contributors, © 2026 Soflution Ltd. See LICENSE.

En français

Kilnshell est un serveur MCP qui donne à un agent IA l'accès à votre machine : terminal, fichiers, recherche dans le code, processus, PDF, Excel et Word. C'est un clone de Desktop Commander, optimisé appel par appel : jusqu'à 100 fois plus rapide sur un Mac de développeur, sans aucune télémétrie, et sans texte publicitaire injecté dans les réponses données à l'agent. Il se remplace d'une ligne dans la configuration de Claude.

Source: README.md at commit 39fa27b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v1.0.5LatestOct 29, 2026
  2. v1.0.4Oct 26, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts