
Frame Check
io.github.lluvr由 GitHub 帳號 lluvr 發布v1.2.2更新於 Nov 7, 2026
Deterministic structural framing analysis for AI-generated documents; no LLM call of its own.
概覽
在本機執行的 MCP 伺服器,對文件做確定性的結構性框架分析,並把文件中的數字主張與一手資料來源交叉核對。
- 可以做什麼
- 分析文件的框架輪廓:五種分析視角中涵蓋了哪些、遺漏了哪些,以及各自的密度
- 評估敘事聲音、認知姿態,以及主張中標明來源的比例
- 報告時間取向:立基於歷史資料、當前狀態或預測
- 依目錄比對具名框架模式,輸出候選層級訊號與信心狀態
- 在資料來源有涵蓋時,把數字主張與 SEC EDGAR、FRED、世界銀行、Alpha Vantage 及 Wolfram Alpha 核對
- 可選擇附加 AI 敘事解讀,並與確定性量測結果分開標示
- 適用情境
- 當你需要對文件框架取得可重現、每次結果一致的分析,而非一次性的模型意見時適用;也適合核對報告或財報摘要中的數字是否與一手來源相符,或比較不同模型、不同草稿對同一問題的框架差異。
- 執行需求
- 以 Python 套件 frame-check-mcp 在本機執行,用 pip 安裝後透過其進入點啟動,例如寫入 Claude Desktop 設定。未宣告任何驗證、環境變數或標頭。來源核驗會連線外部資料提供者;僅可選的 AI 敘事解讀需要設定 API 金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Frame Check,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Frame Check
[PyPI] [Python] [License] [Tests]
See what any document does not show you.
Frame Check is a deterministic structural framing analysis tool. It names which analytical perspectives a document takes, which it omits, and how it positions the reader, and it cross-checks the document's numeric claims against primary sources a language model can't reach (SEC EDGAR, FRED, World Bank, and others). It makes no LLM call of its own, so the same document always returns the same reading at no model cost.
Quickstart (MCP server)
The PyPI package frame-check-mcp is the Model Context Protocol
server. It runs locally and gives any MCP-compatible AI client
(Claude Desktop, Cursor, Cline, Continue.dev, etc.) deterministic
structural framing analysis as a tool.
Then point your MCP client at the installed entry point. For
Claude Desktop, add to claude_desktop_config.json:
Restart the client. Then in any conversation: "Can you frame-check
this document?" Full install + verification details in docs/MCP_SERVER.md.
Verifying the wheel (sigstore attestation)
Every published wheel ships with a sigstore build-provenance
attestation generated inside the GitHub Actions publish workflow
via OIDC. Adopters who want to verify the wheel was built from
this repository's CI (and not modified between the runner and
PyPI) can do so with the gh CLI:
A passing verification proves the wheel artifact's hash matches the one signed by the publish workflow run for the corresponding tag, with the workflow file path and git SHA recorded in the attestation. Verification is optional; security-conscious deployments and packaging mirrors may want it as part of their install pipeline.
What it does
Pass a document and Frame Check returns:
- A structural framing profile: which of five analytical perspectives (causes, risks, stakeholders, trends, uncertainty) the document covers, which it omits, and the density of each.
- Voice and epistemic posture: how the document positions the reader, and what share of claims are attributed to sources.
- Temporal orientation: whether the document grounds its conclusions in historical data, present state, or projections.
- Frame Vocabulary Standard candidate matches: named frame patterns whose rule-based signals fire on the text, each with identification cues and worked examples. Matches are candidate-level signals, not verified labels.
- Source-network verification: numeric claims checked against SEC EDGAR, FRED, World Bank, Alpha Vantage, and Wolfram Alpha where those providers have coverage.
- An optional AI narrative interpreting framing at prose level. Labelled distinctly so readers do not conflate language-model interpretation with deterministic measurement.
Approach
Structural measurement is the floor. Every framing claim the tool makes is computed from deterministic pattern matchers and always returns the same result for the same input. AI-assisted interpretation is available as enrichment where an API key is configured, but is labelled as such and never hidden behind the structural layer.
Verification is bounded. The tool only verifies numeric claims against providers with genuine coverage for the claim type, and it surfaces its own calibration results (precision, recall, F1 per provider) rather than asserting verdicts without evidence.
Named-pattern detection is a separate, beta layer from the structural profile. It surfaces candidate matches, under-detection markers, density caveats, and confidence states rather than confident labels, so you can see where the tool is unsure instead of trusting an overconfident verdict.
Calibration figures, honest limits, and the methodology behind them live in the methodology at frame.clarethium.com/corpus/methodology.
Why this and not just an LLM
An MCP-compatible AI client can already analyse a document by prompting an LLM. Frame Check earns its install footprint where the LLM falls short:
- Determinism. The structural layer returns the same numbers for the same input across runs, deploys, and model versions. An LLM asked "what frames does this document use" gives a different answer each time and a different answer per model. Reproducible analysis needs the deterministic shape; opinions can layer on top.
- Zero per-query cost. Frame Check's MCP server makes no LLM call server-side. The caller's agent does the prose interpretation if the user wants that. This means a frame-check on a 10,000-word document costs the user $0.00, not the $0.05 to $0.50 an LLM call would charge.
- Explicit absence. The frame-divergence block names what the document does not address by comparing matched frames against the Frame Vocabulary Standard catalog. An LLM asked "what's missing" hallucinates plausible-sounding gaps; Frame Check enumerates catalog entries that did not fire on the text and says so.
- Calibrated detection. The named-pattern layer is labelled beta
in the API responses (
engine_status: beta) and surfaces under-detection markers rather than confident labels. You get an honest "this is uncertain" instead of a confident guess. - Source verification. Numeric claims with provider coverage get cross-checked against SEC EDGAR / FRED / World Bank / REST Countries / Alpha Vantage / Wolfram Alpha at provider pricing tiers (zero or user-keyed). An LLM asked "is this number right" cannot fetch primary sources; Frame Check does.
Deterministic, source-grounded measurement is not work an LLM is suited to do. Frame Check provides that layer so the LLM can lean on it instead of being asked to do that work in-band.
Worked example
Same prompt, four frontier LLMs, four materially different framing
signatures.
data/worked_examples/four-llms-on-bitcoin-retirement-2026.md
runs Claude Haiku 4.5, GPT-5, Grok 4.1 Fast Reasoning, and Gemini 2.5
Flash against an investment question and surfaces the per-model
structural shape: voice, coverage, frame matches, sourcing rate. The
point in plain form: your AI is one framing choice among several, not
the framing.
Five more published examples live alongside it: framings of an LLM
response to a life-decision prompt, an AI-company founder essay, an
FOMC monetary-policy statement, and a Source-Network verification pass
on an LLM-summarised earnings release, plus a divergence walk-through
on Claude's Bitcoin retirement recommendation. See
data/worked_examples/ for the full set.
Documentation
Browse docs/README.md for reading paths organised
by intent (install + use, understand frame divergence, read the worked
examples). The full inventory:
docs/MCP_SERVER.md: MCP server reference (tools, resources, prompts)docs/COOKBOOK.md: five recipes for common adopter tasks (frame-check before agent commit, divergence at decision points, source-grounded verification, two-LLM comparison, custom FVS rule)docs/FRAME_DIVERGENCE_CONTRACT_v1.md: interface contract for the Frame Divergence emission shape (c1.0)data/frame_library/: 20-entry Frame Vocabulary Standard catalogdata/worked_examples/: published worked examples with multi-LLM comparisons + per-document Frame Check analysis (6 entries)- The methodology behind the Frame Vocabulary Standard is documented at frame.clarethium.com/corpus/methodology
- Frame Check introduction (blog): the four analysis layers, with examples of the output
Running tests
Or directly via pytest:
26 test files under tests/, ~30 seconds end-to-end. Includes 40 adversarial dispatcher test functions in tests/test_mcp_adversarial.py (parametrized into 63 tests at collection time), a per-module 80% coverage gate on the seven wheel-surface modules (scripts/check_per_module_coverage.py), the cookbook-recipe contract suite (tests/test_cookbook_recipes.py), and the genre-classifier + frame-divergence coverage.
License
Apache-2.0 for code; CC-BY-4.0 for the FVS library and worked examples
(see NOTICE for the per-directory enumeration).
Citation
If Frame Check is useful in your work, see .github/CITATION.cff for
the citable form. Frame Check is authored by Lovro Lucic.
Contributing
Sign-off-by-DCO required per .github/CONTRIBUTING.md. Governance per
.github/GOVERNANCE.md (BDFL model with named forcing functions for
canon-promotion decisions).
Issues
來源:README.md,提交 aa24cba
工具
0版本歷史
2- v1.2.2最新Nov 7, 2026
- v1.2.1Nov 5, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Check 整合
check.tattoo: tattoo size and placement guide
tattoo.check官方發布者
check.tattoo: tattoo size and placement guide 的託管 MCP 服務,由 check.tattoo 發布;無需登入;Streamable HTTP;5 個工具。
iva.pt — EU VAT check (VIES) and Portuguese VAT law
pt.iva官方發布者
在 VIES 中驗證歐盟增值稅號,並回傳葡萄牙增值稅法典(CIVA)與 RITI 條文,支援葡語與英語。

Dirtsmith Evidence Quote Check
由 GitHub 帳號 throttler300 發布
一個本機 MCP 伺服器,把助理的引用綁定到已准入的來源文字並標註片段位置,可選擇拒絕雜湊已過期的引用。

HTTP Header Policy Check — HSTS, CSP & Frame Declarations
由 GitHub 帳號 kriton-dev 發布
託管於 Apify 的遠端 MCP 伺服器,讓助理檢查網站宣告的七類 HTTP 安全標頭,且不傳回原始標頭值。

VOOPA Render Check
由 GitHub 帳號 Voopa-Corp 發布
對照創作要求審查已生成的影片,在再次付費算圖前建議是剪輯修改、重試一次還是更換做法。