Secure encoding-aware local workspace runtime for AI agents
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Code from the web. Work locally. Recover safely.
Scripthold is a Model Context Protocol (MCP) server that gives web, desktop, and CLI agents controlled access to explicitly authorized local workspaces. It reads and writes legacy text safely, exposes deterministic repository-oriented workflows, supports authenticated Streamable HTTP as well as stdio, and can optionally run durable asynchronous local tasks.
AI clients see ะะฐัััะพะนะบะธ โ not ???? or รร รฑรฒรฐรฎรฉรชรจ.
Scripthold detects encodings from bytes and decoded-text evidence rather than filenames, presents text to the MCP client as UTF-8, and preserves or deliberately converts encoding, BOM, and line endings through bounded-memory and durable filesystem operations.
3.1.6.Scripthold was built with Scripthold.
Lineage: Scripthold originated from the original
mcp-file-toolsproject, created by Dimitar Grigorov, and retains its GPL-3.0 lineage and permanent attribution. See Project Direction.
Scripthold 3.1.6 is the current public release. It exposes 36 tools, 3 guided prompts, 168 registered encodings, and 101 active source-intelligence providers over the same stdio and Streamable HTTP surface. source_symbols provides bounded declaration/navigation workflows; source_query adds structural search, supported project relations, fingerprint-verified context, and coherent process-local index generations. Capability claims remain provider-specific and fail closed where evidence is insufficient.
R1-R28 and the subsequent pre-R29 verification-architecture maintenance program are complete. No release-scoped milestone is currently active; R29-R33 remain planned. See CHANGELOG.md for release changes, docs/ROADMAP.md for current/future work, docs/ROADMAP_HISTORY.md for concise engineering history, and the subsystem contracts for detailed behavior.
The push-event Test Suite is the exact-commit release-candidate gate. It covers Windows/Linux/macOS native regression and race testing, Go vet, standalone Staticcheck, the repository's focused golangci-lint policy, govulncheck, deterministic fuzz checks, six supported-target cross-builds, workflow/shell validation, and native/container smoke before the aggregate Release candidate job can pass.
CodeQL adds Go code scanning on main pushes, a weekly schedule, and manual runs. Vulnerability reporting and responsible-disclosure guidance are in SECURITY.md. Secret scanning, allowed-root confinement, durable mutation/backup invariants, encoding safety, and transport security remain part of the repository's normal verification model rather than badge-only claims.
| Transport | Typical use | Security boundary | Roots behavior |
|---|---|---|---|
| stdio | Local MCP clients and secure tunnel bridges | Client configuration plus operating-system process boundary | Startup directories are authoritative; dynamic client roots are accepted only when startup roots are empty |
| Streamable HTTP | Persistent localhost services, containers, trusted proxies, explicitly secured remote services | Bearer token on every MCP request; loopback by default; TLS or trusted proxy boundary for non-loopback | Startup directories are immutable and shared by all requests; HTTP clients cannot mutate roots |
Both transports use the same BuildServer path and expose the same tools, prompts, limits, encoding behavior, error model, and execution policy.
Allowed directories are a process-wide authorization boundary. Sessions separate protocol lifecycle and cancellation; they are not per-agent filesystem ACLs. If two agents require technical isolation, run separate Scripthold processes with narrower roots and, for concurrent Git writes, separate checkouts or worktrees.
MCP 2026-07-28 is supported through the stable Go SDK. Native HTTP serves stateless modern requests beside retained stateful legacy sessions under the same outer authentication, Host/Origin, resource, logging, and execution controls. See docs/MCP_2026_07_28_ADOPTION.md and docs/HTTP_SECURITY.md.
read_text_file โ stream decoded text with bounded output and optional line numbers.read_multiple_files โ deterministic bounded batch reads with per-file status.write_whole_file โ replace complete file contents through the shared encoder.edit_file โ read-only exact edit preview with approval fingerprints and a one-shot capability.edit_file_apply โ apply only the exact prepared edit identified by previewId.patch_package โ read-only inspect/dry-run/verify for declared multi-file edits.patch_package_apply โ apply only a prepared patch-package capability.list_directory โ list directory entries with filtering and deterministic sorting.tree โ compact .gitignore-aware deterministic tree output.get_file_info โ read file or directory metadata.filesystem_package โ read-only bounded preparation for coordinated no-replace create/copy/move/delete filesystem changes.filesystem_package_apply โ apply one prepared filesystem package by one-shot previewId.search_files โ bounded .gitignore-aware glob search.source_symbols โ bounded read-only source outline, digest, find, and fingerprint-bound show navigation.source_query โ bounded R27 read-only structural search, supported project relations, and fingerprint-verified task-context assembly.fingerprint_paths โ deterministic SHA-256 state fingerprints.verify_state โ bounded typed JSON/text/Git-diff/fingerprint checks.backup_store โ read-only status/history/compare/audit plus restore/GC preparation for the optional persistent store.backup_restore_apply โ apply one prepared original-target restore.backup_gc_apply โ apply one prepared generation-bound backup GC plan.grep_text_files โ paged regex search with deterministic partial-coverage reporting.No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/scripthold)<a href="https://allmcps.com/mcp/scripthold"><img src="https://allmcps.com/api/badge/scripthold?style=directory" alt="Scripthold on AllMCPs" /></a>