ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Scripthold

โดย zoster81รุ่น 4.0.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.zoster81/scripthold

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Secure encoding-aware local workspace runtime for AI agents

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ดาวน์โหลดไฟล์ .mcpb ของผู้ทำ

ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้

พิมพ์คำสั่งนี้ใน Terminal

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub zoster81 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32461 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 76% ของอีก 32461 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32461 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Scripthold ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (4.0.1) เข้า registry 11 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี MCPB ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, dotnet-mcp

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

dotnet-mcp

โดย Skymly

MCP server for .NET symbols, XAML, source generators, and restricted workspace edit

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Scripthold — Secure MCP Server for Local Workspaces

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 safely handles legacy text encodings, deterministic file changes, source navigation, backups, and optional durable local execution over stdio or authenticated Streamable HTTP.

AI clients see Настройки — not ???? or Íàñòðîéêè.

Start here: Quick start · Find a tool · All documentation · Security policy.

What Scripthold provides

Scripthold 4.x provides 36 tools and 3 guided prompts; see GitHub Releases for the latest published version. Clients upgrading from 3.x should follow the 4.0 migration guide for the unified confirmation tool. In 4.0.1, the source_symbols outline response defaults to a compact tree; pass presentation: "detailed" to retain the earlier files and symbols fields.

  • 168 registered text encodings with content-based detection, UTF-32 LE/BE support, and conservative ambiguity handling.
  • 100 active Source Intelligence providers for bounded declaration navigation, structural search, selected project relations, and verified context assembly.
  • Secure workspace boundaries with canonical-root containment, Windows reparse/junction handling, deterministic traversal, and missing-path validation.
  • Approval-bound mutations using preview/apply capabilities, exact fingerprints, conflict checks, staged writes, and truthful partial-state reporting.
  • Optional persistent backups with history, compare, audit, restore, explicit garbage collection, pinning, and exact-ID deletion.
  • Durable asynchronous tasks with idempotency, persistent state, bounded logs, recovery, locks, and cancellation.
  • Reliable long-running read-only calls through optional deferred-operation storage and bounded retained-result retrieval.
  • Authenticated Streamable HTTP with loopback defaults, bearer authentication, Host/Origin validation, resource limits, and explicit TLS/proxy requirements for non-loopback exposure.

Scripthold originated from the original mcp-file-tools project, created by Dimitar Grigorov, and retains its GPL-3.0 lineage. See Project Direction.

Quick start

Choose a published binary or build from source, then configure your MCP client to grant access only to the directories you intend to share. HTTP and container deployments have additional setup below.

Use a published release

Download the asset for your platform from the latest release and verify it against checksums.txt. Releases also attach a signed Sigstore build-provenance bundle for the normal GoReleaser assets.

Build from source
git clone https://github.com/zoster81/scripthold.git

cd scripthold go test ./... go build -o scripthold ./cmd/scripthold

The module path is github.com/zoster81/scripthold.

Local stdio client

Pass each authorized directory as a startup argument:

{

"mcpServers": { "scripthold": { "type": "stdio", "command": "C:\\Tools\\scripthold_windows_amd64.exe", "args": ["D:\\Projects"] } } }

Startup roots are authoritative. A roots-capable stdio client may supply dynamic roots only when the process starts without directory arguments.

Verified self-update

Supported standalone installations can opt in to self-update. Stop other Scripthold processes using the same binary before running scripthold update --adopt. Adoption prepares local state without downloading or replacing the executable.

After adoption, run scripthold update to verify and dispatch an available release. Use scripthold update status to confirm completion; only run scripthold update recover when status offers recovery. These actions have different safety and verification requirements.

See the Verified Self-update Guide for supported installations, exact commands, failure handling, and recovery rules.

Streamable HTTP

HTTP requires exactly one bearer-token source. A minimal loopback PowerShell launch is:

$tokenPath = Join-Path $env:TEMP "scripthold.token"

