Token导航 LogoToken导航TokenDH.com
MCP Security Incidents logo
数据服务未说明官方级别未说明来源级核验

MCP Security Incidents

MCP Server

一款通过爬取安全公告、标准化存储到Supabase并使用Next.js渲染事件摘要的应用,支持多种摘要生成方式。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Next.js摘要生成数据分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jack-h-park

提供方

jack-h-park

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP安全事件

这个应用程序爬取安全公告,将其规范化后存储到Supabase中,并使用Next.js生成事件摘要。

先决条件

  • Node 18+(Next.js 应用路由器)
  • 包含表的Supabase项目: raw_itemsincidentsincident_sourcessummaries
  • 用于应用程序设置的Supabase键值表:

- 默认: settings 带有列 key text primary keyvalue jsonb - 通过(某种方式)覆盖表名 APP_SETTINGS_TABLE 如需

  • Firecrawl 实例(云端或自托管)

数据库迁移

添加/调整以下列,以确保摘要历史记录按预期工作:

-- summaries history (multiple rows per incident)
alter table public.summaries
  add column if not exists id uuid primary key default gen_random_uuid(),
  add column if not exists provider text,
  add column if not exists model text,
  add column if not exists fallback_from text,
  add column if not exists ran_at timestamptz default now(),
  add column if not exists triggered_by text,
  add column if not exists created_at timestamptz default now();

alter table public.summaries
  drop constraint if exists summaries_incident_id_key;

create index if not exists summaries_incident_ran_at_idx
  on public.summaries (incident_id, ran_at desc);

-- incidents cache of last summary metadata
alter table public.incidents
  add column if not exists last_summarized_at timestamptz,
  add column if not exists last_summary_provider text,
  add column if not exists last_summary_model text;

可选地回填现有数据:

update public.summaries
set ran_at = coalesce(ran_at, created_at, now())
where ran_at is null;

with latest as (
  select distinct on (incident_id)
    incident_id,
    provider,
    model,
    ran_at
  from public.summaries
  order by incident_id, ran_at desc
)
update public.incidents i
set
  last_summarized_at = l.ran_at,
  last_summary_provider = l.provider,
  last_summary_model = l.model
from latest l
where l.incident_id = i.id;

环境变量

创建 .env.local 至少包含:

NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
NEXT_PUBLIC_BASE_URL=http://localhost:3000
PIPELINE_TOKEN=super-secret-token
FIRECRAWL_API_URL=https://api.firecrawl.dev
FIRECRAWL_API_KEY=fc_xxxx
FIRECRAWL_MCP_COMMAND=npx
FIRECRAWL_MCP_ARGS=["-y","firecrawl-mcp"]
# optional extra env for the MCP process
# FIRECRAWL_MCP_ENV={"NODE_EXTRA_CA_CERTS":"/path/to/cert.pem"}
# optional
FIRECRAWL_TIMEOUT_MS=15000
FIRECRAWL_RETRIES=3
OPENAI_API_KEY=sk-...
OPENAI_SUMMARY_MODEL=gpt-4o-mini # optional override
HUGGINGFACE_API_KEY=hf_xxxx
HUGGINGFACE_MODEL=facebook/bart-large-cnn # optional override
GEMINI_API_KEY=...
GEMINI_SUMMARY_MODEL=gemini-1.5-flash-latest # optional override
REVALIDATE_TOKEN=...
APP_SETTINGS_TABLE=settings # optional override for summarizer preference storage

本地运行

npm install
npm run dev

管理控制台

  • 访问 /admin 同时,开发服务器正在运行以触发爬取/总结管道。
  • 服务器必须具备 PIPELINE_TOKEN 已配置;管理页面使用该令牌调用现有的API路由。
  • 可选覆盖: INTERNAL_BASE_URL 如果应用程序部署在代理服务器之后。

安全地触发爬取管道:

curl -XPOST http://localhost:3000/api/pipeline/crawl \
  -H "Authorization: Bearer $PIPELINE_TOKEN"

Firecrawl 集成

  • 现在,爬虫与(服务器/系统)进行交流 firecrawl-mcp 通过MCP stdio服务器(npx -y firecrawl-mcp (默认情况下)
  • 通过以下方式配置MCP二进制文件 FIRECRAWL_MCP_COMMANDFIRECRAWL_MCP_ARGS,以及 FIRECRAWL_MCP_ENV
  • API凭据/URL从当前环境转发到MCP进程
  • 确保您的Firecrawl项目已为以下种子(或初始数据)进行了配置: app/api/pipeline/crawl/route.ts

摘要

  • 这个 /admin 控制台现在提供了一个“默认摘要器”卡片,其中包含四个选项:

1. 基于规则的(默认模板) 1. Hugging Face(通过推理API提供的免费层级) 1. OpenAI API 1. Gemini(Google生成式语言API)

  • 流水线运行使用所选的提供者;如果API密钥失败或缺失,则自动回退到基于规则的模板。
  • 在服务器环境中按照上面所示配置API密钥。没有密钥的情况下,只有基于规则的选项会生成输出。
  • 所选的提供商存储在Supabase设置表中(key = "summarizer_provider")。
  • 每个事件都保留完整的总结历史记录。主页会显示事件是否已被总结,以及是由哪位提供者完成的。
  • /admin 现在包含了一个“事件摘要”部分:

- 针对每个事件选择一个提供商并立即运行总结, - 检查过去的运行记录(提供者、模型、时间戳、TL;DR), - 如有必要,请删除单个历史记录条目。

目录标签

目录标签

Next.js摘要生成数据分析安全事件TypeScript本地部署Supabase爬虫

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP