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 环境变量 | 可见层级 |
MCP 1 |
| 1、2、3(全部) |
MCP 2 |
| 2、3 |
MCP 3 |
| 仅 3 |
这三个服务使用同一套代码库(mcp/server.py)——只有 MAX_TIER 环境变量的值不同。每个服务都有自己的 SQL 过滤器,因此 MCP-3 部署根本无法查询 tier-1 数据行;这不仅仅是隐藏在 UI 中。
文件
mcp/data.py— 200 个精选阴谋论,包含标题/摘要/层级/分类db/schema.sql— Postgres 模式(theories 表 + 生成的 tsvector 搜索列)mcp/build_db_postgres.py— 将 200 个阴谋论加载到 Postgres 数据库(DATABASE_URL环境变量)mcp/server_postgres.py— 基于 Postgres 的分层 FastCP 服务器(4 个工具:list_theories、search_theories、get_theory、tier_info)vault/*.md— 200 个 Obsidian 风格的笔记,每个阴谋论对应一个(如需 vault 文件,仍可通过mcp/build_db.py在本地生成;SQLite 版本保留为server.py/build_db.py,以备将来需要完全本地/离线的变体)Dockerfile— 单一镜像;3 个已部署的服务都运行此镜像,连接到同一个共享 Postgres 实例,仅在MAX_TIER上有所区别render.yaml— Render blueprint:1 个托管免费 Postgres 数据库 + 3 个 Web 服务
本地构建/测试(Postgres)
需要 Postgres 实例——如果你不想在 Windows 上安装 Postgres,最简单的方式是从 Neon 或 Supabse 获取一个免费的。
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 + → Blueprrint → 选择该仓库。
Render 读取
render.yaml并配置:1 个托管免费 Postgres 数据库(
conspiracy-db)3 个 Web 服务,每个都通过
DATABASE_URL自动连接到同一个数据库,仅在MAX_TIER上有所区别
数据库上线后,运行一次加载器(在任意 3 个服务的 Render Shell 标签页中,或从你自己的机器使用数据库的外部连接字符串):
$env:DATABASE_URL = "<external connection string from Render dashboard>" python mcp/build_db_postgres.py所有 3 个服务现在都基于同一个数据库运行,按层级过滤。从 Render 仪表板获取 3 个公共 URL。
Fly.io 替代方案: 使用 Fly Postgres(fly postgres create)作为共享数据库,然后对 3 个应用分别执行 fly deploy,并分别为每个应用设置 DATABASE_URL 和 MAX_TIER——思路相同,平台不同。
部署完成后,将每个 URL 各自注册为一个 MCP 连接器——MCP 1 的 URL 用于完全访问,MCP 2 的用于中间层级,MCP 3 的用于公开/基础演示——这才是真正满足"非本地"要求的关键。
接入 Claude / MCP 客户端
每个已部署的 URL 都是标准的 streambable-HTTP MCP 端点——按照添加任何其他 MCP 服务器的方式,将其添加为远程连接器,指向 https://<service>.onrender.com(或你的 Fly 应用 URL)。无需本地导入步骤——数据库在构建时已内置于每个容器中。
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