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

Local Workspace MCP

โดย peter4leadsonรุ่น 0.2.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.peter4leadson/local-workspace-mcp

ติดตั้ง

ภาพรวม

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

Bounded, read-oriented filesystem, git and named-task tools over authorized workspace roots.

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เอกสาร ตาราง และงานออฟฟิศ

ติดตั้ง

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

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

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

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

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "local-workspace": {
      "command": "npx",
      "args": [
        "-y",
        "local-workspace-mcp"
      ]
    }
  }
}

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

claude mcp add local-workspace -- npx -y local-workspace-mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "local-workspace": {
      "command": "npx",
      "args": [
        "-y",
        "local-workspace-mcp"
      ]
    }
  }
}

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

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "local-workspace": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "local-workspace-mcp"
      ]
    }
  }
}

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

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

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

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด เอกสาร ตาราง และงานออฟฟิศi

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

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

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

Local Workspace MCP ปลอดภัยไหม?

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

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

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

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

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

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

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

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

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

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

ในหมวดเดียวกันมี Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

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

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

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

Agent-Native Calendar

โดย BuilderIO

Agent-Native Google Calendar - manage events, sync, and public booking

รันบนคลาวด์★ 7,620MITอัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

Excel MCP Server

โดย haris-musa

ให้ AI สร้างและแก้ไฟล์ Excel ได้เอง ทั้งสูตร กราฟ และ PivotTable โดยไม่ต้องมีโปรแกรม Excel ในเครื่อง

รันบนเครื่อง★ 4,276MITอัปเดต 6 วันที่ผ่านมา
ติดตั้ง

MCP Server for Excel

โดย sbroenne

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

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

README จากผู้ทำ

เปิดอ่าน README

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

local-workspace-mcp

Your AI assistant needs context. It does not need unrestricted access.

A read-oriented MCP server for local workspaces. Write, delete, and arbitrary-shell tools do not exist in it. Not gated or disabled: absent. Every filesystem path is checked against operator-authorized roots and a default-deny list for secrets, .env files, private keys, and .git internals. Git read tools and operator-declared named tasks provide bounded capability without giving the model a shell.

  • 23 tools over stdio JSON-RPC: bounded filesystem reads/searches, read-only git (status/diff/log/show/branches), multimodal file inspection (images/archives/PDF/Office), and task_run for explicitly allowlisted commands.
  • One transport: each MCP host spawns workspace-mcp serve --stdio. The server itself has no inbound listener, keeps no daemon, and makes no network calls (allowlisted tasks run as your user and are not network-restricted; the ChatGPT tunnel path below runs a supervised tunnel-client process instead of a host-spawned one).
  • Honest scope: task_run executes real commands as your user. The allowlist bounds _what can be invoked_, not what invoked code can do. It is not a sandbox.

Evaluating this for team use? Start at docs/THREAT-MODEL.md and SECURITY.md.

Contents: The problem · Quick start · Usage · Tool surface · Supported hosts · Permission model · What it will not do · Security architecture · Configuration · Troubleshooting · Compatibility · Verifying the build · Release status

The problem

Hosts' built-in file tools are convenient but live in the client's permission loop, the same loop users bypass out of fatigue (--dangerously-skip-permissions, "yes to everything"). The official @modelcontextprotocol/server-filesystem ships read and write tools with no default secrets denylist, and has already overwritten a user's .env (upstream issue #1869). Generic filesystem MCPs give a model file access; they do not give it _bounded_ access.

This server moves the boundary server-side: roots, deny rules, task allowlists, and audit live in an operator config that repository content cannot widen. A compromised or bypassed prompt loop cannot invoke a tool that does not exist.

Quick start

Requires Node ≥ 20, plus git for git_* tools and ripgrep (rg) for content search. Building from a clone needs pnpm (corepack enable).

npm install -g local-workspace-mcp          # puts workspace-mcp on PATH

or from a clone:

pnpm install && pnpm build && npm link

workspace-mcp init-config # writes ~/.config/local-workspace-mcp/config.json (mode 600)

REQUIRED: replace the example workspace path with a real absolute path —

any editor works; doctor fails until you do

nano ~/.config/local-workspace-mcp/config.json

workspace-mcp doctor # must print "doctor: ALL GREEN" (use --json for CI)

The generated config ships a placeholder workspace named example — replace it with a real root or doctor will report root.example FAIL. A healthy run ends:

PASS policy.selftest — 9/9 cases correct

PASS mcp.startup — tool registration ok doctor: ALL GREEN

Minimal working config (strict JSON — no comments or trailing commas):

{

"version": 1, "workspaces": { "myproj": { "path": "/absolute/path/to/repo", "tasks": [] } }, "tasks": {}, "deny": [] }

Then register the server with a host. For Claude Code:

claude mcp add local-workspace --scope user -- workspace-mcp serve --stdio

claude mcp list # confirm it registered

Other hosts use config-file entries (below — substitute the absolute path from which workspace-mcp). Then ask: _"use workspace_roots, then fs_list on myproj"_. First useful call sequence: fs_list → git_status → git_diff on uncommitted work, where a chat client otherwise has no eyes.

Usage examples

# what the assistant can ask for

workspace_roots # authorized workspace ids, no host paths fs_list {workspace:"myproj"} fs_read {workspace:"myproj", path:"src/index.ts", startLine:1, maxLines:120} fs_search_content {workspace:"myproj", query:"TODO"} # literal; regex:true for rg syntax git_status {workspace:"myproj"} # branch, HEAD, uncommitted truth git_diff {workspace:"myproj"} # worktree diff, bounded output git_show {workspace:"myproj", spec:"HEAD"} task_list {workspace:"myproj"} task_run {workspace:"myproj", taskId:"typecheck"}

Denied behavior is explicit, never silent:

fs_read {workspace:"myproj", path:".env"}              → ACCESS_DENIED  (or NOT_FOUND if absent)

fs_read {workspace:"myproj", path:"../../outside-root.txt"} → OUTSIDE_ROOT task_run {workspace:"myproj", taskId:"nuke"} → TASK_DENIED (valid id, not enabled) task_run {workspace:"myproj", taskId:"rm -rf /"} → INVALID_ARGUMENT (malformed task id) git_show {workspace:"myproj", spec:"--exec"} → INVALID_ARGUMENT

Denial codes are the policy working as intended, not errors to report; widening access happens only in the operator config. Task/search timeouts and output limits return timedOut:true/truncated:true in a normal result rather than an error. INTERNAL_ERROR covers spawn/tool failures and should not appear in healthy use; git_* on a non-git root returns {repo:false} gracefully.

Tool surface

All 23 tools, annotated readOnlyHint where true (hosts can auto-approve pure reads). task_run is the only tool with side effects.

ToolScopeNotes
fs_inspectone filemagic-byte kind detection (image/zip/ooxml/pdf/text/binary), dims, sha256, openWith hints
fs_imageone imagenative MCP image block (original bytes by default; frame/fitMaxDim/format transforms disclosed); svg scanned then rasterized
fs_contact_sheet≤24 imageslabeled montage; per-item authz + per-item failure cells; bounded output
fs_archive_listone zipmember table (sizes, ratio, encrypted, denied/unsafe flags); paginated, capped
fs_archive_entryone memberimage → native block, text → bounded text, other → refusal; traversal/symlink/nested members fail closed
fs_pdf_infoone pdfpage count, text-layer presence (PDFium/WASM)
fs_pdf_page≤4 pdf pagesrendered pages as native image blocks; pixel-bounded
fs_pdf_text≤50 pdf pagesbounded text extraction; image-only pages reported honestly
fs_office_textone ooxmldocx paragraphs / pptx slides / xlsx cells; macros flagged never executed; legacy OLE refused
workspace_rootsreads configworkspace ids + availability; never host paths
fs_listone directorybounded, paginated; denied entries flagged by class
fs_statone pathmetadata; symlink resolution disclosed
fs_readone fileline-range, byte-capped; binary refused
fs_read_manybatchper-file inline errors, total cap
fs_search_filesfilenamesglob; git file universe where a repo exists (honors .gitignore at the repo toplevel); bounded directory walk otherwise
fs_search_contentfile contentsripgrep --json; literal or regex:true; time/count bounded
git_statusrepobranch, HEAD, staged/modified/deleted/renamed/untracked
git_diffrepoworktree/staged/ref diff; bounded; denied paths redacted
git_logrepo≤100 commits
git_showrepocommits/tags and ref:path blobs; strict ref validation
git_branchesrepobranches, upstreams, worktrees (host paths redacted)
task_listconfigtask ids enabled per workspace
task_runsubprocessallowlisted argv only; shell:false; caps on time/output

Supported hosts

HostMechanismStatus
Claude Codeclaude mcp add local-workspace --scope user -- workspace-mcp serve --stdio; confirm with claude mcp listverified
Claude DesktopmcpServers entry in claude_desktop_config.json; restart appconfigured
Codex CLImcp_servers stdio entry in ~/.codex/config.tomlsupported
ChatGPT / Responses APIOpenAI Secure MCP Tunnel (openai/tunnel-client, outbound-only); see the tunnel notes and cloud disclosure below this tableChatGPT image verified; Responses untested
MCP Inspectorscripts/inspector-smoke.sh battery, 17 checksverified

GUI hosts (Claude Desktop especially) spawn servers with a minimal PATH, not your shell's.

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

ถาม PopNx