$bytes = New-Object byte[] 32 $rng = [System.Security.Cryptography.RandomNumberGenerator]::Create() try { $rng.GetBytes($bytes) } finally { $rng.Dispose() }

$env:MCP_HTTP_TOKEN_FILE = $tokenPath $env:MCP_HTTP_ADDR = "127.0.0.1:8765" .\scripthold_windows_amd64.exe --transport=streamable-http D:\Projects

The MCP endpoint is http://127.0.0.1:8765/mcp; /healthz and /readyz expose liveness/readiness. Send the token as Authorization: Bearer on every MCP request.

Do not expose HTTP beyond loopback without reading HTTP Security. Non-loopback use requires explicit opt-in and TLS or a trusted proxy boundary.

OpenAI Secure MCP Tunnel

Sanitized PowerShell examples are available under examples/:

  • start-local-stdio.ps1
  • start-local-http.ps1
  • start-openai-tunnel-stdio-plus-local-http.ps1
  • start-openai-tunnel-http-plus-local-stdio.ps1

Copy an example outside the checkout before replacing placeholders. Never commit Runtime API keys, Tunnel IDs, bearer tokens, or private state paths.

Container
docker build --build-arg VERSION=dev -t scripthold:dev .

docker run --rm -i \ --read-only \ --cap-drop=ALL \ --security-opt=no-new-privileges \ --tmpfs /tmp:rw,noexec,nosuid,size=64m \ --mount type=bind,source=/absolute/project,target=/data \ scripthold:dev --transport=stdio /data

The image runs as unprivileged UID/GID 10001.

Tool groups

TOOLS.md is the detailed public reference for schemas, parameters, examples, limits, and error behavior. The table below describes the 4.x catalog (36 tools). Clients upgrading from 3.3.6 must migrate the eight former apply commands to confirm_verified_operation.

AreaMain tools
Text/filesread_text_file, read_multiple_files, write_whole_file, edit_file, grep_text_files
Confirmationconfirm_verified_operation — one-shot approval of any prepared operation
Multi-file changespatch_package, filesystem_package
Directory/statelist_directory, tree, search_files, get_file_info, fingerprint_paths, verify_state
Encodingdetect_encoding, convert_encoding, detect_line_endings, change_line_endings, manage_bom, list_encodings
Backupsbackup_store, backup_delete
Source Intelligencesource_symbols, source_query
Markdown intelligencemarkdown_read, markdown_workspace, markdown_create, markdown_edit
Durable worktask_run, task_list, task_get, task_logs, task_cancel, deferred_operation
Servicelist_allowed_directories, check_for_updates

Source Intelligence

Source Intelligence helps agents navigate source code without running it or requiring an external compiler, parser, or language server. Use source_symbols to map project files with digest presentation: "compact", browse a tree-structured file outline by default (or request presentation: "detailed" for the previous outline JSON structure), and inspect a selected symbol; use source_query for structural search, supported project relationships, dependency graphs, and verified context. Use grep_text_files when looking for arbitrary text or code behavior that is not represented by structural symbols.

Unsupported or ambiguous relationships are rejected rather than guessed. Markdown files have their own document tools. Check the generated Language Capabilities matrix for available source providers and analysis coverage.

Markdown documents

Markdown files use dedicated tools rather than Source Intelligence providers. Read a document with markdown_read, or inspect links and relationships across files with the read-only markdown_workspace tool.

To change a document, prepare a preview with markdown_edit (or markdown_create for a new file), review the proposed content, and pass its previewId to confirm_verified_operation. Unsafe, conflicting, or stale changes are rejected instead of being silently rewritten.

For examples and the exact operation forms, see the Markdown tool reference. For Markdown semantics, supported encodings, and the Marksplice integration boundary, see Markdown Intelligence.

Safety model

  • File access is limited to explicitly authorized roots after canonical path validation.
  • Symlink, junction, reparse-point, alias, and missing-path escapes fail closed.
  • Encoding detection uses bytes and decoded-content evidence, never filenames or extensions.
  • Mutations st

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx