Palimpsest — censorship, China economy and model-eval observatory

Rights-aware censorship, China-economic status, and tamper-evident AI evaluation tools.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
61%
命名品質
91%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,867Token(工具定義)
~1.3 KB典型回應大小
中等的注意力影響(128k 上下文的 1.46%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "palimpsest": {
      "url": "https://api.seiche.info/palimpsest/mcp"
    }
  }
}

遠端端點

https://api.seiche.info/palimpsest/mcpstreamable-http

它能做什麼

工具清單

工具(7)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢research_catalog(offset, limit)

Discover every Palimpsest dataset, including the latest China economic histories, external trade, regional research, information controls and model evaluations. Paginated metadata retains source clocks, rights and access states. Includes the Seiche research_network handoff for funding, institution and market-liquidity context; values are not copied.

輸入結構描述

{
  "type": "object",
  "properties": {
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000,
      "default": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 12
    }
  },
  "additionalProperties": false
}
🟢list_signals

List every published signal Palimpsest exposes across its three applications: name, one-line description and source URL for each. Censorship and information control — OONI Great Firewall probes, Censored Planet, IODA outages, circumvention demand, takedown and redaction pressure, and the board's own verdict. China economics — explicit metadata-only rights status for affected observations, pulse, forecast and derivative surfaces; no denied values are returned. AI model evaluation — the tamper-evident, pre-registered eval registry (hash-chained and Merkle-rooted), its claim-by-claim assurance ceiling, evidence-bound Eval Journal, deterministic live findings, and frontier-model refusal drift, alongside the Generative Firewall Index over a named China-focused panel. Takes no arguments. Call this first to discover signal names, then get_signal for one full reading.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_signal(name, max_rows)

Read one named signal. Permitted signals return their bounded latest payload; China-economic signals in the denied lineage closure return explicit restricted/unavailable rights metadata and no values. Call list_signals first to discover valid names. Use this for the AI-model-evaluation side too: 'eval-registry' returns the pre-registered, hash-chained eval ledger with its verified flag and Merkle root, 'gfi-transcripts' returns a bounded view of the complete GFI v2 response matrix, and 'refusal-drift' returns the current frontier-model refusal reading on the frozen benign probe set; read 'eval-assurance' before turning either into a validity claim, and 'eval-journal' for the evidence-bound explanation and source receipts, or 'eval-findings' for the current deterministic article edition. Distinct from gfw_reading, which merges the two Great Firewall layers into one combined view.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "signal name from list_signals, e.g. 'ooni-gfw', 'eval-registry', 'eval-assurance', 'eval-journal', 'eval-findings', 'gfi-transcripts' or 'refusal-drift'"
    },
    "max_rows": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 25,
      "description": "cap on long row arrays (dataset, ranked, samples). Default 25 keeps a call small enough not to stall a tool loop; the generative-firewall-index dataset is 132 rows. Any cap applied is reported in the response with the true total, never silently."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}
🟢get_newsroom(view, limit, status, priority)

Read one evidence-first reporting surface without scraping a page or guessing a filename. Views: 'newsroom' for prioritized deterministic stories, 'wire' for normalized source dossiers, 'economy' for the currently restricted China economic pulse, 'machine-analysis' for the currently restricted AnalysisReports and AbstentionReports, 'investigations' for review-gated research leads, 'editorial-readiness' for publication gates, and 'interconnection' for named-key fat-object joins on China situation events (topic-surface-only, never wire corroboration). The economy, machine-analysis and interconnection views are metadata-only until a lineage-filtered rebuild removes denied derivatives. Availability never implies publication readiness: statuses, gates, counterevidence, limitations and right-to-reply state stay attached.

輸入結構描述

{
  "type": "object",
  "properties": {
    "view": {
      "type": "string",
      "enum": [
        "newsroom",
        "wire",
        "economy",
        "machine-analysis",
        "investigations",
        "editorial-readiness",
        "interconnection"
      ],
      "default": "newsroom"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    },
    "status": {
      "type": "string",
      "description": "optional exact status filter for story/case views"
    },
    "priority": {
      "type": "string",
      "description": "optional exact priority filter for the newsroom view"
    }
  },
  "additionalProperties": false
}
🟢query_economic_observations(series_id, source_id, geography, sector, firm_size, ...)

Inspect the native publication-rights status for the China-economic observation surface. The reviewed default-deny policy does not authorize redistribution of current CFETS/ChinaMoney values, so this tool returns policy digest, UTC clocks, per-source decisions and zero published-record status only. It never reads or returns observation rows, empty row arrays, derived signals, or neutral replacements. Filters are validated for contract compatibility but cannot override source rights.

輸入結構描述

{
  "type": "object",
  "properties": {
    "series_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "exact series_id filter"
    },
    "source_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "exact source_id filter"
    },
    "geography": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "exact geography filter"
    },
    "sector": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "exact sector filter"
    },
    "firm_size": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "exact firm_size filter"
    },
    "ownership": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "exact ownership filter"
    },
    "as_of": {
      "type": "string",
      "format": "date-time",
      "description": "point-in-time cutoff applied to BOTH released_at and collected_at; omitted means the full published ledger"
    },
    "period_start": {
      "type": "string",
      "format": "date",
      "description": "inclusive lower bound on observation period_start"
    },
    "period_end": {
      "type": "string",
      "format": "date",
      "description": "inclusive upper bound on observation period_end"
    },
    "released_from": {
      "type": "string",
      "format": "date-time",
      "description": "inclusive lower bound on released_at"
    },
    "released_to": {
      "type": "string",
      "format": "date-time",
      "description": "inclusive upper bound on released_at"
    },
    "revision_view": {
      "type": "string",
      "enum": [
        "all",
        "latest-as-of"
      ],
      "default": "latest-as-of",
      "description": "all visible vintages, or the newest knowable revision per source/series/slice/period"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "opaque next_cursor from the preceding page"
    }
  },
  "additionalProperties": false
}
🟢whats_happening

Judge whether anything is happening in Chinese censorship right now, across every signal at once: the board's own cross-signal verdict with the multiplicity paid for (false-discovery control) and coverage confounds flagged as measurement artifacts, never findings. Takes no arguments. Use this instead of fetching signals individually and reconciling them yourself; then use get_signal to drill into whichever signal moved. Scope note: this is the censorship board. For the AI-model-evaluation side use get_signal with 'eval-registry', 'eval-assurance' or 'refusal-drift'.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢gfw_reading

Read the Great Firewall's current state at both layers in one call: live network blocking measured inside China via OONI (website, messenger and circumvention-tool reachability) joined with model-layer censorship from the Generative Firewall Index over Chinese LLMs. Takes no arguments. A combined convenience view — for one layer's full raw payload use get_signal with 'ooni-gfw' or 'generative-firewall-index'.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本7 個工具
已驗證未記錄版本7 個工具
已驗證未記錄版本7 個工具