conspiracy-wiki-mcp
Conspiracy Wiki — Tiered MCP Project
개인 지식 그래프 프로젝트(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 배포본은 티어 1 행을 문자 그대로 조회할 수 없습니다. 단지 UI에서 숨겨져 있는 것만이 아닙니다.
파일
mcp/data.py— 제목/요약/티어/카테고리가 포함된 200개의 선별된 음모론db/schema.sql— Postgres 스키마(theories 테이블 + 생성된 tsvector 검색 컬럼)mcp/build_db_postgres.py— 200개의 음모론을 Postgres DB에 로드(DATABASE_URL환경 변수)mcp/server_postgres.py— 티어 기반 FastMCP 서버, Postgres 백엔드(4개 도구:list_theories,search_theories,get_theory,tier_info)vault/*.md— 음모론당 하나씩, Obsidian 스타일 노트 200개(vault 파일이 필요하면 여전히mcp/build_db.py로 로컬에서 생성됩니다. 완전히 로컬/오프라인 변형이 필요하다면 SQLite 버전이server.py/build_db.py로 유지됩니다)Dockerfile— 단일 이미지. 배포된 3개 서비스 모두 이 이미지를 실행하며, 동일한 공유 Postgres 인스턴스에 연결되고MAX_TIER만 다릅니다render.yaml— Render 블루프린트: 무료 관리형 Postgres DB 1개 + 웹 서비스 3개
로컬 빌드/테스트(Postgres)
Postgres 인스턴스가 필요합니다 — Windows에 Postgres를 설치하고 싶지 않다면 Neon이나 Supabase의 무료 인스턴스가 가장 쉽습니다.
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(권장 — 블루프린트 하나면 모든 것이 처리됩니다):
이 폴더를 GitHub 리포지토리에 푸시합니다.
Render에서: New + → Blueprint → 리포지토리를 선택합니다.
Render는
render.yaml을 읽고 다음을 프로비저닝합니다:무료 관리형 Postgres DB 1개(
conspiracy-db)웹 서비스 3개 — 각각
DATABASE_URL을 통해 동일한 DB에 자동 연결되고MAX_TIER만 다릅니다
DB가 활성화된 후 로더를 한 번 실행합니다(3개 서비스 중 아무 데서나 Render Shell 탭을 사용하거나, DB의 외부 연결 문자열로 자신의 머신에서 실행):
$env:DATABASE_URL = "<external connection string from Render dashboard>" python mcp/build_db_postgres.py이제 3개 서비스 모두 동일한 DB를 티어별로 필터링하여 제공합니다. Render 대시보드에서 공개 URL 3개를 확보하세요.
Fly.io 대안: 공유 DB에는 Fly Postgres(fly postgres create)를 사용하고, 앱별로 DATABASE_URL과 MAX_TIER를 설정한 다음 3개 앱을 각각 fly deploy하면 됩니다 — 같은 아이디어, 다른 플랫폼.
배포가 완료되면 각 URL을 각자의 MCP 커넥터로 등록하세요 — 전체 접근용 MCP 1의 URL, 중간 티어용 MCP 2의 URL, 공개/기본 데모용 MCP 3의 URL — 이것이 실제로 "로컬이 아님" 조건을 충족시키는 부분입니다.
Claude / MCP 클라이언트에 연결하기
각 배포된 URL은 표준 streamable-HTTP MCP 엔드포인트입니다 — 다른 MCP 서버를 추가하는 것과 같은 방식으로 원격 커넥터로 추가하고, https://<service>.onrender.com(또는 Fly 앱 URL)을 가리키게 하면 됩니다. 로컬 수집 단계는 필요하지 않습니다 — DB는 이미 빌드 시점에 각 컨테이너에 포함되어 있습니다.
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