Query with Claude

The Platform Actions incident database is exposed over the Model Context Protocol (MCP)—read-only, no authentication required. Ask analytical questions in plain language and Claude reasons over the data; your subscription or API key provides the inference.

Endpoint https://platformactions.org/mcp

Connect

Fastest: paste this into Claude Code, Claude Desktop, or any MCP-aware agent and let it set itself up:

Add the Platform Actions MCP server to my setup: https://platformactions.org/mcp
(Streamable HTTP transport, read-only, no authentication required). Then verify
it connected by calling its list_findings tool and showing me the results.

Manual: Claude Desktop—add to claude_desktop_config.json:

{
  "mcpServers": {
    "platform-actions": {
      "url": "https://platformactions.org/mcp",
      "transport": "http"
    }
  }
}

Anthropic SDK (Python):

import anthropic

client = anthropic.Anthropic()
response = client.beta.messages.create(
    model="claude-opus-4-6",
    max_tokens=2048,
    mcp_servers=[{
        "type": "url",
        "url": "https://platformactions.org/mcp",
        "name": "platformactions",
    }],
    messages=[{"role": "user", "content":
        "Which incidents document appeal grants overridden by re-suspension? Cite PA ids."}],
)
print(response.content[0].text)

Available tools

Five read-only tools. Claude selects and chains them automatically based on your question.

The site is in a preview phase: some incidents carry status: "DRAFT" pending final publication review, and both DRAFT and published records are returned by these tools. get_incident includes the status field so you can tell which is which—search_incidents summaries and the pa://incidents resource do not, so treat all incidents as provisional until this notice is removed.

search_incidents(query?, platform?, action_type?, ai_involvement?, verification_level?, date_from?, date_to?, limit?, offset?)
Substring search across summaries and curator commentary, with structured filters for platform, action type, AI involvement, verification level, and date range. Returns paginated incident summaries with deep-link URLs. platform is an exact, case-sensitive match—call get_stats for the current platform list.
get_incident(id)
Fetch a single record by its permanent PA-YYYY-NNNN identifier, including full text, sources, archive URLs, and linked findings.
list_findings()
List all analytical findings with their claims, confidence levels, and incident counts.
get_finding(id)
Fetch a single finding by slug, including the full body and the incidents that support it.
get_stats(platform?, action_type?, date_from?, date_to?)
Aggregate counts by platform, action type, verification level, and date range. Returns total incidents, platform list, and archive coverage percentage.

Resources

Three read-only MCP resources, for clients that prefer resource reads over tool calls.

pa://incidents
All visible enforcement incident records (up to 100), as compact summaries.
pa://findings
All visible analytical findings, with claims and confidence levels but no body text.
pa://stats
Aggregate statistics across the incident database—same payload as get_stats().

Prompt templates

Three server-side prompt templates. Each pre-fetches the relevant records and wraps curator text in labelled, injection-resistant framing before handing it to the model.

research_platform(platform)
Research enforcement actions by a specific platform.
analyze_finding(finding_id)
Analyze a specific finding across all linked incidents.
summarize_recent(limit?)
Summarize recent enforcement incidents (default 10).

Example queries

  • Journalist

    Show me every case where an appeal was granted and the account was re-suspended anyway, with dates and sources.

  • Researcher

    What share of records cite no specific policy in enforcement notices? Break it down by action type.

  • Regulator

    List incidents where identity documents or biometric data were requested during appeal, and the outcome of each.

  • Lawyer

    Retrieve PA-2026-0047 with its full source and archive chain, verification level, and the curator's inference basis.

  • Affected user

    Are there documented cases of multi-account cascades where only some accounts could be appealed?

  • Data scientist

    Aggregate enforcement actions per month since December 2023 and flag the months with cascade incidents.

Prompt injection posture

A database documenting adversarial platform behavior must assume adversarial records. Incident data is returned as structured MCP tool results—never injected into system prompts. A record containing instruction-shaped text cannot hijack your query context; the MCP protocol's tool-result framing is the boundary. Curator-entered fields (summary, curator_commentary) are the only free text searchable via the tools. Internal chain-of-custody fields are excluded from all tool responses at the type level.

Support this archive

This archive is free to use. Running it costs money. If it's been useful to you, a contribution helps keep it running.

If it happened to you

Platform Actions documents what platforms did. If you’re a legitimate account holder whose case is stuck in support loops, see Resources for escalation paths by jurisdiction. For US-based cases, Signal Flare covers the full stack: state Attorneys General, the FTC, and congressional offices.

Signal Flare—Account Recovery Escalation

A structured 5-stage escalation framework for legitimate account holders whose recovery has failed through standard support. Covers Meta, Google/YouTube, X, Discord, TikTok, and 7 more platforms. The framework is plain Markdown—no Claude required to read and apply it. Most cases resolve at Stage 3.