
Veris
io.github.jakeyoung1由 GitHub 帳號 jakeyoung1 發布v0.3.1更新於 Oct 24, 2026
Provenance-first web + SEC EDGAR data for AI agents: every fact carries its verifiable source.
概覽
Veris 讓助理進行帶來源溯源的網頁搜尋與閱讀,並查詢 SEC EDGAR 文件、財務資料與變更監控,每筆結果都附上可驗證的來源資訊。
- 可以做什麼
- 搜尋網頁並以乾淨的 Markdown 讀取頁面,附上發佈時間、作者、標準網址與內容雜湊等來源資訊,或執行搜尋加閱讀的研究彙整並逐條標註引用。依股票代號、公司名稱或 CIK 查詢 SEC EDGAR 文件,讀取某份文件或某公司最新的指定表格,並取得營收、淨利、總資產、現金與稀釋每股盈餘,每項數字都標明出自哪份文件。為公司文件或任意網址新增、移除與列出監控,並檢查是否有新文件或頁面變更。可選擇寄送新重要文件的電子郵件摘要,摘要中含原文引述。
- 適用情境
- 適合需要可引用、可判斷新舊程度的網頁內容,也適合需要 SEC 權威公司文件與主要財務指標的情況。監控工具適合對文件或頁面變更做定期追蹤。
- 執行需求
- 透過 npx 以 Node.js 套件在本機執行,或自架 HTTP 伺服器。不需帳號。BRAVE_API_KEY 為選用的搜尋金鑰,未設定時改用免金鑰的 DuckDuckGo;建議設定 SEC_USER_AGENT 以符合 SEC 公平存取要求。郵件摘要需要 ANTHROPIC_API_KEY 以及 VERIS_SMTP_URL、VERIS_MAIL_FROM、VERIS_MAIL_TO;HTTP 模式可使用 VERIS_API_KEYS 與 VERIS_RATE_LIMIT。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Veris,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
veris
[CI] [npm version] [license] · npx -y veris-mcp
Provenance-first web access for AI agents. Clean content plus verifiable source metadata, in one call.
Today an AI agent reading the web gets a wall of text. It does not get: when the page was published, whether the content changed since last time, who wrote it, the canonical source, or the license terms. veris attaches all of that to every read.
That metadata is not a nice-to-have. It is the foundation the rest of the AI-web economy needs: freshness, change-detection, citation, and — eventually — paying the people who wrote the content.
Why this exists
The web is being scraped by AI with no attribution and no payment. Publishers are responding by blocking bots and locking content. AI gets worse; publishers lose. The fix is a layer between agents and publishers that reads cleanly, tracks provenance, and (later) settles payment.
veris is the agent-side of that layer — the SDK every agent imports to consume the web responsibly. Think "Plaid for the AI web": you don't own the publishers, you own the integration developers reach for.
Roadmap (one codebase, three stages)
Stage 3: what v0.3.0 does
Every content read passes a policy gate first: web_read, web_research, finance_filing_read, URL watches (watch_manage refuses to add a URL it may not read; watch_check reports it as withheld and keeps the old baseline), and filing reads in veris-mcp digest. EDGAR index lookups use the SEC JSON API and are not page reads.
- robots.txt. Fetched per origin and matched for the
VerisBottoken (falls back to*), per RFC 9309: longest match wins,*and$wildcards, missing file = allow, 5xx = disallow. A disallowed URL returnsstatus: "blocked"with the exact rule (e.g.Disallow: /cgi-bin) and the page is never requested. - RSL licenses. Discovered from robots.txt
License:lines,<link rel="license" type="application/rsl+xml">, or inline<script type="application/rsl+xml">. The gate picks the<content>scope covering the URL and the license that permitsai-inputuse. - Price. If the license charges (
purchase,subscription,crawl,use), the tool returnsstatus: "payment_required"with the terms, price, and the RSL document URL instead of content. When the license is declared in robots.txt, the page is not fetched at all.priceHintis filled only from a declared<amount>, copied verbatim. A paid license with no amount reportsprice: null; veris never estimates one. - Ledger. Every read, block, and payment requirement is appended to
~/.veris/ledger.jsonl(overrideVERIS_LEDGER_FILE) with URL, content hash, timestamp, tool, and the full license record. Entries are hash-chained, so edits or deletions are detectable:veris-mcp ledger --verify. List withveris-mcp ledger [--kind read|blocked|payment_required|payment_intent] [--url U] [--since ISO] [--limit N]. - Settlement stub. A paid license also records a
payment_intententry (declared price, terms, license server). The default provider isnone: statusrecorded, nothing charged, content withheld. A real provider implementsPaymentProvider.authorize()insrc/settlement.tsand registers withsetPaymentProvider().
Every license field names its source (robotsUrl + robotsRule, rslUrl, price.source), so any verdict can be re-fetched and checked. Tool input schemas are unchanged from v0.2.
Tools
Web
Finance — SEC EDGAR (free, official, no API key)
Why EDGAR first? Filings carry authoritative dates and identifiers straight from the SEC — provenance isn't guessed, it's official. Free, structured, no auth. One call gets an agent the latest 10-K with a verifiable source:
Watch — change detection & alerts
Filings watches default to material forms only — 8-K, 10-K, 10-Q, 20-F, SC 13D/G,
merger proxies, offerings, late-filing notices. Routine Form 4 / 13F-HR traffic is suppressed,
because an alert feed nobody reads is worse than none. Pass formType: "ALL" to see everything,
or a specific form to watch just that one.
Alerts by email (veris-mcp digest)
watch_check returns JSON to an MCP client. digest turns the same data into an email a
human actually reads: it checks every watch, reads each new material filing, summarizes what
changed, and delivers it.
Every summary carries verbatim quotes from the filing, and each quote is checked against the source text before sending — quotes that can't be matched are flagged in the email rather than presented as fact. Filings longer than the character budget are marked as partially read; they are never silently truncated.
Run it on a schedule for a live alert feed:
Install
Or from source:
Optional env:
Without a Brave key, search falls back to keyless DuckDuckGo automatically. SEC requires a
Name email@domain style User-Agent — veris ships a default, but set your own contact.
Use in Claude Code
Add to your MCP config (.mcp.json):
Restart Claude Code, then ask it to web_research something.
Remote server (HTTP)
Run veris as a remote MCP server (Streamable HTTP) and connect from any MCP client by URL:
Self-hosting is free, forever. VERIS_API_KEYS exists so a hosted instance can be metered.
Docker
Works as-is on Fly.io / Render / Railway — anything that runs a Dockerfile.
Design notes
- Provenance from raw HTML. We fetch the page ourselves and pull dates/author/canonical from
<meta>, JSON-LD, and Open Graph before readability strips them. - Content hash. sha256 of extracted text — detects whether a page changed and enables dedupe across agents (the basis for a shared web index).
- Provider interface. Swap search backends without touching tool code.
- Cache + ledger.
cache.tskeeps the keyed read cache and the append-only, hash-chained attribution ledger side by side.
License
MIT
來源:README.md,提交 84dc8eb
工具
0版本歷史
3- v0.3.1最新Oct 10, 2026
- v0.3.0Oct 9, 2026
- v0.2.0Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分