プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Fedit

作者:amalexicoバージョン 1.12.0i★ –i–
レジストリ名io.github.kehsiaocuba-ux/fedit

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: –
  • トランスポート:
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中0項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

作者はレジストリにインストール情報を載せていません。下にある作者のREADMEをご覧ください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ! 注意

    作者とリポジトリが一致

    公開者(kehsiaocuba-ux)がリポジトリの所有者(amalexico)ではありません。別の人が登録した可能性があります

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの18372件のうち0%よりスターが多い
  • このカテゴリのほかの18372件のうち90%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの18372件のうち23%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Feditは安全ですか?

当てはまる基本チェック1項目のうち0項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.12.0)がレジストリに届いたのは5 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, A1RO — Irish employment tools

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

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

クラウドで動く★ 211一昨日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。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

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く