关于 entra-news
entra-news 是用于搜索 Entra.news 周刊档案的 MCP 服务,面向研究 Microsoft Entra 功能与社区工具的人群,可返回带来源的摘录及期刊信息。
主要功能
- 01按关键词和短语搜索档案
- 02可选语义与混合搜索
- 03按编号或日期获取完整期刊
- 04按年份或月份筛选期刊
- 05查找提及的工具与 GitHub 项目
适用场景
- 01查找 Entra 功能的过往报道
- 02按发布日期定位期刊
- 03发现周刊提及的社区工具
MCP 相关
该 MCP 服务提供搜索、获取和浏览 Entra.news 期刊,以及查找档案中提及工具的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
entra-news-mcp
基于 Entra.news 的可搜索知识 MCP——这是 Merill Fernando 精心整理的每周简报,涵盖 Microsoft Entra 新闻、功能和社区工具。
这是什么?
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 发布后不久执行:
- 从 GitHub Releases 下载当前数据库
- 运行增量摄取管道
- 将更新后的数据库发布为新的 GitHub Release
必需的密钥: 将 OPENAI_API_KEY 添加到仓库密钥中(Settings → Secrets)。
发布(npm + MCP Registry)
推送 v* 标签时,.github/workflows/publish-mcp.yml 会自动触发发布。npm(Trusted Publishing)和 MCP Registry 均使用无令牌身份验证(OIDC)。
- 更新
package.json和server.json中的版本(两个version字段)——如果版本与标签不一致,工作流就会失败 - 提交,然后创建并推送标签——根据
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 创建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。