conspiracy-wiki-mcp
Conspiracy Wiki — многоуровневый MCP-проект
Тот же паттерн, что и в проекте персонального графа знаний (vault → db → MCP), применён к вики по теориям заговора из 200 записей, разделённой на 3 уровня доступа и предоставляемой через 3 независимо разворачиваемых MCP-сервера.
Определения уровней
Уровень | Значение (по спецификации TL) | Количество |
1 | Самый тёмный / наиболее экстремальный (по-прежнему реальный и задокументированный — рассекреченные программы, теории о нераскрытых смертях, обвинения в сокрытии) | 84 |
2 | Базовый / умеренно более тёмный | ~93 |
3 | Базовый, мейнстримный (высадка на Луну, снежный человек и т.п.) | ~23 |
Примечание о границах охвата: конспирологические теории, основанные на языке вражды (антисемитские клише, отрицание Холокоста, «великое замещение» и т.п.), а также всё, что воспринимается как призыв к насилию, исключаются на любом уровне — эта граница не сдвигается независимо от того, насколько «тёмным» предполагается уровень.
Related MCP server: wiki-loop-mcp
Матрица доступа (кумулятивная, согласно спецификации)
MCP | MAX_TIER env | Видимые уровни |
MCP 1 |
| 1, 2, 3 (всё) |
MCP 2 |
| 2, 3 |
MCP 3 |
| только 3 |
Одна и та же кодовая база (mcp/server.py) для всех трёх сервисов — отличается только переменная окружения MAX_TIER. У каждого свой SQL-фильтр, поэтому развёртывание MCP-3 в буквальном смысле не может запросить строки уровня 1; они не просто скрыты в интерфейсе.
Файлы
mcp/data.py— 200 отобранных теорий с полями title/summary/tier/categorydb/schema.sql— схема Postgres (таблица theories + генерируемая поисковая колонка tsvector)mcp/build_db_postgres.py— загружает 200 теорий в БД Postgres (переменная окруженияDATABASE_URL)mcp/server_postgres.py— многоуровневый FastMCP-сервер на базе Postgres (4 инструмента:list_theories,search_theories,get_theory,tier_info)vault/*.md— 200 заметок в стиле Obsidian, по одной на теорию (по-прежнему генерируются локально черезmcp/build_db.py, если нужны файлы vault; версия на SQLite сохранена какserver.py/build_db.pyна случай, если когда-нибудь понадобится полностью локальный/офлайн-вариант)Dockerfile— единый образ; все 3 развёрнутых сервиса запускают этот образ, подключаясь к ОДНОЙ И ТОЙ ЖЕ общей БД Postgres и отличаясь только значениемMAX_TIERrender.yaml— blueprint Render: 1 управляемая бесплатная БД Postgres + 3 веб-сервиса
Локальная сборка/тестирование (Postgres)
Требуется экземпляр Postgres — проще всего взять бесплатный у Neon или Supabase, если вы не хотите устанавливать Postgres на Windows.
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 :8000Развёртывание (чтобы это было НЕ локально — обязательно для зачёта задания)
Render (рекомендуется — один blueprint делает всё):
Запушьте эту папку в репозиторий GitHub.
В Render: New + → Blueprint → выберите репозиторий.
Render читает
render.yamlи создаёт:1 бесплатную управляемую БД Postgres (
conspiracy-db)3 веб-сервиса, каждый из которых автоматически подключён к той же БД через
DATABASE_URLи отличается только значениемMAX_TIER
После того как БД станет доступной, запустите загрузчик один раз (вкладка Render Shell на любом из 3 сервисов или со своей машины, используя внешнюю строку подключения к БД):
$env:DATABASE_URL = "<external connection string from Render dashboard>" python mcp/build_db_postgres.pyТеперь все 3 сервиса обслуживают одну и ту же БД с фильтрацией по уровню. Скопируйте 3 публичных URL из панели управления Render.
Альтернатива на Fly.io: используйте Fly Postgres (fly postgres create) для общей БД, затем выполните fly deploy для каждого из 3 приложений, указав DATABASE_URL и MAX_TIER в каждом, — та же идея, другая платформа.
После развёртывания зарегистрируйте каждый URL как отдельный MCP-коннектор: URL MCP 1 — для полного доступа, MCP 2 — для среднего уровня, MCP 3 — для публичной/базовой демонстрации. Именно это и удовлетворяет требованию «не локально».
Подключение к Claude / MCP-клиентам
Каждый развёрнутый URL — это стандартный endpoint MCP на базе streamable-HTTP; добавьте его как удалённый коннектор точно так же, как добавили бы любой другой MCP-сервер, указав https://<service>.onrender.com (или URL вашего приложения на Fly). Никакой локальной загрузки не требуется — БД уже встроена в каждый контейнер на этапе сборки.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
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 and manage your team's knowledge from MCP clients.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server to search and read documentation pages from a WikiJS instance via its GraphQL API.-
- AlicenseNot gradedqualityDmaintenanceMCP 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
- AlicenseAqualityDmaintenanceA 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