SAP Security Notes MCP Server

SAP Security Notes MCP Server

Enables querying SAP Security Note metadata including Patch Day releases, CVSS scores, CVEs, affected components, and actively-exploited status via the Model Context Protocol.

Category
访问服务器

README

SAP Security Notes MCP Server

Ask questions about SAP Security Note metadata — Patch Day releases, CVSS scores, CVEs, affected components, and actively-exploited status — via the Model Context Protocol (MCP).

Server URL: https://notes.syntaai.com/mcp

Features

  • 10 Tools — Patch Day summaries, note/CVE lookup, component exposure checks, exploited-in-the-wild status, month comparisons (all read-only)
  • 4 Resources — Catalog info, latest Patch Day summary, component list, priority definitions
  • 4 Prompts — Monthly patch briefing, exposure check, patch backlog prioritizer, CVE investigation
  • No authentication required — public read-only data.
  • stdio transport — run it locally with Claude Desktop or any MCP client

Example Interactions

Example 1: Patch Day Summary

User prompt: "What came out in July's SAP Patch Day?"

What happens:

  • Returns counts by priority for 2026-07, the HotNews list with CVSS scores, top affected components, and new vs. updated notes

Tool used: get_patch_day_summary


Example 2: Active Exploitation

User prompt: "Are any SAP vulnerabilities actively exploited right now?"

What happens:

  • Cross-references the catalog's CVEs against the CISA Known Exploited Vulnerabilities (KEV) snapshot and returns matches with KEV dates
  • A zero-match answer is reported honestly, with what that does and does not mean

Tool used: get_exploited_notes


Example 3: Component Exposure

User prompt: "Here is my stack: SAP S/4HANA 2023, SAP_BASIS 758, BC-JAS-WEB — what applies to me?"

What happens:

  • Each item is classified: application component (BC-JAS-WEB), software component optionally with a version (SAP_BASIS 758), or product/stack name from Maintenance Planner (SAP S/4HANA 2023)
  • Software components match primarily against SAP's own published affected-component/version lists; a curated mapping fills in notes that have no published list. Application components match directly (exact + prefix)
  • A pasted version gets a tier per matched note:
    1. Affected version confirmed — the version is in SAP's published list
    2. Component listed, your version not in the published list — not proof of safety, published lists can be summarized
    3. Component affected, version not assessed — no version given, or no published list to check (exact-string match only — never a range or "close enough" inference)
  • Returns matching notes grouped by provenance, plus an honest "not assessed" bucket for anything that could not be classified or matched

Tool used: check_component_exposure

Tools Reference

Patch Day & Search

Tool Description Annotations
get_patch_day_summary Priority counts, HotNews list, top components, new vs. updated for a month Read-only
search_notes Keyword search over titles/components with priority, CVSS, month filters, ranked by CVSS Read-only
compare_patch_months Note counts, severity mix, and HotNews delta between two months Read-only
get_catalog_info Catalog version, note count, coverage window, data sources Read-only

Lookup

Tool Description Annotations
get_note_details Full metadata record for one note number Read-only
lookup_cve SAP note(s) addressing a CVE ID Read-only
get_notes_by_component Notes for a component, exact + prefix matching Read-only

Risk Views

Tool Description Annotations
get_hot_news All HotNews notes, ranked by CVSS Read-only
get_exploited_notes Notes with CISA-KEV-listed CVEs, with KEV dates Read-only
check_component_exposure Match a pasted list (app components, software components — optionally versioned — or product names) against the catalog Read-only

