mcpField
E
entra-news

entra-news

本地服务
github.com/darrenjrobinson搜索与检索78 周前更新

关于 entra-news

entra-news 是用于搜索 Entra.news 周刊档案的 MCP 服务,面向研究 Microsoft Entra 功能与社区工具的人群,可返回带来源的摘录及期刊信息。

主要功能

  1. 01按关键词和短语搜索档案
  2. 02可选语义与混合搜索
  3. 03按编号或日期获取完整期刊
  4. 04按年份或月份筛选期刊
  5. 05查找提及的工具与 GitHub 项目

适用场景

  1. 01查找 Entra 功能的过往报道
  2. 02按发布日期定位期刊
  3. 03发现周刊提及的社区工具

MCP 相关

该 MCP 服务提供搜索、获取和浏览 Entra.news 期刊,以及查找档案中提及工具的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"darrenjrobinson-entra-news": {
"command": "npx",
"args": [
"-y",
"entra-news-mcp"
]
}
}
}
启动命令npx -y entra-news-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmentra-news-mcp0.1.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

entra-news-mcp

基于 Entra.news 的可搜索知识 MCP——这是 Merill Fernando 精心整理的每周简报,涵盖 Microsoft Entra 新闻、功能和社区工具。

npm npm downloads License: MIT


这是什么?

Entra.news 是一份经过精心筛选、信息密度高的新闻简报,涵盖 Microsoft Entra(Azure AD)功能、公告和社区工具,自 2023 年年中起每周发布。

这个 MCP 服务将完整历史档案作为自然语言搜索界面开放。你可以提问,并直接从过往期刊中获取附带来源的答案,包括期刊编号、日期和规范 URL。

无需为每位用户配置基础设施。 用户只需安装 NPX 包即可。


快速开始

Claude Desktop

将以下内容添加到 Claude Desktop 配置文件(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "entra-news-mcp": {
      "command": "npx",
      "args": ["entra-news-mcp"]
    }
  }
}

重启 Claude Desktop。数据库(约 15–20 MB)会在首次启动时下载,并缓存到 ~/.entra-news-mcp/。

Cursor / Copilot Studio / 任意 MCP 主机
{
  "mcpServers": {
    "entra-news-mcp": {
      "command": "npx",
      "args": ["-y", "entra-news-mcp"]
    }
  }
}
VS Code

将以下内容添加到 MCP 配置(工作区的 .vscode/mcp.json),或从命令面板运行 MCP: Add Server:

{
  "servers": {
    "entra-news-mcp": {
      "command": "npx",
      "args": ["-y", "entra-news-mcp"]
    }
  }
}
语义搜索(可选)

默认情况下,服务会基于 SQLite 索引进行关键词和短语匹配,无需 API 密钥。如需显著提升结果质量,可设置 OpenAI API 密钥以启用语义 + 混合搜索:

