Skip to main content
Glama

🧠 Sybil MCP — Notion 위험 인텔리전스 서버

Sybil은 Notion 데이터베이스를 실시간으로 모니터링하고 재무적 위험을 감지하는 MCP(Model Context Protocol) 서버입니다. 엔지니어링 작업이 지연되어 마케팅 캠페인 출시와 겹칠 경우, Sybil은 Notion 알림 센터에 자동으로 알림을 생성합니다.


⚡ 빠른 시작

수동으로 실행할 필요가 없습니다. Claude Desktop이 서버를 자동으로 관리합니다.

  1. claude_desktop_config.json이 구성되어 있는지 확인하세요 (구성 섹션 참조)

  2. Claude Desktop을 엽니다. 서버가 백그라운드에서 스스로 시작됩니다.

  3. Claude에게 물어보세요: "Sybil이 감지하는 위험은 무엇인가요?"

⚠️ Claude Desktop이 열려 있는 동안 절대로 node index.js를 수동으로 실행하지 마세요. 서버 인스턴스가 두 개 실행되어 Notion에 알림이 중복 생성됩니다.


🏗️ 아키텍처

┌─────────────────────────────────────────────────────────────┐
│                      Claude Desktop                         │
│                                                             │
│   ┌─────────────┐   MCP Protocol   ┌────────────────────┐  │
│   │  Claude AI  │ ◄──────────────► │  Sybil MCP Server  │  │
│   │  (chat)     │   (stdin/stdout)  │  (node index.js)   │  │
│   └─────────────┘                  └────────┬───────────┘  │
│                                             │               │
└─────────────────────────────────────────────┼───────────────┘
                                              │ HTTPS
                                    ┌─────────▼──────────┐
                                    │    Notion API       │
                                    │  ┌──────────────┐  │
                                    │  │ Engineering  │  │
                                    │  │   Database   │  │
                                    │  ├──────────────┤  │
                                    │  │  Marketing   │  │
                                    │  │   Database   │  │
                                    │  ├──────────────┤  │
                                    │  │ Alert Center │  │
                                    │  │   Database   │  │
                                    │  └──────────────┘  │
                                    └────────────────────┘

구성 요소

구성 요소

설명

Claude Desktop

MCP 서버 수명 주기를 자동으로 관리

Sybil MCP 서버

백그라운드에서 실행되는 Node.js 프로세스. 10초마다 Notion 모니터링

Notion API

알림의 데이터 소스 및 대상. 모두 HTTPS를 통해 통신

.sybil-alerts.json

이미 생성된 알림을 기억하는 로컬 파일 (재시작 시에도 유지됨)

.sybil-lock

두 개의 서버 인스턴스가 동시에 실행되는 것을 방지하는 잠금 파일


🔄 내부 작동 방식

1. 자동 시작

Claude Desktop을 열면 claude_desktop_config.json을 읽고 자동으로 node index.js를 실행합니다. 서버는 다음을 수행합니다:

  • .sybil-alerts.json에서 알림 기록을 로드합니다 (존재하는 경우)

  • MCP(stdin/stdout)를 통해 Claude에 연결합니다

  • 즉시 백그라운드 모니터링을 시작합니다

2. 10초마다 백그라운드 모니터링 (토큰 사용 안 함)

서버는 Claude와 완전히 독립적으로 10초마다 감시 주기를 실행합니다:

Every 10s:
  1. Read Engineering DB → look for tasks with status "Delayed"
  2. Read Marketing DB   → (in parallel with step 1)
  3. For each delayed task × campaign:
       - Is Launch Date <= Due Date? → risk detected
       - Already in .sybil-alerts.json? → skip (no duplicates)
       - Already exists in Notion (filter query)? → skip
       - If not found: create comment + row in Alert Center

🔑 이 주기는 Claude 토큰을 소비하지 않습니다. Notion API에 직접 HTTP 호출을 수행합니다.

3. Claude의 도구 호출 (여기서는 토큰이 사용됨)

위험에 대해 Claude에게 물어보면, Claude는 check_sybil_risk 도구를 호출합니다. 이 과정은 다음과 같습니다:

  • 요청 시 동일한 분석 주기를 즉시 실행합니다

  • 요약 텍스트를 Claude에게 반환합니다

  • Claude는 해당 텍스트를 사용하여 사용자에게 응답합니다

