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

Fedit

โดย amalexicoรุ่น 1.12.0i★ –i–
ชื่อใน registryio.github.kehsiaocuba-ux/fedit

ติดตั้ง

ภาพรวม

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

Go MCP server for surgical file edits: insert, replace, move, copy, dry-run, verified replaceall.

สามเสาของ PopNx MCP

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

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

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

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

ติดตั้ง

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

ก่อนติดตั้ง

ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง

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

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

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

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

  • ! ควรระวัง

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

    ผู้ลงทะเบียน (kehsiaocuba-ux) ไม่ใช่เจ้าของ repo (amalexico) อาจเป็นคนอื่นที่นำมาลงต่อ

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code

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

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Asset Notation

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

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อัปเดต เมื่อวานซืน
ติดตั้ง

Asset Notation

โดย assetnotation

Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.

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

README จากผู้ทำ

เปิดอ่าน README

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

fedit — Fast File Editor for the Terminal

A zero-dependency CLI tool for surgical file edits from the command line. No interactive editors. No sed/awk gymnastics. Just simple, predictable operations with built-in verification.

Built for sysadmins, DevOps engineers, and anyone who scripts config changes.

go install github.com/amalexico/fedit@latest

Why fedit?

  • One binary, zero dependencies — pure Go, runs everywhere
  • 21 language mappers — see the structure of any file before editing
  • -v flag — verify every mutation before moving on
  • Line-aware — no regex surprises, no "which match did it hit?"
  • Stream engine — process multi-GB files line-by-line with atomic integrity
  • Field extraction — pull CSV/TSV column N without awk
  • Many files at once — a comma list or glob in -file, plus cross-file copy, move and replace with -dest (since v1.9.0)
  • Safe — no in-place unless you say so, never touches files you did not name

Install

Go install (recommended):

go install github.com/amalexico/fedit@latest

Or download the binary from GitHub Releases and put it in your PATH.

Verify:

fedit -file /etc/hostname -op show

Quick Start

# See what is in a file

fedit -file config.yaml -op show

See just lines 10-25

fedit -file config.yaml -op show -line 10 -end 25

Find every line containing "timeout"

fedit -file config.yaml -op find -match "timeout"

See the structure of a Go file

fedit -file main.go -op map -lang go

Replace line 42 with new content

fedit -file config.yaml -op replace -line 42 -end 42 -text "timeout: 60s" -v

Insert a line after every occurrence of "server {"

fedit -file nginx.conf -op insertafter -match "server {" -text " include security.conf;" -v

Move a function block before another (content-matched, atomic)

fedit -file main.go -op move -match "func OldHelper(" -end 45 -beforematch "func NewHelper(" -v

Copy a config block and paste it 3 times at a new location

fedit -file values.yaml -op copy -line 50 -end 65 -after 200 -times 3 -v

Extract column 2 from a TSV file (v1.4+)

fedit -file data.tsv -op fields -col 2

Write content with literal backslashes — no \n escape expansion (v1.6.0)

fedit -file config.txt -op writeraw -text "path=C:\\Users\\admin"

Hex-encode tricky text to sidestep shell quoting (v1.6.0)

fwencode produces the hex; fedit decodes it before writing

fedit -file config.txt -op write -texthex 706174683d2f746d70

Overwrite a file cleanly then insert new content (v1.6.0)

fedit -file config.txt -op insert -line 0 -cleanfirst -text "# regenerated"

Get bare line numbers for scripting (v1.6.0)

fedit -file main.go -op find -match "TODO" -x 2>$null

Regex replace on a multi-GB log without loading it into memory (v1.4+)

fedit -file huge.log -op replaceall -match 'ERROR' -text 'WARN' -stream


All Operations

show — Display file contents
# Entire file

fedit -file app.conf -op show

Lines 50-75 only

fedit -file app.conf -op show -line 50 -end 75

Last 10 lines

fedit -file app.conf -op show -line -10:

Lines 50 to 5th from end

fedit -file app.conf -op show -line 50 -end -5

