Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 101317aa354d79f178664484300042fe5ae842e7
parent 97fa060969938793e1c5dce2a6f9bc848cdaf34d
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Mon, 28 Sep 2026 12:38:43 -0400

docs: the MCP examples register and run the server as `archilyzer mcp`

`claude mcp add archilyzer … -- pnpm -C "$PWD" archilyzer mcp` in AGENTS.md,
README.md (both blocks, and the run-it example) and mcp/README.md (Run it,
Add to Claude Code, the mcp.json form), in place of the long
`--filter yt-dlp-transcript-mcp exec tsx src/index.ts` form. mcp/README's
examples now register the server as `archilyzer` too, which the tracked
/ask and /sweep commands need. Env lines unchanged. Checked through the
worktree: `pnpm -C <repo> archilyzer mcp --local <dir>` answers initialize
as the first stdout line; pnpm's `$ …` line is on stderr. PUBLISH.md's
"(the form mcp/README.md uses)" is no longer true and goes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Diffstat:
MAGENTS.md | 7+++++--
MPUBLISH.md | 4++--
MREADME.md | 17+++++++++--------
Mmcp/README.md | 45+++++++++++++++++++++++----------------------
4 files changed, 39 insertions(+), 34 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -54,11 +54,14 @@ claude mcp add archilyzer \ --env TRANSCRIPT_SITE_URL=https://jeralyzer.pages.dev \ --env ARCHILYZER_EDITOR_URL=http://localhost:3001 \ --env WORKER_TOKEN=… \ - -- pnpm -C "$PWD" --filter yt-dlp-transcript-mcp exec tsx src/index.ts + -- pnpm -C "$PWD" archilyzer mcp ``` The two editor lines are optional: they let `fetch_clip` ask a local editor for clip -media (`WORKER_TOKEN` is the editor's own, from `editor/.env`). +media (`WORKER_TOKEN` is the editor's own, from `editor/.env`). `archilyzer mcp` +(`common/bin/mcp.ts`) is `pnpm --filter yt-dlp-transcript-mcp exec tsx src/index.ts` +behind the repo's CLI: the environment and any `--local`/`--remote`/`--hub` pass +through, and stdout carries nothing but the protocol (pnpm's `$ …` line goes to stderr). `TRANSCRIPT_HUB_URL` federates several sites; `TRANSCRIPT_LOCAL_DIR` reads a local build off disk. The server never writes to an archive — `fetch_clip` asks the editor, diff --git a/PUBLISH.md b/PUBLISH.md @@ -443,5 +443,5 @@ claude mcp add archilyzer \ ``` `archilyzer mcp` starts the same server as `pnpm --filter yt-dlp-transcript-mcp exec -tsx src/index.ts` (the form [mcp/README.md](mcp/README.md) uses), with the -environment passed through and nothing on stdout but the protocol. +tsx src/index.ts`, with the environment passed through and nothing on stdout but the +protocol; [mcp/README.md](mcp/README.md) has the other ways to run and register it. diff --git a/README.md b/README.md @@ -57,20 +57,20 @@ It is a local tool you run yourself, it only reads already-published JSON, and i never modifies the archive: ```bash -# point it at a published instance over HTTP -TRANSCRIPT_SITE_URL=https://jeralyzer.pages.dev \ - pnpm --filter yt-dlp-transcript-mcp exec tsx src/index.ts +# point it at a published instance over HTTP (from the repo root) +TRANSCRIPT_SITE_URL=https://jeralyzer.pages.dev pnpm archilyzer mcp ``` -There is nothing to compile — it runs from source through `tsx`. To register it with -Claude Code: +There is nothing to compile — it runs from source through `tsx`. `archilyzer mcp` is +the repo's CLI starting `mcp/`'s server; stdout carries only the MCP protocol. To +register it with Claude Code: ```bash claude mcp add archilyzer \ --env TRANSCRIPT_SITE_URL=https://jeralyzer.pages.dev \ --env ARCHILYZER_EDITOR_URL=http://localhost:3001 \ --env WORKER_TOKEN=… \ - -- pnpm -C /ABS/PATH/TO/this/repo --filter yt-dlp-transcript-mcp exec tsx src/index.ts + -- pnpm -C /ABS/PATH/TO/this/repo archilyzer mcp ``` The two editor lines are optional: they let `fetch_clip` ask a local editor for clip @@ -323,13 +323,14 @@ claude mcp add archilyzer \ --env TRANSCRIPT_SITE_URL=https://jeralyzer.pages.dev \ --env ARCHILYZER_EDITOR_URL=http://localhost:3001 \ --env WORKER_TOKEN=… \ - -- pnpm -C "$PWD" --filter yt-dlp-transcript-mcp exec tsx src/index.ts + -- pnpm -C "$PWD" archilyzer mcp claude # then try: /ask what has he said about magic tournaments? ``` The two editor lines are optional: they let `fetch_clip` ask a local editor for clip media (`WORKER_TOKEN` is the editor's own). Leave them out for research alone. -`-- pnpm -C "$PWD" archilyzer mcp` starts the same server through the repo's CLI. +`archilyzer mcp` is `pnpm --filter yt-dlp-transcript-mcp exec tsx src/index.ts` +through the repo's CLI; either form registers the same server. > **Register the server as `archilyzer`.** The shipped commands call > `mcp__archilyzer__ask_plan` / `mcp__archilyzer__sweep_plan`, and that tool name diff --git a/mcp/README.md b/mcp/README.md @@ -365,9 +365,9 @@ treated as no filter, so planning can never make a whole-corpus scan slower. ### Benchmark -`mcp/bench/` drives the **real server over stdio**, through the same -`pnpm --filter … exec tsx src/index.ts` command line the client is registered -with, and times a fixed query set: +`mcp/bench/` drives the **real server over stdio**, through +`pnpm --filter … exec tsx src/index.ts` — the command `archilyzer mcp`, which a +client is registered with, runs — and times a fixed query set: ```bash pnpm --filter yt-dlp-transcript-mcp bench @@ -501,30 +501,34 @@ of the package entirely. ## Run it -From the monorepo (cwd is set to the package dir by `pnpm --filter … exec`, so -the TypeScript path alias resolves): +From the monorepo root, through the repo's CLI. `archilyzer mcp` +(`common/bin/mcp.ts`) starts the server exactly as `pnpm --filter +yt-dlp-transcript-mcp exec tsx src/index.ts` does — mcp's own `tsx`, cwd this +package's dir (so the TypeScript path alias resolves), the environment and every +argument after `mcp` passed through: ```sh # a deployed site -pnpm --filter yt-dlp-transcript-mcp exec tsx src/index.ts --remote https://rekietalyzer.pages.dev +pnpm archilyzer mcp --remote https://rekietalyzer.pages.dev # a hub, federating every member site -pnpm --filter yt-dlp-transcript-mcp exec tsx src/index.ts --hub https://archilyzer-hub.pages.dev +pnpm archilyzer mcp --hub https://archilyzer-hub.pages.dev -# local shards on disk -pnpm --filter yt-dlp-transcript-mcp exec tsx src/index.ts --local ../export/public +# local shards on disk (a relative path resolves from mcp/, so give an absolute one) +pnpm archilyzer mcp --local "$PWD/export/public" ``` -Logs go to stderr; stdout is the MCP JSON-RPC channel. +Logs go to stderr; stdout is the MCP JSON-RPC channel. pnpm's own `$ …` line goes +to stderr too, so nothing precedes the protocol. ## Add to Claude Code ```sh -claude mcp add rekietalyzer \ +claude mcp add archilyzer \ --env TRANSCRIPT_SITE_URL=https://rekietalyzer.pages.dev \ --env ARCHILYZER_EDITOR_URL=http://localhost:3001 \ --env WORKER_TOKEN=… \ - -- pnpm -C /ABS/PATH/TO/yt-dlp-transcript-browser --filter yt-dlp-transcript-mcp exec tsx src/index.ts + -- pnpm -C /ABS/PATH/TO/yt-dlp-transcript-browser archilyzer mcp ``` The two editor lines are optional: they let `fetch_clip` ask a local editor for @@ -534,23 +538,20 @@ the same; `fetch_clip` then says it has no editor and fetches nothing. **The `/sweep` and `/ask` commands.** `.claude/commands/{sweep,ask}.md` in this repo call `mcp__archilyzer__sweep_plan` / `mcp__archilyzer__ask_plan` — the tool -name embeds the MCP server name **as you registered it**, so if you used another -name (`rekietalyzer` above), change the `mcp__<name>__` prefix in those two -files to match. `foo:bar` namespacing is plugin-only, so what you type stays -`/sweep`, not `/archilyzer:sweep`. +name embeds the MCP server name **as you registered it**, which is why the example +registers it as `archilyzer` whatever archive it reads. Under another name (say +`rekietalyzer`), change the `mcp__<name>__` prefix in those two files to match. +`foo:bar` namespacing is plugin-only, so what you type stays `/sweep`, not +`/archilyzer:sweep`. ## Add to any MCP client (mcp.json) ```json { "mcpServers": { - "rekietalyzer": { + "archilyzer": { "command": "pnpm", - "args": [ - "-C", "/ABS/PATH/TO/yt-dlp-transcript-browser", - "--filter", "yt-dlp-transcript-mcp", - "exec", "tsx", "src/index.ts" - ], + "args": ["-C", "/ABS/PATH/TO/yt-dlp-transcript-browser", "archilyzer", "mcp"], "env": { "TRANSCRIPT_SITE_URL": "https://rekietalyzer.pages.dev", "ARCHILYZER_EDITOR_URL": "http://localhost:3001",