Glitch Toolkit

io.github.AbstractGlitch由 GitHub 帳號 AbstractGlitch 發布v0.1.4更新於 Oct 24, 2026

Read-only checks that fail a guardrail which is present but has stopped refusing anything

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,用來回報儲存庫護欄檢查結果,並把每次問答追加記錄到帳本中。

可以做什麼
提供三個唯讀工具:glitch_status、glitch_check 與 glitch_ledger_tail,用來回報儲存庫中安裝了哪些護欄產物,以及每個護欄是否仍會拒絕刻意構造的損壞案例。它會把每次問答追加寫入 .claude/toolkit/ledger/ledger.jsonl 的 JSONL 帳本。它無法暫停、阻擋、拒絕或攔截任何動作,也不進行網路呼叫。
適用情境
當你希望助理檢查儲存庫護欄是否仍在正常運作,或回讀檢查紀錄時使用。它是在考慮任何真正能阻擋代理動作的能力之前,先做的唯讀一步。
執行需求
本機程序,透過 uvx 從帶 mcp 附加項的 glitch-toolkit 套件啟動,或在已安裝該附加項的虛擬環境中執行。需要用 --repo 傳入儲存庫路徑。未宣告任何帳號、API 金鑰、標頭或環境變數。mcp 附加項會引入大量相依套件,應安裝在隔離環境中,而不是系統 Python 中。
安裝前請注意
此伺服器會向儲存庫中的帳本檔案追加內容,可用 --no-ledger 關閉。除此之外它不寫入任何內容,也不做任何攔截,因此無法阻止代理行動。把 mcp 附加項安裝到全域解譯器可能升級現有套件並破壞無關應用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Glitch Toolkit,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

glitch

A check that has stopped refusing things still passes. That is the failure this looks for.

On 8 September 2026, in the repository this package was extracted from, a test guarded the one chapter of a paid book that is given away free — asserting the sample stops at its cut and does not leak the rest. It was green. It was searching a page that had no book on it, for passages it therefore could never find, and passing. Nothing was broken; the redaction worked fine. The alarm had been disconnected and was still showing a green light.

Every guardrail decays that way eventually, and the decay is silent, because a guardrail that has stopped refusing looks exactly like one with nothing to refuse.

glitch installs six guardrails into your repository and then, whenever you ask, runs each one against a case it is supposed to refuse. One that no longer refuses anything fails here, loudly, instead of passing quietly.

bash
pip install glitch-toolkit
glitch install     # put the artifacts in this repositoryglitch status      # what is installed, what is notglitch check --all # verify every step

No dependencies, no network calls, no telemetry. It writes nothing outside the directory you point it at.

What it actually checks

A step is not complete because a file is present. Every check does three things and reports which of them failed:

  1. finds the artifact
  2. runs it, and expects it to work
  3. runs it against a deliberately broken case, and expects it to refuse

Without the third, a check passes the moment you copy a file in, whether or not that file has any teeth left, and it would be green for every reader forever. tests/test_cli.py exists to prove the checker fails that case; its SABOTAGE test installs artifacts that run, exit 0 and refuse nothing.

What install will not do

It will not write your CLAUDE.md, FLEET.md, FLOOR.md or PLAN.md. Four of the six steps are checked against your own file, because for those four the file is the work: a rules file that holds, a desk table with one committer, a floor measured twice, a plan someone else approved. A command that wrote them would turn the path into "you ran an installer". The FLOOR.md and PLAN.md templates ship deliberately unpassable for the same reason.

It will not overwrite. An artifact already in your repo is left alone and reported as kept; --force is how you say otherwise.

It writes nothing outside the directory you point it at, makes no network calls, and has no dependencies outside the standard library.

Running it without installing it

cli.py is one file and stays one file. Copy it into a repository and status and check work with nothing on the path and no install step — that property is deliberate and there is a test for the search paths it uses. Only install needs the rest of the package, and it says so plainly rather than failing oddly.

The MCP server (read-only)

bash
uvx --from 'glitch-toolkit[mcp]' glitch-mcp --repo .

Install the extra in an isolated environment, not a system Python. The checker has no dependencies and that is a promise. The [mcp] extra is the opposite: mcp>=2.0 pulls pydantic, starlette, cryptography, opentelemetry and a dozen more, and pip will happily UPGRADE what is already there to satisfy them. Done against a global interpreter on 8 September 2026 it replaced pydantic 1.10 with 2.13 and starlette 0.46 with 1.6, breaking an unrelated FastAPI application on the same machine. uvx builds a throwaway environment and touches nothing else, which is why the registry entry launches it that way.

A virtualenv is equally fine:

bash
python -m venv .venv && .venv/bin/pip install 'glitch-toolkit[mcp]'

It offers the checks to an agent as three tools — glitch_status, glitch_check, glitch_ledger_tail — and appends every question and answer to .claude/toolkit/ledger/ledger.jsonl.

It gates nothing. It cannot pause, block, refuse or intercept any action. It has no database connection, no credential and no network call. That is the whole first version, on purpose: a server that stands between an agent and a production database is serious software, and the honest order is to run read-only first, read the ledger, and find out what it would have refused before giving it the power to refuse. A gate built before that record exists is a guess with permissions.

The checks write nothing into your repository. The server breaks that in exactly one place — it appends to the ledger — and --no-ledger turns off even that, at the cost of the only thing worth keeping.

In Claude Code, .mcp.json:

json
{  "mcpServers": {    "glitch": { "command": "glitch-mcp", "args": ["--repo", "."] }  }}

The ledger

Append-only JSONL. Nothing rewrites a line it did not just write; a record that is overtaken is superseded by a new one and both stay; a field nobody measured is null rather than 0; a half-written last line is skipped and counted, never repaired, because repairing it means rewriting the file.

Tests

bash
python tests/run_all.py      # all three suites, 40 tests

The server suite skips cleanly without the [mcp] extra and the runner reports that as SKIPPED rather than passing, because a green line meaning "we did not look" is the exact failure the gate-check practice exists to catch.

Where the checks come from

Every check here exists because something went wrong, and CORPUS.md is the list — what happened, what it cost, and which check catches it now.

It also names the ones nothing here catches yet, including the two that cost this package a version number each. A corpus that recorded only its solved failures would be doing the thing this package is about.

Licence

Apache License 2.0 — see LICENSE and NOTICE. Chosen over MIT for the patent grant.

Everything in this repository is under it. Use it commercially, change it, redistribute it.

The links above are absolute on purpose: this README is also the package's description on PyPI, where a relative link resolves against pypi.org and returns a 404.

Where this comes from

This repository is a published mirror. The package is developed inside a private monorepo alongside the book Building Your Store Or Your SaaS With Claude, whose practices it installs and checks, and it is pushed here as a subtree. The book, the shop that sells it and the rest of that repository are not open source and are not here. Nothing is being withheld from this repository that belongs to the package.

Issues and pull requests belong here rather than there, because here is the part anyone can read.

Status

Version 0.1.1. It installs, and the practices it checks are the six the book argues for. 0.1.0 was the first release; 0.1.1 changes this description and adds continuous integration, and nothing about what the code does.

What it is not yet: it gates nothing. glitch-mcp reports and records and cannot block an agent from doing anything. That is deliberate and the reasoning is in mcp_server.py — a server that stands between an agent and a production database should earn its evidence before it earns the power to refuse.

來源:README.md,提交 f21dba6

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分