{
  "mcpServers": {
    "entra-news-mcp": {
      "command": "npx",
      "args": ["entra-news-mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

本地数据库缓存

首次启动时,服务会从 GitHub Releases 下载数据库(约 15–20 MB),并缓存在本地:

平台缓存位置
Windows%USERPROFILE%\.entra-news-mcp\
macOS / Linux~/.entra-news-mcp/

服务每周检查一次是否有更新的数据库版本。如果想立即强制重新下载(例如,摄取了新一期内容后),请删除缓存文件夹并重启 MCP 主机:

Windows(PowerShell):

Remove-Item "$env:USERPROFILE\.entra-news-mcp" -Recurse -Force

macOS / Linux:

rm -rf ~/.entra-news-mcp

可用的 MCP 工具

工具描述
search_entra_news对所有期刊执行语义 + 关键词混合搜索。返回带来源的摘录。
get_issue按编号或日期获取特定期刊的完整内容。
list_issues浏览档案,可按年份 / 月份筛选。
find_tool_mentions查找档案中提及的社区工具和 GitHub 项目。
示例查询
  • “Entra.news 在 2024 年报道了哪些关于 Conditional Access 的内容?”
  • “显示 2025 年 3 月发布的期刊”
  • “提到过哪些用于 Entra 的 PowerShell 工具?”
  • “是否报道过 Verified ID?”
  • “列出 2024 年的所有期刊”

架构

Substack API (entra.news/api/v1/posts)
    │
    ▼
Node.js ingestion script  ←  OpenAI text-embedding-3-small
    │
    ▼
SQLite (chunks + embeddings, ~15–20 MB)
    │
    ▼
GitHub Release asset  ──→  NPX MCP Server
                               └─ Downloads DB on first run
                               └─ Checks for updates weekly
                               └─ In-memory vector similarity + keyword search

**成本:**约 0.01 美元 / 周(仅为新增期刊生成嵌入)。无需托管。


运行内容摄取流程

注意: 只有在维护自己的分支或构建初始索引时,才需要执行此操作。终端用户只需运行 npx entra-news-mcp——数据库会自动下载。

先决条件
  • Node.js 22+
  • OpenAI API 密钥(可访问 text-embedding-3-small)
完整摄取(首次)
# Set your API key
$env:OPENAI_API_KEY = "sk-..."

# Run the ingestion pipeline
./scripts/ingest.ps1

也可以直接使用 Node.js:

export OPENAI_API_KEY=sk-...
npm install && npm run build
node dist/scripts/ingest.js
增量更新(仅新增期刊)
./scripts/ingest.ps1 -Incremental
node dist/scripts/ingest.js --incremental

之后,应将输出数据库(entra-news.db)作为 GitHub Release 资源上传——GitHub Actions 工作流会按每周计划自动处理此事。


自动每周更新

GitHub Actions 工作流(.github/workflows/weekly-update.yml)每周一悉尼时间上午 9 点(UTC 周日 23:00)运行,在每期新的 Entra.news 发布后不久执行:

  1. 从 GitHub Releases 下载当前数据库
  2. 运行增量摄取管道
  3. 将更新后的数据库发布为新的 GitHub Release

必需的密钥: 将 OPENAI_API_KEY 添加到仓库密钥中(Settings → Secrets)。


发布(npm + MCP Registry)

推送 v* 标签时,.github/workflows/publish-mcp.yml 会自动触发发布。npm(Trusted Publishing)和 MCP Registry 均使用无令牌身份验证(OIDC)。

  1. 更新 package.json 和 server.json 中的版本(两个 version 字段)——如果版本与标签不一致,工作流就会失败
  2. 提交,然后创建并推送标签——根据 package.json 生成标签,确保其始终符合工作流的版本检查要求:
VERSION=$(node -p "require('./package.json').version")
git tag "v$VERSION"
git push origin main "v$VERSION"

工作流会构建并发布到 npm(附带来源证明),然后将新版本发布到 MCP Registry。


开发

npm install
npm run build          # Compile TypeScript
npm start              # Run the MCP server
项目结构
src/
  index.ts             # Entry point
  server.ts            # MCP server + tool registration
  db/
    client.ts          # SQLite client — DB download/cache + search
  tools/
    search.ts          # search_entra_news tool
    get-issue.ts       # get_issue tool
    list-issues.ts     # list_issues tool
    find-tool-mentions.ts  # find_tool_mentions tool
  utils/
    embeddings.ts      # OpenAI embedding helper
scripts/
  ingest.ts            # Full ingestion pipeline (TypeScript)
  ingest.ps1           # PowerShell wrapper for ingestion
.github/workflows/
  weekly-update.yml    # Automated weekly update

权限与内容

Entra.news 内容的版权归 © Merill Fernando 和 Joshua Fernando 所有。此工具使用公开提供的 Substack API(而非抓取),旨在供个人和社区使用。进行任何公开部署前,请联系 [email protected]。


作者

由 Darren Robinson 构建。

Entra.news 由 Merill Fernando 创建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。