Entra News

io.github.darrenjrobinson由 GitHub 账号 darrenjrobinson 发布v0.1.5更新于 Oct 24, 2026

Search the Entra.news newsletter archive — a weekly digest of Microsoft Entra news

概览

AI 生成的概览

让助手搜索 Entra.news 新闻通讯存档,获取 Microsoft Entra 新闻、期号与社区工具信息。

可以做什么
将 Entra.news 存档作为可搜索的知识库提供。工具包括:search_entra_news 进行语义与关键词混合搜索并返回带出处的摘录;get_issue 按期号或日期获取完整期号内容;list_issues 按年份或月份浏览存档;find_tool_mentions 发现存档中提到的社区工具和 GitHub 项目。回答会包含期号、日期和规范链接。
适用场景
适合需要助手根据一份精选的每周通讯回答 Microsoft Entra 功能、公告和社区工具相关问题,或查找特定历史期号及其中提及项目的场景。
运行要求
通过 npx 在本地运行(npm 包;摄取流程需要 Node.js 22+)。首次启动会从 GitHub Releases 下载约 15-20 MB 的 SQLite 数据库,并缓存到 ~/.entra-news-mcp/(Windows 为 %USERPROFILE%\.entra-news-mcp\),每周检查更新。关键词搜索无需密钥;语义搜索需要 OPENAI_API_KEY 环境变量。下载需要网络访问。
安装前请注意
可选的语义搜索会把查询发送给 OpenAI,并需要 OPENAI_API_KEY 环境变量,这是会产生费用的凭据。服务器会从 GitHub Releases 下载数据库并每周检查更新,因此会发起对外网络请求。内容受版权保护,README 要求在任何公开部署前联系发布者。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Entra News,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

entra-news-mcp

A searchable knowledge MCP over Entra.news — Merill Fernando's curated weekly digest of Microsoft Entra news, features, and community tools.

[npm] [npm downloads] [License: MIT]


What is this?

Entra.news is a high-signal, curated newsletter covering Microsoft Entra (Azure AD) features, announcements, and community tools — published weekly since mid-2023.

This MCP server exposes the full historical archive as a natural language search interface. Ask questions and get sourced answers directly from past issues — including issue number, date, and canonical URL.

Zero per-user infrastructure. Users install an NPX package. That's it.


Quick Start

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

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

Restart Claude Desktop. The database (~15–20 MB) will be downloaded on first launch and cached in ~/.entra-news-mcp/.

Cursor / Copilot Studio / Any MCP Host

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

VS Code

Add to your MCP config (workspace .vscode/mcp.json, or run MCP: Add Server from the Command Palette):

json
{  "servers": {    "entra-news-mcp": {      "command": "npx",      "args": ["-y", "entra-news-mcp"]    }  }}

Semantic Search (Optional)

By default the server uses keyword and phrase matching over the SQLite index — no API key needed. For significantly better result quality, set your OpenAI API key to enable semantic + hybrid search:

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

Local Database Cache

On first launch the server downloads the database (~15–20 MB) from GitHub Releases and caches it locally:

PlatformCache location
Windows%USERPROFILE%\.entra-news-mcp\
macOS / Linux~/.entra-news-mcp/

The server checks for a newer database release once per week. If you want to force an immediate re-download (e.g. after a new issue has been ingested), delete the cache folder and restart your MCP host:

Windows (PowerShell):

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

macOS / Linux:

bash
rm -rf ~/.entra-news-mcp

Available MCP Tools

ToolDescription
search_entra_newsSemantic + keyword hybrid search over all issues. Returns sourced excerpts.
get_issueRetrieve the full content of a specific issue by number or date.
list_issuesBrowse the archive with optional year/month filtering.
find_tool_mentionsDiscover community tools and GitHub projects mentioned in the archive.

Example queries

  • "What did Entra.news cover about Conditional Access in 2024?"
  • "Show me the issue from March 2025"
  • "What PowerShell tools for Entra have been mentioned?"
  • "Has there been coverage of Verified ID?"
  • "List all issues from 2024"

Architecture

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

Cost: ~$0.01/week (embeddings on new issues only). Zero hosting.


Running the Ingestion Pipeline

Note: You only need to do this if you're maintaining your own fork or building the initial index. End users just run npx entra-news-mcp — the database is downloaded automatically.

Prerequisites

  • Node.js 22+
  • An OpenAI API key (text-embedding-3-small access)

Full ingest (first time)

powershell
# Set your API key$env:OPENAI_API_KEY = "sk-..."
# Run the ingestion pipeline./scripts/ingest.ps1

Or directly with Node.js:

bash
export OPENAI_API_KEY=sk-...npm install && npm run buildnode dist/scripts/ingest.js

Incremental update (new issues only)

powershell
./scripts/ingest.ps1 -Incremental
bash
node dist/scripts/ingest.js --incremental

The output database (entra-news.db) should then be uploaded as a GitHub Release asset — the GitHub Actions workflow handles this automatically on a weekly schedule.


Automated Weekly Updates

A GitHub Actions workflow (.github/workflows/weekly-update.yml) runs every Monday at 9am Sydney time (Sunday 23:00 UTC), shortly after each new Entra.news issue is published:

  1. Downloads the current database from GitHub Releases
  2. Runs the incremental ingestion pipeline
  3. Publishes the updated database as a new GitHub Release

Required secret: Add OPENAI_API_KEY to your repository secrets (Settings → Secrets).


Releasing (npm + MCP Registry)

Publishing is automated by .github/workflows/publish-mcp.yml, triggered by pushing a v* tag. Authentication is tokenless (OIDC) for both npm (Trusted Publishing) and the MCP Registry.

  1. Bump the version in package.json and server.json (both version fields) — the workflow fails if they don't match the tag
  2. Commit, then tag and push — deriving the tag from package.json so it always matches the workflow's version gate:
bash
VERSION=$(node -p "require('./package.json').version")git tag "v$VERSION"git push origin main "v$VERSION"

The workflow builds, publishes to npm (with provenance), and publishes the new version to the MCP Registry.


Development

bash
npm installnpm run build          # Compile TypeScriptnpm start              # Run the MCP server

Project structure

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 helperscripts/  ingest.ts            # Full ingestion pipeline (TypeScript)  ingest.ps1           # PowerShell wrapper for ingestion.github/workflows/  weekly-update.yml    # Automated weekly update

Permissions & Content

The Entra.news content is © Merill Fernando & Joshua Fernando. This tool accesses the publicly available Substack API (not scraping) and is intended for personal/community use. Please reach out to [email protected] before any public deployment.


Author

Built by Darren Robinson.

Entra.news by Merill Fernando.

来源:README.md,提交 9485d02

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.5最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分