이 단계에서만 토큰이 사용됩니다 (대화 중 Claude의 응답을 처리하는 과정).

4. 중복 방지 (3단계)

Notion에 알림이 중복 생성되는 것을 방지하기 위해:

단계

메커니즘

목적

1단계

isProcessing 플래그

두 주기가 동시에 실행되는 것을 방지

2단계

.sybil-alerts.json (디스크)

서버 재시작 시에도 알림을 기억

3단계

Notion 필터 쿼리

파일에 없는 경우 Notion을 통해 확인


⚙️ 구성

Claude Desktop 구성 파일 위치:

C:\Users\[YOUR_USER]\AppData\Roaming\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "sybil": {
      "command": "node",
      "args": ["C:/Users/USUARIO/Desktop/sybil-mcp/index.js"],
      "env": {
        "NOTION_TOKEN": "your_token_here",
        "ID_ENGINEERING": "your_engineering_database_id",
        "ID_MARKETING": "your_marketing_database_id",
        "ID_ALERTAS": "your_alert_center_database_id",
        "ID_SALES": "your_sales_database_id"
      }
    }
  }
}

환경 변수는 프로젝트 폴더의 .env 파일에 정의할 수도 있습니다.


🔧 코드 업데이트 방법

index.js를 변경한 후:

  1. 파일을 저장합니다

  2. Claude Desktop을 완전히 종료합니다

    • 시스템 트레이 아이콘 우클릭 → 종료(Quit)

    • (창만 닫지 마세요)

  3. Claude Desktop을 다시 엽니다

  4. Claude가 새 코드로 서버를 자동으로 시작합니다

✅ 새 코드가 활성화되었는지 확인하려면 Claude에게 *"Sybil로 위험을 확인해줘"*라고 물어보세요. Notion 알림 센터에 새로운 중복 알림이 나타나지 않는 것을 확인할 수 있습니다.


📁 프로젝트 파일

sybil-mcp/
├── index.js              ← Main MCP server
├── .env                  ← Environment variables (do not commit to git)
├── .sybil-alerts.json    ← Alert history (auto-generated)
├── .sybil-lock           ← Active process lock (auto-generated)
├── .gitignore
└── README.md

자동 생성 파일

파일

설명

삭제해도 되나요?

.sybil-alerts.json

이미 생성된 알림 기록

예, 하지만 서버가 다음 실행 시 알림을 다시 생성합니다

.sybil-lock

활성 서버 인스턴스 표시

서버가 충돌하여 남겨진 경우에만


🩺 문제 해결

Notion에 여전히 중복 알림이 나타나나요?

  • Claude Desktop 인스턴스가 하나만 열려 있는지 확인하세요

  • Claude Desktop을 완전히 다시 시작하세요 (창만 닫지 말고 종료하세요)

  • 이전 오류 세션의 오래된 데이터가 포함되어 있다면 .sybil-alerts.json을 삭제하세요

Notion에 알림이 나타나지 않나요?

  • NOTION_TOKEN이 3개의 데이터베이스 모두에 액세스할 수 있는지 확인하세요

  • 엔지니어링 작업의 상태가 정확히 "Delayed"인지 확인하세요

  • 마케팅 캠페인에 Launch Date가 설정되어 있는지 확인하세요

Claude가 check_sybil_risk 도구를 찾을 수 없다고 하나요?

  • Claude Desktop을 다시 시작하여 MCP 서버를 다시 로드하세요

  • claude_desktop_config.json의 경로가 올바른지 확인하세요


💡 백그라운드 모니터링이 토큰을 소비하나요?

아니요. 10초마다 실행되는 setInterval은 Notion API에 직접 HTTP 호출을 수행합니다. 이 과정에 Claude는 관여하지 않습니다.

토큰은 다음과 같은 경우에만 소비됩니다:

  • 채팅에서 Claude에게 메시지를 보낼 때

  • Claude가 답변을 위해 check_sybil_risk 도구를 호출하기로 결정할 때

백그라운드 모니터링은 Claude 토큰 측면에서 완전히 무료입니다.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/Erika05cristina/Sybil-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server