Data Sources & Honesty

  • Canonical source: SAP's public Patch Day pages. As of v2.1, the catalog is built primarily from SAP's public, no-login Security Patch Day pages (support.sap.com/.../security-notes-news/<month>-<year>.html), not a private export. Each page publishes, per note: title (with CVE prefix), CVE ID(s), priority, CVSS, the affected product name(s), and the affected software-component/version list. Raw pages are cached in data/pages/ for reproducible rebuilds.
  • Public metadata only. The catalog never contains SAP note body text or correction instructions — only what SAP already publishes openly: note numbers, titles, CVSS scores/vectors, CVE IDs, priorities, affected software components and their published version lists, dates, and public note URLs.
  • Coverage window is stated, not implied. Current catalog: January 2026 – July 2026 (get_catalog_info always tells you exactly).
  • Null-evidence rule. Absence from this catalog does not mean absence of vulnerability. Every tool says so on every not-found answer, and no tool ever fabricates a note, CVE, score, date, or version.
  • Exploitation data comes from the public CISA KEV feed; the snapshot version and fetch date are recorded in the catalog for reproducibility.
  • Public-evidence date policy. Exact release days ship only when publicly evidenced without login: the page's own stated Patch Day date for notes in its main table, or a date matching the CVE's public NVD published date. Everything else ships as null, with release_month retained (a note's presence on its public month page is the evidence for the month).
  • Version lists are exact and verbatim. affected[].versions are kept exactly as SAP published them — no numeric coercion, no range expansion, no normalization (758, 75A, 2008_1_700, 10.0 are all real, unmodified formats). A version line SAP publishes in a form the parser can't parse cleanly (a typo, a "< X.Y.Z" threshold instead of a discrete list, a component name containing a space) is kept verbatim in versions_unparsed — never partially guessed.
  • Matching behavior & provenance labels. check_component_exposure accepts application components (the legacy per-note header field, e.g. BC-MID-RFC — not published by pages, so it's null for notes added from pages only, never fabricated), software components (System → Status, e.g. SAP_BASIS, optionally versioned like SAP_BASIS 758), and product names (Maintenance Planner, e.g. "SAP S/4HANA 2023"). For a software component, matching is two-tier by provenance: PRIMARY is a direct, exact match against SAP's own published affected-component list (match_type: published_affected_list); FALLBACK is a curated, rationale-documented mapping (data/component_mapping.yaml) to application-component prefixes, used only for notes with no published list (match_type: mapped_software_component). Every match says which it is. When a version is given, each matched note also gets an exact-string-match tier (1 confirmed / 2 listed-but-version-mismatch / 3 not assessed) — never a range or "close enough" inference. Products resolve through the same software-component chain; release years in product names are echoed back only. Which support package level fixes a note always requires the full SAP note.
  • Monthly updates on SAP Patch Tuesday: scripts/monthly_update.py <page-url> fetches and caches the new page, rebuilds the catalog fresh from every cached page, re-runs KEV, validates the schema, and runs a CI gate requiring every application component to have an explicit mapping disposition before the build is considered commit-ready.
  • Community corrections welcome — open a PR against data/notes_catalog.json or data/component_mapping.yaml.

Quick Start

claude.ai (hosted)

Add a custom connector with URL (no login needed):

https://notes.syntaai.com/mcp

Claude Desktop (local, stdio)

{
  "mcpServers": {
    "sap-security-notes": {
      "command": "/path/to/venv/bin/python",
      "args": ["/path/to/sap-security-notes-mcp/server.py"],
      "env": { "MCP_TRANSPORT": "stdio" }
    }
  }
}

Deployment

git clone https://github.com/SYNTAAI/sap-security-notes-mcp
cd sap-security-notes-mcp
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# Local stdio
MCP_TRANSPORT=stdio python server.py

# HTTP (this is how the hosted server runs — no authentication,
# the catalog is public read-only data)
MCP_NO_AUTH=1 PORT=8003 python server.py

# HTTP with OAuth (optional, if you self-host and want a login gate)
PORT=8003 SYNTAAI_ISSUER_URL=https://your-host python server.py

Adding a new month once its Patch Day page is live:

pip install -r requirements-dev.txt
python scripts/monthly_update.py \
  https://support.sap.com/en/my-support/knowledge-base/security-notes-news/<month>-<year>.html
pytest

This fetches and caches the page, rebuilds the catalog from every cached page in data/pages/ plus a fresh KEV pull, validates the schema, and runs the CI disposition gate (fails loudly if a new application component has no mapping decision in data/component_mapping.yaml yet).

One-time historical rebuild from all cached pages (used to migrate off the original xlsx-derived catalog in v2.1):

python scripts/backfill_from_pages.py --offline

License

Apache 2.0 — see also PRIVACY.md and TERMS.md.


Want to know which of these notes are actually implemented in your SAP systems, and what's exposed right now? That's what Syntasec does — syntaai.com.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选