# Palimpsest — censorship and model-eval observatory MCP server

Live internet-censorship signals and tamper-evident, pre-registered, hash-chained AI model evals.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-beepboop2025-palimpsest
- Repository: https://github.com/beepboop2025/palimpsest
- Website: https://palimpsest.info

## Install
- Endpoint: https://api.seiche.info/palimpsest/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://api.seiche.info/palimpsest/mcp

## Tools
- list_signals (List published signals) - List every live signal Palimpsest publishes, across both of its 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. AI model evaluation — the tamper-evident, pre-registered eval registry (hash-chained and Merkle-anchored) and frontier-model refusal drift, alongside the Generative Firewall Index over Chinese LLMs. Takes no arguments. Call this first to discover signal names, then get_signal for one full reading. Endpoint: https://api.seiche.info/palimpsest/mcp
- get_signal (One signal's full reading) - Read the full latest published reading of one named signal: the raw payload with its generated_at timestamp, method scope and upstream sources, exactly as served on palimpsest.info. 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, and 'refusal-drift' returns the current frontier-model refusal reading on the frozen benign probe set. Distinct from gfw_reading, which merges the two Great Firewall layers into one combined view. Endpoint: https://api.seiche.info/palimpsest/mcp
- whats_happening (Cross-signal board verdict) - 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' or 'refusal-drift'. Endpoint: https://api.seiche.info/palimpsest/mcp
- gfw_reading (Great Firewall: both layers) - 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'. Endpoint: https://api.seiche.info/palimpsest/mcp

## Resources
Not captured

## Prompts
- censorship_briefing - Information-control briefing The observatory's cross-signal read: what moved, what it means, with uncertainty stated before any verdict.
- gfw_status_check - Is it reachable from inside China? The Great Firewall reading for the services the observatory watches, both measurement layers, vantage limits stated.
- signal_deep_dive - One signal, full provenance A single signal's complete reading: method, vantage, uncertainty, history, and what would falsify it. Arguments: signal

## Metadata
- Owner: io.github.beepboop2025
- Version: 1.3.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Aug 2, 2026
- Source: https://registry.modelcontextprotocol.io