Lines 100-103 (relative range)

fedit -file app.conf -op show -line 100:+3

Show from one anchor to another (no line numbers needed)

fedit -file config.go -op show -match "func Start" -endmatch "func End"


find — Search for lines matching a substring
# Find all lines containing "ERROR"

fedit -file /var/log/app.log -op find -match "ERROR"

Output includes context lines and occurrence numbers

Use -nth to target a specific match in other operations

Pro tip: Run find first to get line numbers, then use replace or delete with exact lines.


insert — Insert content after a line number
# Insert a comment after line 1

fedit -file script.sh -op insert -line 1 -text "# Added by deploy script" -v

Insert multiple lines from a file

fedit -file config.yaml -op insert -line 10 -textfile extra-config.yaml -v


insertafter — Insert after a matching line (RECOMMENDED)
# Add a firewall rule after the matching comment

fedit -file iptables.rules -op insertafter -match "# Custom rules" -text "-A INPUT -p tcp --dport 8080 -j ACCEPT" -v

Target the 2nd occurrence

fedit -file nginx.conf -op insertafter -match "server {" -nth 2 -text " listen 8443 ssl;" -v

Target the last occurrence

fedit -file docker-compose.yml -op insertafter -match "volumes:" -nth -1 -text " - /data:/data" -v


insertbefore — Insert before a matching line (RECOMMENDED)
# Add a header before the first route definition

fedit -file routes.rb -op insertbefore -match "get '/'" -text " # === Public Routes ===" -v

Insert a dependency before the closing bracket

fedit -file package.json -op insertbefore -match "}" -nth -1 -textfile new-deps.txt -v


replace — Replace a line range with new content
# Replace a single line

fedit -file config.ini -op replace -line 15 -end 15 -text "max_connections = 200" -v

Replace the one line that contains a text (no end bound needed; after v1.12.0)

fedit -file config.ini -op replace -match "max_connections" -text "max_connections = 200" -v

Replace from a matched line through line 35 (-match with -end; after v1.12.0)

fedit -file server.conf -op replace -match "[cache]" -end 35 -textfile patched-block.txt -v

Replace lines 30-35 with content from a patch file

fedit -file server.conf -op replace -line 30 -end 35 -textfile patched-block.txt -v

Replace a section by content anchors (no line numbers needed)

fedit -file CHANGELOG.md -op replace -match "## v1.6" -endmatch "## v1.5" -textfile new-section.txt -v


replaceall — Global find-and-replace
# Change all occurrences of old domain to new

fedit -file nginx.conf -op replaceall -match "old.example.com" -text "new.example.com" -v

Update a version string everywhere

fedit -file Makefile -op replaceall -match "1.1.0" -text "1.2.0" -v

  • Every replaceall is verified by default: after the write, fedit re-reads the file from disk and prints VERIFY: PASS or VERIFY: FAIL followed by the changed lines. This covers a single file, -match-regex, -stream, -files and a file list in -file, and fedit_replaceall over MCP. -v adds a context window for every match (not printed with -stream).
  • Exit codes for replaceall: 0 ok, 1 the edit did not happen, 3 the file was written but verification failed or could not be done. With several files, one FAIL file makes the exit code 3 even when the others succeeded, and the MCP result is an error.
  • -files GLOB prints the same per-file report as a file list in -file: one OK, SKIP or FAIL line per file, then multi -file replaceall: N/M file(s) succeeded. An OK line reads OK PATH replaced on N line(s); VERIFY: PASS, a file without the text is a SKIP (No lines contain: TEXT) and is never modified. Exit code 0 if at least one file succeeded and none failed (SKIP files do not change that), 1 if none succeeded, 3 if any file is FAIL.

fields -- Extract a column from delimited files (v1.4.0)
# Extract column 2 from a tab-separated file (default delimiter: tab)

fedit -file data.tsv -op fields -col 2

Extract the third field from a CSV

fedit -file report.csv -op fields -col 3 -delim ","

Extract usernames from /etc/passwd (colon-delimited)

