conspiracy-wiki-mcp
Conspiracy Wiki — Abgestuftes MCP-Projekt
Gleiches Muster wie beim persönlichen Wissensgraph-Projekt (vault → db → MCP), angewendet auf ein Wiki mit 200 Verschwörungstheorie-Einträgen, aufgeteilt in 3 Zugriffsstufen und bereitgestellt über 3 separat deploybare MCP-Server.
Stufendefinitionen
Stufe | Bedeutung (laut TL-Spezifikation) | Anzahl |
1 | Am dunkelsten / extremsten (weiterhin real, dokumentiert — deklassifizierte Programme, Theorien zu ungeklärten Todesfällen, Vertuschungsvorwürfe) | 84 |
2 | Basis / moderat dunkler | ~93 |
3 | Basis, Mainstream (Mondlandung, Bigfoot usw.) | ~23 |
Anmerkung zum Umfang: Auf Hassrede basierende Verschwörungserzählungen (antisemitische Stereotype, Holocaustleugnung, „Great Replacement“ usw.) und alles, was sich wie ein Aufruf zur Gewalt liest, sind auf jeder Stufe ausgeschlossen — diese Grenze verschiebt sich nicht, egal wie „dunkel“ eine Stufe sein soll.
Related MCP server: wiki-loop-mcp
Zugriffsmatrix (kumulativ, laut Spezifikation)
MCP | MAX_TIER-Umgebungsvariable | Sieht Stufen |
MCP 1 |
| 1, 2, 3 (alles) |
MCP 2 |
| 2, 3 |
MCP 3 |
| nur 3 |
Dieselbe Codebasis (mcp/server.py) für alle drei — nur die MAX_TIER-Umgebungsvariable unterscheidet sich. Jede Bereitstellung hat ihren eigenen SQL-Filter, sodass ein MCP-3-Deployment Stufe-1-Zeilen schlichtweg nicht abfragen kann; es ist nicht nur in der UI versteckt.
Dateien
mcp/data.py— die 200 kuratierten Theorien mit Titel/Zusammenfassung/Stufe/Kategoriedb/schema.sql— Postgres-Schema (theories-Tabelle + generierte tsvector-Suchspalte)mcp/build_db_postgres.py— lädt die 200 Theorien in eine Postgres-DB (DATABASE_URL-Umgebungsvariable)mcp/server_postgres.py— der gestufte FastMCP-Server mit Postgres-Backend (4 Tools:list_theories,search_theories,get_theory,tier_info)vault/*.md— 200 Notizen im Obsidian-Stil, eine pro Theorie (werden weiterhin lokal übermcp/build_db.pygeneriert, falls du die Vault-Dateien möchtest; die SQLite-Version bleibt alsbuild_db.pyerhalten, falls du jemals eine komplett lokale/Offline-Variante möchtest)Dockerfile— ein einzelnes Image; alle 3 bereitgestellten Dienste führen dieses Image aus, verbinden sich mit DERSELBEN gemeinsamen Postgres-Instanz und unterscheiden sich nur inMAX_TIERrender.yaml— Render-Blueprint: 1 verwaltete kostenlose Postgres-DB + 3 Web-Dienste
Lokaler Build/Test (Postgres)
Erfordert eine Postgres-Instanz — am einfachsten ist eine kostenlose Instanz von Neon oder Supabase, falls du Postgres nicht unter Windows installieren möchtest.
cd conspiracy-wiki-mcp
pip install -r requirements.txt
$env:DATABASE_URL = "postgres://user:pass@host:5432/conspiracy_db"
cd mcp
python build_db_postgres.py # creates schema + loads 200 rows
$env:MAX_TIER = "1"
python server_postgres.py # runs on :8000Deployment (damit es NICHT lokal ist — erforderlich, damit die Aufgabe zählt)
Render (empfohlen — ein Blueprint erledigt alles):
Pushe diesen Ordner in ein GitHub-Repository.
Auf Render: New + → Blueprint → wähle das Repository aus.
Render liest
render.yamlund richtet Folgendes ein:1 verwaltete kostenlose Postgres-DB (
conspiracy-db)3 Web-Dienste, die jeweils über
DATABASE_URLautomatisch mit derselben DB verbunden sind und sich nur inMAX_TIERunterscheiden
Sobald die DB live ist, führe den Loader einmal aus (Render-Shell-Tab auf einem der 3 Dienste oder von deinem Rechner aus mit dem externen Verbindungsstring der DB):
$env:DATABASE_URL = "<external connection string from Render dashboard>" python mcp/build_db_postgres.pyAlle 3 Dienste bedienen jetzt dieselbe DB, nach Stufe gefiltert. Hol dir die 3 öffentlichen URLs aus dem Render-Dashboard.
Fly.io-Alternative: Verwende Fly Postgres (fly postgres create) für die gemeinsame DB und führe dann bei jeder der 3 Apps fly deploy aus, wobei DATABASE_URL und MAX_TIER pro App gesetzt werden — gleiche Idee, andere Plattform.
Sobald alles bereitgestellt ist, registriere jede URL als eigenen MCP-Connector — die URL von MCP 1 für vollen Zugriff, die von MCP 2 für die mittlere Stufe, die von MCP 3 für die öffentliche/Basis-Demo — genau das erfüllt „nicht lokal“ tatsächlich.
Anbindung an Claude / MCP-Clients
Jede bereitgestellte URL ist ein Standard-Streamable-HTTP-MCP-Endpunkt — füge sie als Remote-Connector hinzu, genau wie du jeden anderen MCP-Server hinzufügen würdest, und zeige dabei auf https://<service>.onrender.com (oder deine Fly-App-URL). Kein lokaler Ingest-Schritt nötig — die DB ist beim Build bereits in jeden Container eingebacken.
This server cannot be deployed
Maintenance
Related MCP Connectors
- FlowdexOAuthdk.flowdex
Read and write your team's shared, AI-readable wiki from any MCP client.
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
An MCP server for deep research or task groups
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server to search and read documentation pages from a WikiJS instance via its GraphQL API.-
- AlicenseNot gradedqualityBmaintenanceMCP server that provides tools to add to, search, and manage a wiki knowledge base, enabling AI chat tools to contribute and retrieve information from the wiki via natural language prompts.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server to query a Git-hosted Wiki, offering tools to list, search, and read Markdown documents via Codex or VS Code.MIT
- AlicenseAqualityBmaintenanceA read-only MCP server that lets you search current and historical facts from a time-indexed knowledge graph derived from a folder of Markdown/text documents, with verification against original sources. It exposes tools for status, fact search, history search, and revision lookup while keeping document insertion and modification to the CLI.3MIT