panopticon
panopticon-mcp
디자인·창작 커뮤니티의 아카이브를 서빙하는 MCP 서버입니다. 567,665개 주제에 걸친 댓글 3,916,116개, 노트 2,972,803개, 첫 페이지 스냅샷 42,796개가 5분마다 갱신됩니다. 기록은 2001년에 시작되고 댓글은 2002년에 시작됩니다. “지난 주에 가장 활발히 활동한 사용자는 누구인가?” 같은 질문에 답하며, 이 시스템 전체가 바로 그 질문을 위해 만들어졌습니다.
이 저장소는 코드를 읽을 수 있도록 공개된 것입니다. 코드를 읽는 것은 서버를 사용하기 위한 전제 조건이 아닙니다. 이미 배포된 인스턴스는 설정 화면에 붙여넣는 주소 하나면 충분하며, 그 내용은 아래에 먼저 나옵니다. “코드” 이후의 내용은 서버를 감사하거나 직접 서버 사본을 실행하기 위한 것입니다.
수치는 2026-08-25 기준입니다. 게시물이 삭제되면 숫자도 변합니다. qbn_overview는 실시간 수치를 반환합니다.
주소
https://mcp.nocitponap.com/mcp설치하거나 프로그래머일 필요는 없습니다. 브라우저에서 그 주소를 열면 서버가 해당 주소가 채워져 있는 설치 페이지와 복사 버튼 하나를 돌려줍니다. /mcp 경로 자체는 브라우저에 Method not allowed를 응답합니다. 그 경로는 사람 대상으로 작성된 것이 아니라 어시스턴트를 위해 작성된 것이기 때문입니다. 페이지에도 그렇게 안내되어 있습니다. 고장이 아닙니다.
어시스턴트는 이미 라이브 사이트를 브라우저로 읽을 수 있습니다. 그러나 웹페이지가 보여 주는 것은 최근 몇 페이지뿐이고, 신할 만한 날짜도 없으며, 셀 수 있는 정보만 없습니다. 이 서버비에 연결하면 어시스턴트는 아카이브를 직접 읽습니다. 그래서 이번 주 가장 활발한 사용자, 10년에 걸쳐 전개된 스레드의 흐름, 지금 커니티의활활성도가 2005년과 비교해 어떤지 등을 답할 수 있습니다.
Related MCP server: Community Archive MCP Server
클로드 데스크톱 또는 브라우저에서 Claude 사용
설정Settings**을 엽니다. 데스크톱: Windows
Ctrl+,, Mac⌘,. 브라우저: Mac⌘⇧,또는 프로필 아이콘을 클릭하고 설정을 선택하는.사이드바에서 커넥터를 클릭한 다음, 오른쪽 위의 추가를 클릭하고 사용자 정의 커넥터 추가를 클릭합니다.
위 주소를 붙여넣고 추가를 클릭합니다. 로그인 절차는 없습니다. 아카이브는 공개이고 읽기 전용입니다.
새 대화를 시작하고 *"아카이브 최신 상황 알려 줘"*라고 합니다. 도구를 처음 실행할 때 나오는 권한 요청을 허용하십시오.
작동하지 않는 것 같으면, 메신지 상자 왼쪽 아래의 / 또는 클립 아이콘을 클릭하고 커넥터 항목을 확인하십시오. “Panopticon”이 제안 질문들과 함께 나열되어 있어야 합니다. 없는 경우, 설정 → 커넥터를 열어 연결이 되어 있는 것으로 나타나는지 확인해야 합니다.
MCP 커넥터를 지원들 지원하는 어시스턴트는 모두 같은 주소를 사용합니다. 메뉴 이름은 어시스턴트마다르게 나타니다. 커넥터 또는 사용자 지정 통합 항목을 찾아 보세요.
Claude Code
명령어 하하나:
claude mcp add --transport http panopticon https://mcp.nocitponap.com/mcp그리고 Claude Code 안에서 /mcp를 입력해 연결이 되었는지 확인하합니다.
질문 방법
서버에는 시작 질문 5개가 번들됩니다. 메시시 상자에서 /를 클리클하고 커넥터를 선택하세요.
프롬텅트 | 설명 |
아카이브 최신 상황 알려줘 | 활동, 글을 게하는 사람, 바쁜 스레드, 첫 페이지 |
누가 가장 활동를 하나요? | 지정한 기간에 대해 순위로 보여 줌 |
사용자에 대해 알려줘 | 프로필과 이력, 최근 활동, 게시물의 내용 |
스레드 하나 요약해줘 | 다루는 주제와 전개된 과정 |
커뮤니티는 어떻게 변했아? | 2001년 이후 전체 맥락 |
또는 자기 자신의 표현으로 물어보세요.
지난 주 누가 가장 많이 글을 썼나용?
아시브에서 가장 큰 스레드는 무엇인가요?
[username]은 언제 가입하고 어떤 글을 쳤나요? that
지금 커뮤커뮤녤티티의 활자성은 2005년과 비교해서는 어떤 편가요?
오늘 아침 첫 페이지은 무엇이 있었나요?
사직의 며칠 동안의 새 프로필을 보여 줘Folks. 스팸을 발견하는 데 유용합니다.
게시글은 첫 페이지에 어마나 오머 있었나요?
개인정보 보호
아카이브는 라이브 사이트에서 이미 공개되어 있었던 내용을 담고 있는 것뿐입니다. 읽기 전용이며, 사용자나 어시스턴트가 이 서버를 통해 어떤 것도 올리거나 수정하거나 삭제할 수 없습니다. 계정이 필요하지 않고 사용자에 관하여 저장도 하지 않습니다.
코드
이부분은 서버를 감사하거나 직접 복사본을 실행하려 할 때 읽습니다.
SQL은 어디에 있는가
여기에 없습니다. 모든 쿼리는 panopticon-core 안에 있으며 panopticon-api와 공유합니다. src/tools.js의 도구들은 인자를 정리하고 위임합니다. 검증, 클램핑, SQL 사용 모두 core가 처리하기 때문에, 이 MCP 서버와 HTTP API가 같은 질문에 서로 다르게 답하는 일은 불가능합니다.
이전 버전은 같은 쿼리를 Node API, PHP 포트, MCP 도구 세 곳에 유지했습니다. 그 쿼리들은 제각각 조금씩 벌어졌고, 모든 수정을 세 번 적용해야 했습니다. PHP 포트는 폐기되었습니다.
core 의존성
package.json은 panopticon-core를 file:../panopticon-core로 선언합니다. npm은 이것을 복사본이 아니라 심볼릭 링크로 처리합니다. 그 배치는 저장소가 한 부모 디렉터리 아래 같은 컴퓨터에 나란히 존재한다는 전제를 합니다. 그렇게 구성되어 있으면 core를 수정하면 재설치 없이 지금 바로 적용되고, 이 구조가 유지하려는 속성이 그래서 있는 것입니다.
core의 소프트웨어는 nocitponap/panopticon-core)에 공개되어 있어 SQL을 이와 함께 읽을 수 있습니다. 이 저장소만 단독으로 클론하면 링크할 대상이 없으며 npm install이 그 경로에 실패합니다. 코드를 읽는 것에는 설치가 필요 없습니다. 하지만 서버를 실행하려면 core를 이 옆에 clone해 두어야 합니다.
서버 지침과 프롬프트
프로토콜을 위한 것이 아니라 사용자를 위한 것이 두 가지 있습니다.
**
src/instructions.js**는initialize중에 전송되어 도구가 실행되기 전에 모델의 콘텍스트에 들어갑니다. 아카이브의 어법(댓굘, 노트, 뉴스스레드의 차이)과 실제 숫자 측정치인지 아닌지 설명하여, 모델이 제한사항을 우회하는 대신 그 사실을 보고하도록 합니다.**
src/prompts.js**는 위에서 나열한 시작 질문 다섯 개를 등록합니다. 클라이언트가 질문들을 메뉴에 표시하게 되면, 사용자가 18개의 도구 목록을 보는 대신 물어볼 만한 4개의 항목을 볼 수 있다는 점에서 둘 사이가 구분됩니다.
도구
18개 도구が 있으며 이름은 테이블이 아니라 질문에 따라 붙었습니다. 이전 버전은 list_replies, get_reply, topics_by_post_count처럼 REST 엔드포인트를 일대일로 반영한 17개 도구를 노출했고, 그중 어떤 것을 쓸지 선택하려면 스키마를 알아야 했습니다.
시작은 모든 것
qbn_overview— 하나의 호출로 아카이브 상태보: 오늘, 7일·30일 활동, 이번 주 가장 활발한 사용자, 최고 빈번한 스레드, 현재 첫 페이지. 사람most_active_users— 댓글 수, 시작한 스레드, 노트 또는 점수로 임의 기간에 대한 순위를 반환합니다. 이 도구가 이 프로젝트의 요구사항입니다.user_profile— 한 사용자의 프로필, 전체 총계, 최근 활동.find_user— 핸들이나 이름으로 검색합니다. 이 둘은 다를 수 있습니다.defineipr는 “Define IPR”이란 뜻입니다.user_activity_over_time— 일별·월별·일별 또는 연도별로 사용자의 활동 이력.user_replies,user_notes.
게시물
search_replies,get_reply— 첨부된 노트와 함께 답변을 다룹니다.busiest_topics,search_topics,read_thread.list_notes,list_profiles,list_newsthread.
첫 페이지
front_page— 현재 또는 날짜를 선택한 특정 날짜의 첫 페이지.front_page_history— 미리 정한 시간 창에서의 스냅샷, 또는 하나의 답변이 첫 페이지에 전체를 거친 이력: 언제 나타났는지, 최고 순위, 머문 시간.
사이트
site_activity_over_time— 댓글, 활성 사용자, 새 스레드, 프로필 시작을 다양한 단위(일, 월, 연)로 아카이브 전체에 걸쳐 조회합니다.
qbn_overview는 이름을 유지합니다. 이미 클라이언트가 이 이름으로 프로토콜 표면에 설정된 상태이기 때문에, 이름을 바꾸면 클라이언트가 손상되기 때문입니다.
프로젝트 구조
src/
index.js entry point; picks transport
server.js builds the McpServer
tools.js every tool definition
instructions.js the initialize-time briefing
prompts.js five starter questions
landing.js the install page, generated from the live registries
guard.js Host allowlist
lib.js result helpers and shared zod fragments
transports/
stdio.js stdio transport
http.js Express and Streamable HTTP transport설치 페이지는 등록이 아니라 기록을 남기는 스텁(stub)을 레지스트리에 넘겨서 자신의 명령과 도구 수를 셉니다. 따라서 서버가 노출하지 않는 도구를 광고할 수 없습니다. 수작업으로 관리하던 표는 실제 18개 가운데 22개를 광고하고 있었고, 2026-08-22에 수정하는 대신 삭제되었습니다.
요구 사항
Node.js 20 이상
panopticon-core를 이와 나란한 형제 디렉토리에 clone아카이브의 원격 원본이 아니라 로컬 미러에 접근 가능
구성
cp .env.example .env변수 | 용도 | 기본값 |
| MySQL 호스트 | 없음 |
| MySQL 사용자 | 없음 |
| MySQL 비밀 번호 | 없음 |
| MySQL 데이터베이스 이름 | 없음 |
|
|
|
| HTTP 포트. HTTP 전송에서만 적용 |
|
| 설치 페이지에 제공하는 주소 + 허용 목록 Host | 없음 |
전송 방식
stdio (기본)
npm start표준 입력과 표준 출력에서 MCP를 사용합니다. 로컬 MCP 클라이언트가 이 방식으로 직접 실행합니다.
HTTP
npm run start:http # or MCP_TRANSPORT=http npm starthttp://127.0.0.1:3002/mcp에 POST 하여 사용합니다. 각 요청은 상태가 없습니다. 서비버는 요청 별로 새 MCP 인스턴스를 만든다. 때문에 이 곳에서 노출하는 읽기 전용 도구에는 잘 맞씁니다. 프백(bind loopback)만 바인딩하며, 외부 접속은 이 프로세스가 모든 인테페이스에서 대기하는 방식이 아니라 널이 나 리버스 프록시로 유입될 것가 전제합니다.
서비버가 검사하는 것은 Host 헤더입니다. 따라서 PUBLIC_ORIGIN과 ALLOWED_HOSTS에는 클라이언트가 실제로 사용하는 모든 주소가 적혀 있어야 합니다.
npm run dev # node --watch스모크 스모크
curl -s -X POST http://127.0.0.1:3002/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'event: message
data: {"result":{"tools":[{"name":"qbn_overview","title":"Archive overview",
"description":"The current state of the community in one call: reply/user/topic
counts for today, the last 7 days and the last 30 days, ...stdio를 통한 로컬 클래이언트
{
"mcpServers": {
"panopticon": {
"command": "node",
"args": ["/absolute/path/to/panopticon-mcp/src/index.js"],
"env": {
"DB_HOST": "127.0.0.1",
"DB_USER": "your_database_user",
"DB_PASSWORD": "your_database_password",
"DB_DATABASE": "your_database_name"
}
}
}
}.env 파일을 채워두면 클라이언트의 env 블록은 생략할 수 있습니다. 서버는 시작 시 .env를 읽습니다. npm link를 실행하면 panopticon-mcp라는 명령이 설치되고, 이제 클라이언트 항목은 "command": "panopticon-mcp", "args": []이 됩니다.
이 서버가 알려줄 수 없는 것
서버는 아카이브가 정직하게 답할 수 없는 질문에 대하여 그럴듯한 숫자를 되돌려주지 않고 그 요청을 거부합니다. 그 거부가 옳고, 다시 시도해야 (다르게 시도해야 할) 오류가 아닙니다. 어시스턴트가 그런 태도를 보이면 고장처럼 보일 수 있습니다.
노트에는 자체 타임스탬프가 없다. 원본 소스는 노트가 언제 작성되었는지를 공개한 적이 없다. 노트가 지니는 유일한 시간은 스크레이퍼가 그것을 보았을 때의
observed_at뿐이며, 2,972,803개 중 2,809,581개의 노트에는 그것조차 없다. 그 노트들은 언제 읽혔는지는 기록하지 않고 노트만 남겨둔 옛 컬럼에서 복구된 것이다. 따라서 노트 커버리지는 아카이브 전체에 걸치지만, 시간에 따른 노트 활동은 그렇지 않다. 스레드나 사용자별 노트 수는 전체 역사에 걸쳐 유효하다. 일별 노트 수는 2024-04-24의 노트 에포크(epoch) 이후에만 실제 값을 가지며, 도착이 관측된 163,344개의 노트를 세는데, 그중 83,958개는 2024-04-23의 단일 일괄 가져오기 시각 한 번에 몰려 있다. 에포크 이전의 시간 창 기반 노트 순위는 기각된다. 이를 우회할 방법은 없다. 타임스탬프는 애초에 기록된 적이 없기 때문이다.2026-08-25 개정. 종전에는 “노트 타임스탬프는 스크래핑 시각이며, 2024년부터 163,268개의 노트를 망라한다”라고 기술했다. 2026-08-22의 blob 백필은 노트 커버리지를 2002년까지 소급 적용했고, 그 결과 기존의 단일한 주장은 위의 커버리지 절반과 활동 절반으로 나뉜다.
백 카탈로그의 노트 마크업은 캡처되지 않았다. 2,874,005개의 노트는 텍스트를 가지되 HTML은 가지지 않으며,
html_comment는 그에 대해null을 보고한다. 마크업은 라이브 사이트에만 존재한다.노트 위치는 노트가 처음 보였을 때의 위치다. 지금의 위치가 아니다. 라이브 사이트에서 삭제된 노트는 다른 어디에도 존재하지 않으므로 유지된다. 그래서 어떤 답글의 저장된 노트 수가 라이브 사이트에 표시된 것보다 많을 수 있다.
삭제된 콘텐츠는 보이지 않는다. 251,122개의 답글과 145,414개의 주제는 묘비표(tombstone)다. ID는 존재하지만 본문은 비어 있고, 내용은 사라졌다. 그것들은 모든 곳에서 제외된다. 따라서 ID에는 공백이 있으며, 없는 ID는 누락된 데이터가 아니라 삭제를 의미한다. 본문은 애초에 캡처되지 않았으므로 우회할 방법이 없다.
2024년 이전의 주제 시간은 최대 한 시간 늦을 수 있다. 소스는 2024년까지 일광절약제와 동일하게 모든 주제를
-0800으로 스탬프했다. 같은 스레드의 답글 시간은 영향을 받지 않으며 더 미세한 신호가 입력, 그것을 사용하라.답글 본문은 검색되지 않는다. 스레드 제목은 검색된다.
search_replies는 사용자·주제·날짜·점수로 필터링하며, 글 목록별로는 필터링하지 않는다.점수는 하나의 순(純) 숫자라. 호추천과 반대표가 분리 저장되지 않으므로, 0점인 답글과 +40/−40인 답글 동일한 행으로 처리된다.
그 밖의 모든 것은 2001년부터 완전하다. **멥글, 스레드, 노트, 프로필, 그리고 프런트 페이지 기록이.
라이선스
MIT. Copyright (c) 2026 Anthony Lazaro. LICENSE 참조.
이 라이선스증 이 코드를 다루며 아카이브는 다루지 않는다. 그 글들은 그들을 위해 라이선스라고 할 것을 선택한 적 없는 커뮤니티의 회원들이의한 작성되었으며, 이 저장소는 그 글들에 대해 어떤 것도 주장하지 않는다.
강제력이 있는 다른 라이선스 대신 MIT를 쓴 이유는: 이것은 읽히고, 복사되고, 논쟁되기 위해 출판되었기 때문이다. 만약 이 글이 당신을 당신 자신의 웹 구석 위에 당신만의 도구를 만들게 한다면, 여기서 유용한 것을 골라 그렇게 하라. 허가는 필요 없다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with read-only access to Reddit's API for browsing subreddits, reading posts and comments, searching Reddit, and retrieving user/subreddit information. Enables safe exploration of Reddit content without posting capabilities through natural language interactions.
- FlicenseNot gradedqualityDmaintenanceEnables searching and retrieving preserved Twitter data from the Community Archive, including user profiles, tweets, and keyword searches across archived content.
- AlicenseAqualityCmaintenanceProvides AI assistants with access to Reddit data for searching, browsing subreddits, and retrieving post details or user activity without requiring API keys. It enables tools to fetch content, nested comment trees, and public user feeds directly through the Model Context Protocol.6146MIT
- AlicenseNot gradedqualityBmaintenanceA read-only Reddit research server that exposes search, subreddit top posts, post details, and comment retrieval as typed tools with polite rate-limiting and citation lineage.MIT
Related MCP Connectors
Public social-data API and live docs for AI coding agents.
Browse and manage Reddit posts, comments, and threads. Fetch user activity, explore hot/new/rising…
Reddit & X data for AI agents over MCP. Semantic search, hosted, no Reddit API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nocitponap/panopticon-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server