fedit -file /etc/passwd -op fields -col 1 -delim ":"

Output goes to stdout for piping. Lines shorter than -col are skipped silently. Always streaming -- no memory limit regardless of file size.

-stream -- Large-file streaming mode (v1.4.0)

Add -stream to replaceall or find to process files line-by-line without loading them into memory. 10 MB per-line buffer handles JSON blobs and minified files. Atomic integrity: writes to a temp file then renames -- original is untouched on interruption.

# Replace a pattern in a multi-GB log file

fedit -file server.log -op replaceall -match "10.0.0.1" -text "10.0.0.2" -stream

Regex replace in a huge file with capture groups

fedit -file big.csv -op replaceall -match-regex 'id_(\d+)' -text 'ID_$1' -stream

Streaming find -- grep-style output to stdout

fedit -file huge.log -op find -match "FATAL" -stream

Supported with -stream: replaceall (literal and regex), find. Not supported: move, copy, map (these require full file structure in memory).

writeraw — Write without escape expansion
# Write a Windows path without double-escaping backslashes

fedit -file config.ini -op writeraw -text "basedir=C:\\Program Files\\App"

Write content from a file as-is

fedit -file output.txt -op writeraw -textfile template.txt

Unlike write, writeraw treats \n as two characters (backslash + n), not a newline.


writelines — Write lines interactively from stdin
fedit -file notes.txt -op writelines

Type lines at the > prompt, Ctrl+Z (Windows) or Ctrl+D (Unix) to finish


-texthex — Hex-encoded input (v1.6.0)

Encode text to hex first (e.g. with fwencode), then pass the hex string as -text. Eliminates all shell-quoting issues with special characters.

# Decode hex string and write — no quoting gymnastics needed

fedit -file deploy.sh -op write -texthex 23212f62696e2f62617368


-matchhex / -endmatchhex — Hex-encoded anchors (v1.8.1)

Same idea as -texthex, but for the search anchors. PowerShell mangles a double quote inside -match before fedit sees it, so case "replace": silently becomes case replace: and matches nothing. Pass the anchor as hex instead; fedit decodes it into -match (or -endmatch) once, so every op that takes an anchor works unchanged.

# Find a line containing double quotes (hex of: case "replace":)

fedit -file main.go -op find -matchhex 6361736520227265706c616365223a

Invalid hex exits 1 with matchhex: invalid hex string: ... (or endmatchhex: ...).


Multiple files -- comma list or glob (show/find/map since v1.8.1, mutation and MCP since v1.9.0, -sourcefile and -sourceblock with a list since v1.11.0)

-file accepts a comma-separated list, a glob, or both. A real file with that exact name wins over glob expansion.

Read-only ops (show, find, map) print a ==> path <== header per file:

# Find TODO in every Go file in the current folder

fedit -file '*.go' -op find -match 'TODO'

Map two files at once

fedit -file main.go,mcp.go -op map -lang go

  • find skips files with no hits (grep-style) and exits 1 only if nothing matched in any file.
  • map skips unrecognized extensions with a SKIP line.
  • A summary line reports how many files had results.

Mutating ops (replaceall, insertafter, insertbefore, delete, replace, write) run on each file on its own:

# Replace in every matching file

fedit -file '*.conf' -op replaceall -match 'old.example.com' -text 'new.example.com'

Insert after the first match in each file

fedit -file a.yaml,b.yaml -op insertafter -match 'servers:' -text ' - new'

Delete from a start line through an end line in each file (-endmatch is inclusive)

fedit -file '*.md' -op delete -match ' ' -endmatch ' '

  • A problem in one file (no match, unreadable, read-only, write failed) is reported as SKIP and never stops the batch. A skipped file is never modified.
  • The report lists OK, SKIP or FAIL per file, then N/M file(s) succeeded. A FAIL is a replaceall file that was written but did not pass the on-disk verification. Exit code 0 if at least one file succeeded and none failed, 1 if none succeed

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

ถาม PopNx