entra-news について
entra-newsは、Microsoft Entraの週刊ニュースレターEntra.newsのアーカイブを検索するMCPサーバーです。機能やコミュニティツールを調べる人が、出典付きの抜粋や号の日付を確認できます。
主な機能
- 01キーワードや語句でアーカイブ検索
- 02セマンティック検索とハイブリッド検索
- 03号番号または日付で全文を取得
- 04年や月で号を絞り込み
- 05掲載されたツールやGitHubプロジェクトを検索
活用シーン
- 01Entra機能の過去の報道を調べる
- 02発行日から該当号を探す
- 03ニュースレター掲載のコミュニティツールを見つける
MCP 対応
アーカイブの検索、号の取得と一覧表示、掲載ツールの検索を行うツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
entra-news-mcp
Entra.news の検索可能なナレッジ MCP です。Microsoft Entra のニュース、機能、コミュニティツールを Merill Fernando が厳選し、毎週配信しているダイジェストを収録しています。
これは何ですか?
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/ |
サーバーは週に 1 回、新しいデータベースリリースがあるか確認します。すぐに再ダウンロードしたい場合(例:新しい号が取り込まれた後)は、キャッシュフォルダーを削除して 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 プロジェクトを見つけます。 |
クエリの例
- 「2024 年の Entra.news では、条件付きアクセスについてどのような内容が取り上げられましたか?」
- 「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 として公開します
必須のシークレット: リポジトリのシークレット(Settings → Secrets)に OPENAI_API_KEY を追加してください。
リリース(npm + MCP Registry)
公開は .github/workflows/publish-mcp.yml によって自動化されており、v* タグをプッシュすると実行されます。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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。