protogrid

Search / io.github.beepboop2025/palimpsest

Palimpsest — censorship, China economy and model-eval observatory

R0· no sign-in

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

v1.9.3 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust94of 100
Uptime, 30 days100%
Latency p50411 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "palimpsest": {
      "type": "http",
      "url": "https://api.seiche.info/palimpsest/mcp"
    }
  }
}
claude mcp add --transport http palimpsest https://api.seiche.info/palimpsest/mcp
[mcp_servers.palimpsest]
url = "https://api.seiche.info/palimpsest/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "palimpsest": {
      "type": "remote",
      "url": "https://api.seiche.info/palimpsest/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "palimpsest": {
      "type": "http",
      "url": "https://api.seiche.info/palimpsest/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=palimpsest&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnNlaWNoZS5pbmZvL3BhbGltcHNlc3QvbWNwIn0%3D"
}
{
  "servers": {
    "palimpsest": {
      "type": "http",
      "url": "https://api.seiche.info/palimpsest/mcp"
    }
  }
}
{
  "mcpServers": {
    "palimpsest": {
      "httpUrl": "https://api.seiche.info/palimpsest/mcp"
    }
  }
}
extensions:
  "palimpsest":
    enabled: true
    name: "palimpsest"
    type: streamable_http
    uri: "https://api.seiche.info/palimpsest/mcp"
    timeout: 300

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: research_catalog (destructiveHint); list_signals (destructiveHint); get_signal (destructiveHint); …
  • pass
    tools.token_costabout 2,087 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

7 tools, about 2,087 tokens to load them all · tool set 8e981b8d43d2 · checked 2026-10-19 16:20 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance90
liveness100
freshness85
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-51d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.seiche.info/palimpsest/mcp streamable-httpnoneyes100%411 ms2025-06-182026-10-19

Tools (7)

get_newsroomread-onlyRead 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.
get_signalread-onlyRead 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.
gfw_readingread-onlyRead 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'.
list_signalsread-onlyList 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.
query_economic_observationsread-onlyInspect 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.
research_catalogread-onlyDiscover 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.
whats_happeningread-onlyJudge 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'.

Schemas: list_tools.

Similar MCP servers

More from io.github.beepboop2025

And 16 more from this publisher.

Official server.json
{
  "name": "io.github.beepboop2025/palimpsest",
  "title": "Palimpsest — censorship, China economy and model-eval observatory",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.seiche.info/palimpsest/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.9.3",
  "repository": {
    "url": "https://github.com/beepboop2025/palimpsest",
    "source": "github"
  },
  "websiteUrl": "https://palimpsest.info",
  "description": "Rights-aware censorship, China-economic status, and tamper-evident AI evaluation tools."
}