Skip to main content
Glama

🧠 Sybil MCP — Notion 风险情报服务器

Sybil 是一个 MCP(模型上下文协议)服务器,它实时监控您的 Notion 数据库并检测财务风险:当工程任务延期并与营销活动发布时间重叠时,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 Server

在后台运行的 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 秒进行一次后台监控(不消耗 Token)

服务器每 10 秒运行一次监视周期,完全独立于 Claude:

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 Token。 它直接向 Notion API 发出 HTTP 调用。

3. 来自 Claude 的工具调用(此处会消耗 Token)

当您向 Claude 询问风险时,Claude 会调用 check_sybil_risk 工具。这会:

  • 立即按需运行相同的分析周期

  • 向 Claude 返回文本摘要

  • Claude 使用该文本回复您

只有此步骤会消耗 Token(即在您的对话中处理 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

    • 右键点击系统托盘图标 → 退出

    • (不要只关闭窗口)

  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 中的路径是否正确


💡 后台监控会消耗 Token 吗?

不会。 每 10 秒运行一次的 setInterval 会直接向 Notion API 发出 HTTP 调用。Claude 不参与该过程。

只有在以下情况下才会消耗 Token:

  • 您在聊天中向 Claude 发送消息

  • Claude 决定调用 check_sybil_risk 工具来回答您

就 Claude Token 而言,后台监控是完全免费的。

-
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