← All MCP servers
MCP server
Patchloom
mcp:patchloom/patchloom
Agent-safe structured edits: JSON/YAML/TOML/md/AST, dry-run, batch/tx. Not a filesystem MCP.
Verdict
Not analyzed
Indexed from the registries, but not analyzed yet. Lineage and listings below are current.
Execution chain 195
What it calls, runs, installs, reads and writes, with the line that does it.
Environment variables 16
*
mcpb/server/run.mjs:45 · passthrough
BASE_SHA
scripts/check-dco.sh:9 · read
DEPS_JSON
GH_REPO
GH_TOKEN
GITHUB_OUTPUT
GITHUB_REPOSITORY
NOTES_BRANCH
PACK_MCPB_PRINT_VERSION_ONLY
scripts/pack-mcpb.sh:38 · read
PATH
PLAN
PREVIOUS_VERSION
SMITHERY_API_KEY
SMITHERY_SERVER
UPDATE_TYPE
VERSION
scripts/pack-mcpb.sh:32 · read
Commands run 22
--version 0.1.0 --artifacts-dir {…} --package-dir {…}
scripts/test_update_chocolatey_package.py:168 · via:run_script
--version 0.13.0 --hash-x64 {…} --hash-arm64 {…} --package-dir {…}
scripts/test_update_chocolatey_package.py:62 · via:run_script
--version 0.2.0 --hash-x64 {…} --hash-arm64 {…} --package-dir {…}
scripts/test_update_chocolatey_package.py:139 · via:run_script
--version 0.2.0 --hash-x64 {…} --hash-arm64 {…} --package-dir {…} --check
scripts/test_update_chocolatey_package.py:152 · via:run_script
--version 9.9.9 --hash-x64 {…} --hash-arm64 {…} --package-dir {…} --check
scripts/test_update_chocolatey_package.py:121 · via:run_script
--version patchloom-v1.2.3 --artifacts-dir {…} --package-dir {…}
scripts/test_update_chocolatey_package.py:102 · via:run_script
<dynamic>
benches/ci/test_pr_bench.py:27 · process
bash {…}
scripts/test_apply_release_notes.py:25 · process
bash {…} {…}
bash {…} 0,2 -- bash -c echo 'error: unexpected argument' >&2; exit 1
benches/cli/test_cli_bench.py:74 · process
bash {…} 0,2 -- bash -c exit 2
benches/cli/test_cli_bench.py:65 · process
enc_name="$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1], safe=''))" "$qualified_name")"
scripts/publish-smithery.sh:59 · dynamic_code
git -C {…} {…}
scripts/test_check_dco.py:18 · process
git -C {…} commit --allow-empty -m {…}
scripts/test_check_dco.py:33 · process
hyperfine --warmup 1 --min-runs 10 --prepare "bash $RESET_SCRIPT" --export-markdown /dev/stdout -n "patchloom batch (1 call)" "$PATCHLOOM --cwd $DIR batch $BATCH_INPUT --apply" -n "jq+yq+sed (6 calls)" "bash -c 'jq \".version = \\\"v2.0.0\\\"\" $DIR/config.jso
benches/cli/run.sh:234 · dynamic_code
hyperfine --warmup 1 --min-runs 10 --prepare "bash $RESET_SCRIPT" --export-markdown /dev/stdout -n "patchloom tx (1 call)" "$PATCHLOOM --cwd $DIR tx $TX_PLAN --apply" -n "jq+yq+sed (4 calls)" "bash -c 'jq \".version = \\\"v2.0.0\\\"\" $DIR/config.json > $DIR/c
benches/cli/run.sh:264 · dynamic_code
hyperfine --warmup 2 --min-runs 10 --export-markdown /dev/stdout -n "patchloom tidy check" "bash -c '$PATCHLOOM tidy check $TIDY_DIR >/dev/null; true'" -n "shell (find+grep)" "bash -c 'find $TIDY_DIR -type f -name \"*.txt\" | while read f; do test -n \"\$(tail -c 1 \"\$
benches/cli/run.sh:181 · dynamic_code
hyperfine --warmup 2 --min-runs 20 --prepare "$YAML_RESET" --export-markdown /dev/stdout -n "patchloom doc set" "$PATCHLOOM doc set $CONFIG_YAML app.version v2.0.0 --apply" -n "yq eval" "yq eval '.app.version = \"v2.0.0\"' -i $CONFIG_YAML" 2>/dev/nul
benches/cli/run.sh:150 · dynamic_code
hyperfine --warmup 2 --min-runs 8 --export-markdown /dev/stdout -n "patchloom ast rename" "bash -c '$PATCHLOOM ast rename $DIR --old $AST_RENAME_OLD --new $AST_RENAME_NEW --check >/dev/null; true'" | tee -a "$OUTFILE"
benches/cli/run.sh:121 · dynamic_code
patchloom
mcpb/server/run.mjs:57 · via:run
where.exe {…}
mcpb/server/run.mjs:24 · process
which {…}
mcpb/server/run.mjs:26 · process
Files read 8
.env
src/api/tests.rs:1999 · literal
.env.local
src/ops/doc/tests.rs:42 · literal
.github/workflows/**
scripts/test_workflow_sanity.py:26 · literal
/etc/hosts
scripts/windows-smoke.ps1:209 · literal
/etc/passwd
scripts/embedder-smoke.sh:53 · sensitive
<dynamic>
benches/agent/report.py:18 · read
a/ok.rs b/.env
src/ops/patch_tests.rs:1541 · literal
diff --git a/ok.rs b/.env
src/ops/patch_tests.rs:1536 · literal
Files written 49
/tmp/patchloom-demo-dir
demo/setup.sh:60 · write
\$DIR/config.json
benches/cli/run.sh:211 · write
\$DIR/config.toml
benches/cli/run.sh:213 · write
\$DIR/config.yaml
benches/cli/run.sh:212 · write
\$DIR/package.json
benches/cli/run.sh:214 · write
\$DIR/README.md
benches/cli/run.sh:216 · write
\$DIR/VERSION
benches/cli/run.sh:215 · write
<dynamic>
benches/ci/make_pr_fixture.py:27 · write
${CONFIG_JSON}.tmp
benches/cli/run.sh:135 · write
${EXPECTED_VERSION})
${line}
${tmp}
$BATCH_INPUT
benches/cli/run.sh:221 · write
$CONFIG_JSON
benches/cli/run.sh:132 · write
$CONFIG_YAML
benches/cli/run.sh:145 · write
$DIR/config.json
benches/cli/run.sh:234 · write
$DIR/config.json.tmp
benches/cli/run.sh:234 · write
$DIR/config.toml
benches/cli/run.sh:234 · write
$DIR/package.json
benches/cli/run.sh:234 · write
$DIR/package.json.tmp
benches/cli/run.sh:234 · write
$DIR/VERSION
benches/cli/run.sh:234 · write
$OUTFILE
benches/cli/run.sh:58 · write
$RESET_SCRIPT
benches/cli/run.sh:208 · write
$RESULTS_DIR/latest.log
benches/mcp/run.sh:36 · write
$RESULTS_DIR/latest.md
benches/mcp/run.sh:39 · write
$stage/.mcpbignore
scripts/pack-mcpb.sh:58 · write
$stage/icon.png
scripts/pack-mcpb.sh:57 · write
$stage/server/run.mjs
scripts/pack-mcpb.sh:56 · write
$TIDY_DIR/dirty_$i.txt
benches/cli/run.sh:176 · write
$tmpdir/f.rs
scripts/embedder-smoke.sh:20 · write
$tmpdir/ws/bad.txt
scripts/embedder-smoke.sh:116 · write
$tmpdir/ws/blob.md
scripts/embedder-smoke.sh:99 · write
$tmpdir/ws/blob.txt
scripts/embedder-smoke.sh:100 · write
$tmpdir/ws/config.json
scripts/embedder-smoke.sh:43 · write
$tmpdir/ws/crates/foo/lib.txt
scripts/embedder-smoke.sh:35 · write
$tmpdir/ws/in.txt
scripts/embedder-smoke.sh:52 · write
$tmpdir/ws/plan.json
scripts/embedder-smoke.sh:44 · write
$tmpdir/ws/rename-dst.txt
scripts/embedder-smoke.sh:76 · write
$tmpdir/ws/rename-src.txt
scripts/embedder-smoke.sh:75 · write
$tmpdir/ws/taken.txt
scripts/embedder-smoke.sh:60 · write
$TX_PLAN
benches/cli/run.sh:248 · write
2>/dev/null
benches/cli/run.sh:136 · write
config.yaml
demo/setup.sh:15 · write
i32
scripts/embedder-smoke.sh:19 · write
ops.txt
demo/setup.sh:49 · write
package.json
demo/setup.sh:7 · write
README.md
demo/setup.sh:36 · write
s/v2.0.0/v1.0.0/g
benches/cli/run.sh:160 · write
settings.toml
demo/setup.sh:28 · write
GitHub repositories 17
anthropics/mcpb
mcpb/manifest.json:2 · url
ast-grep/ast-grep
README.md:482 · url
axodotdev/cargo-dist
fossas/fossa-cli
gitleaks/gitleaks
googleapis/release-please
homebrew/install
jqlang/jq
microsoft/winget-pkgs
README.md:525 · url
mikefarah/yq
modelcontextprotocol/registry
patchloom/homebrew-tap
README.md:525 · url
patchloom/patchloom
patchloom/scoop-bucket
rhysd/actionlint
rust-lang/crates.io-index
Cargo.lock:8 · url
sharkdp/hyperfine
benches/README.md:34 · url
Host config written 20
. /etc/profile: {paths:?}
src/ast/deps.rs:888 · literal
.config/fish/completions/patchloom.fish
src/cmd/init.rs:408 · literal
.cursor/mcp.json
tests/integration/smoke_tests.rs:400 · literal
.github/workflows/bench.yml
tests/integration/misc_tests.rs:104 · literal
.github/workflows/publish-crates.yml
tests/integration/misc_tests.rs:111 · literal
.github/workflows/security.yml
tests/integration/misc_tests.rs:101 · literal
/etc/profile
src/ast/deps.rs:887 · literal
agents.md
tests/integration/tx_tests.rs:7802 · literal
Agents.md
src/cmd/init.rs:24 · literal
AGENTS.md
src/api/tests.rs:2976 · literal
Claude.md
src/cmd/init.rs:26 · literal
CLAUDE.md
src/cmd/init.rs:27 · literal
Cursor: create .cursor/mcp.json:
tests/integration/init_tests.rs:431 · literal
git add .github/workflows/ci.yml
src/cmd/md_tests.rs:831 · literal
md.lint_agents AGENTS.md
src/cmd/batch_tests.rs:827 · literal
md.lint_agents path=AGENTS.md
src/cmd/batch_tests.rs:625 · literal
should find Agents.md
src/cmd/init.rs:599 · literal
should find AGENTS.md
src/cmd/init.rs:583 · literal
should find Claude.md
src/cmd/init.rs:591 · literal
skipped AGENTS.md
tests/integration/init_tests.rs:338 · literal
Network calls 10
127.0.0.1
tests/integration/mcp_tests.rs:491 · url_literal
api.smithery.ai
example.com
src/ops/doc/yaml_splice.rs:772 · url_literal
github.com
chocolatey/tools/chocolateyInstall.ps1:8 · url_literal
img.shields.io
tests/integration/smoke_tests.rs:165 · url_literal
localhost
tests/integration/main.rs:345 · url_literal
otel-collector.monitoring
src/ops/doc/tests.rs:3984 · url_literal
patchloom.github.io
smithery.ai
x
src/ops/doc/jsonc.rs:240 · url_literal
Packages 3
npm:patchloom
README.md:181 · instructed
npm:patchloom@0.15.2
server.json:14 · launch:server.json
npm:patchloom@ver
REPO-SETUP.md:17 · instructed
URLs 50
http://127.0.0.1:PORT/mcp
http://example.com:8080/path
http://localhost:3000
http://otel-collector.monitoring:4317
http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd
http://www.w3.org/2000/svg
http://x
https://127.0.0.1:PORT/mcp
https://api.github.com/repos/patchloom/patchloom/releases/latest
https://api.securityscorecards.dev/projects/github.com/patchloom/patchloom/badge
https://api.smithery.ai/servers/$
https://app.fossa.com
https://axodotdev.github.io/cargo-dist
https://cdn.jsdelivr.net/gh/patchloom/patchloom@main/assets/logo-128.png
https://claude.ai/code/session_example
https://community.chocolatey.org/account
https://community.chocolatey.org/packages/patchloom
https://crates.io/api/v1/crates/patchloom
https://crates.io/api/v1/crates/patchloom/$
https://crates.io/crates/patchloom
https://docs.github.com
https://docs.npmjs.com/trusted-publishers/
https://docs.rs/patchloom
https://example.com
https://example.com/old-arm64.zip
https://example.com/old-x64.zip
https://get.scoop.sh
https://github.com/apps/dco-2
https://github.com/ast-grep/ast-grep
https://github.com/axodotdev/cargo-dist/releases/download/$
https://github.com/axodotdev/cargo-dist/releases/download/v0.31.0/sha256.sum
https://github.com/fossas/fossa-cli/releases/download/v$
https://github.com/gitleaks/gitleaks/releases/download/v$
https://github.com/jqlang/jq/releases/download/$
https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Patchloom/Patchloom
https://github.com/mikefarah/yq/releases/download/$
https://github.com/modelcontextprotocol/registry
https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$
https://github.com/patchloom
https://github.com/patchloom/homebrew-tap
https://github.com/patchloom/patchloom
https://github.com/patchloom/patchloom.git
https://github.com/patchloom/patchloom/
https://github.com/patchloom/patchloom/actions/workflows/ci.yml
https://github.com/patchloom/patchloom/actions/workflows/ci.yml/badge.svg
https://github.com/patchloom/patchloom/actions/workflows/fossa.yml
https://github.com/patchloom/patchloom/actions/workflows/fossa.yml/badge.svg
https://github.com/patchloom/patchloom/actions/workflows/security.yml
https://github.com/patchloom/patchloom/actions/workflows/security.yml/badge.svg
https://github.com/patchloom/patchloom/blob/main/LICENSE
Linked repositories 16
GitHub repositories it links to or installs from, and whether their names can be taken over.
anthropics/mcpb
url · not tracked
ast-grep/ast-grep
url · not tracked
axodotdev/cargo-dist
url · not tracked
fossas/fossa-cli
url · not tracked
gitleaks/gitleaks
url · not tracked
googleapis/release-please
url · not tracked
homebrew/install
url · not tracked
jqlang/jq
url · not tracked
microsoft/winget-pkgs
url · not tracked
mikefarah/yq
url · not tracked
modelcontextprotocol/registry
url · not tracked
patchloom/homebrew-tap
url · not tracked
patchloom/scoop-bucket
url · not tracked
rhysd/actionlint
url · not tracked
rust-lang/crates.io-index
url · not tracked
sharkdp/hyperfine
url · not tracked