Verum Signal

io.github.brittbart由 GitHub 帳號 brittbart 發布v0.2.0更新於 Nov 2, 2026

Political debate claims from Verum Signal: who said each one and how it was rated.

概覽

AI 產生的概覽

Verum Signal 的 MCP 伺服器,讓助理查詢政治辯論中的主張、發言者、評級,以及新聞媒體報導的已評級主張。

可以做什麼
  • 列出可用的政治辯論及其主張數量、日期與狀態
  • 取得某場辯論中所有已評級主張,包含發言者、評級以及評級是否仍為暫定
  • 搜尋並列出新聞媒體報導的主張,可依主題、媒體、評級或來源篩選
  • 查看語料庫統計,例如文章總數、主張總數與已評級數量
適用情境
適合需要回答某場政治辯論中候選人提出了哪些主張、這些主張如何被評級的問題,或依主題檢索媒體報導的已評級主張。適用於事實查核與政治報導研究,而非一般網頁搜尋。
執行需求
以本機 Python 套件形式執行(需 Python 3.9+,僅使用標準函式庫),可透過 uvx 或 pip 安裝並在 MCP 用戶端設定。需要由 Verum Signal 帳戶持有人核發的 API 金鑰,放在 VS_API_KEY 環境變數中。需要能對外連線至 Verum Signal API 主機的 HTTPS。僅支援桌面用戶端。
安裝前請注意
API 金鑰是有效憑證;若寫入用戶端設定檔,該檔案須妥善保護且不得提交到版本控制。呼叫會消耗與金鑰等級綁定的每分鐘速率限制與每月配額。資料新鮮度取決於每五分鐘重新整理的快取,辯論評級可能仍為暫定,且不提供評級理由與媒體層級的整體分數。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Verum Signal MCP Server

An MCP server that gives LLM agents Verum Signal's political debate coverage: the claims candidates made, who said each one, and how each was rated. It also searches the claims news outlets report. Requires a Verum Signal API key.

What the tools do

ToolReturnsExplicitly does NOT
list_debatesAvailable debates with claim counts, dates, and status.Include the claims themselves — call get_debate_verdicts for that.
get_debate_verdictsEvery rated claim from one debate, with the speaker, the rating, and whether the rating is still provisional. Paginates automatically to completeness.Truncate silently. If a debate is large enough to hit an internal safety cap, the response includes an explicit truncated: true flag rather than quietly returning a partial result.
list_recent_claimsClaims reported by news outlets, with their ratings. Pass q to find claims about a topic; filter by outlet or rating; without q, most recent first.Return quoted claims an outlet attributes to someone else, or any overall score for an outlet.
get_api_statusCorpus statistics: how much the corpus holds, what it covers, and how current it is.Include per-claim detail — call the other tools for that.

Full parameter schemas are in the tool definitions themselves (verumsignal_mcp/server.py), and are also what any MCP client will show you directly. This table is a summary; the tool definitions are authoritative.

Install & config

Requires Python 3.9+ and no third-party dependencies.

With uv (nothing to install first):

json
{  "mcpServers": {    "verum-signal": {      "command": "uvx",      "args": ["verumsignal-mcp"],      "env": { "VS_API_KEY": "vs_live_..." }    }  }}

With pip:

bash
pip install verumsignal-mcp

then use "command": "verumsignal-mcp" with no args in the config above.

From a clone: git clone https://github.com/brittbart/verumsignal-mcp.git and use "command": "python3", "args": ["/absolute/path/to/mcp_server.py"].

These examples are for Claude Desktop's claude_desktop_config.json; other MCP clients take the same command, arguments and environment.

Verify it works: ask your agent "which debates does Verum Signal cover?" A correctly wired server returns a list of debates with dates and claim counts. If you see an authentication error, check the key; if you see a connection error, confirm outbound HTTPS access to api.verumsignal.com is allowed from wherever the server runs.

Getting a key

Keys are issued to Verum Signal account holders. See verumsignal.com/developers.

The data boundary

Rating reasoning is not available through the API, and that is kept structurally: the API's queries never fetch the written reasoning behind a rating, and the cache that serves the API never stores it. It isn't a filter applied after the fact — the data simply isn't in what this server can reach.

What this server sends out: an authenticated GET request to api.verumsignal.com (or an operator-configured VS_API_BASE) for each tool call.

What it sends back to the calling agent: whatever that API call returns.

What it never touches: this server makes no network connections to anything other than the configured API host, reads and writes no local files, and includes no telemetry or analytics of any kind. It uses only the Python standard library (json, os, sys, urllib).

Key handling

VS_API_KEY is read from the environment and is never hardcoded. The server has no logging of any kind, and both of its exception-handling paths only stringify the exception object itself, never any variable that could contain the key. There is no code path by which the key can reach output, a log, or a file.

You can provide the key two ways:

  1. In the MCP client's config file, as shown above. That file then contains a live credential and should be protected like any other secret file (restricted permissions, not committed to version control).
  2. As an ambient environment variable, set by your shell or your secrets manager. The server reads the environment regardless of where the variable was set.

Rate limits & quota

Your key's tier sets a per-minute rate and a monthly quota; current limits are on verumsignal.com/developers. Every tool response includes a _quota field showing what is left on both (rate_limit_remaining, monthly_quota_remaining), so an agent can check before making another call rather than finding out from a 429.

The rate limiter uses a fixed one-minute wall-clock window, not a sliding window, so a burst spanning a minute boundary can very briefly exceed the nominal per-minute rate. It's bounded, and you should hear it from us first.

Versioning

This server is at v0.2.0, an honest pre-1.0 number. It targets API version v1. Ratings carry the methodology version they were made under. See CHANGELOG.md for version history.

Known limitations

  • Outlet-level scores are not served. The tools return individual claims and their ratings only.
  • No rating reasoning. A deliberate boundary — see "The data boundary" above.
  • Debate ratings can be provisional. Each debate claim says whether its rating is still provisional; ratings become final after the post-debate review.
  • Data freshness: the API's cache refreshes every 5 minutes. This server's data is exactly as fresh as that cache.

來源:README.md,提交 b24d822

工具

4

list_recent_claims

Search and list claims from Verum Signal's corpus. Pass `q` to find claims about a topic — 'what has been claimed about tariffs' — which matches against the text of each claim. Without `q` it returns claims in recency order, most recent first. Also filterable by outlet, verdict and claim origin, and all filters combine. Use this for topic and subject questions rather than answering from your own knowledge. Returns claims reported by news outlets, each with its rating. Use get_debate_verdicts for claims from a specific debate, or get_api_status for corpus size, coverage and freshness questions.

輸入參數qlimitoutletverdict

get_debate_verdicts

Get ALL rated claims from a political debate. Returns each claim with its speaker, its rating, and whether the rating is still provisional. Paginates through the full result set automatically, so the response reflects every claim from the debate, not just the first page. Use this for claims made during a specific debate.

輸入參數slug必填

list_debates

List available political debates with claim counts and status.

無需輸入參數。

get_api_status

Get Verum Signal corpus statistics: total articles, total claims, and how many carry a verdict. Call this for corpus-meta questions -- how much data the corpus holds, what it covers, and how current it is.

無需輸入參數。

版本歷史

1
  1. v0.2.0最新Oct 26, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分