🚀 冰島新聞MCP服務器
這是一個MCP(模型上下文協議)服務器,它通過RSS訂閱源從冰島新聞媒體獲取最新新聞。
🚀 快速開始
配置完成後,你可以讓你的AI助手獲取冰島新聞,例如:
- "Get the latest news from Iceland"
- "Show me sports news from Morgunblaðið"
- "What's the latest international news from RÚV?"
- "Fetch 5 articles from the MBL English feed"
- "List all available feeds"
- "Get news from the University of Iceland"
✨ 主要特性
- 從6個冰島新聞媒體獲取新聞
- 涵蓋60多種不同類別的新聞訂閱源
- 支持冰島語、英語和波蘭語的新聞訂閱源
- 可配置獲取文章的數量(1 - 50篇)
- 內置工具可列出所有可用的訂閱源
📦 安裝指南
前提條件
從源代碼構建
git clone https://github.com/olibuijr/iceland-news-mcp.git
cd iceland-news-mcp
npm install
npm run build
配置
Claude Code
將以下內容添加到你的Claude Code配置文件 ~/.claude/claude_code_config.json 中:
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
然後重啟Claude Code或運行 /mcp 以刷新MCP服務器。
Claude Desktop
將以下內容添加到你的Claude Desktop配置文件中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
然後重啟Claude Desktop。
Cursor
將以下內容添加到你的Cursor MCP配置文件 ~/.cursor/mcp.json 中:
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
然後重啟Cursor或使用命令面板重新加載MCP服務器。
VS Code with Continue Extension
將以下內容添加到你的Continue配置文件 ~/.continue/config.json 中:
{
"mcpServers": [
{
"name": "iceland-news",
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
]
}
Windsurf
將以下內容添加到你的Windsurf MCP配置文件 ~/.windsurf/mcp.json 中:
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
Zed
將以下內容添加到你的Zed設置文件 ~/.config/zed/settings.json 中:
{
"context_servers": {
"iceland-news": {
"command": {
"path": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
}
💻 使用示例
工具:get_news
從特定的新聞源和訂閱源獲取新聞文章。
參數:
| 參數 |
類型 |
默認值 |
描述 |
source |
字符串 |
ruv |
新聞源:ruv, mbl, heimildin, mannlif, landsbankinn, 或 hi |
feed |
字符串 |
frettir |
要獲取的訂閱源(見上文表格) |
limit |
數字 |
10 |
要返回的文章數量(1 - 50) |
示例:
{
"name": "get_news",
"arguments": {
"source": "mbl",
"feed": "sport",
"limit": 5
}
}
工具:list_feeds
列出一個或所有新聞源的所有可用訂閱源。
參數:
| 參數 |
類型 |
默認值 |
描述 |
source |
字符串 |
all |
要列出的新聞源:ruv, mbl, heimildin, mannlif, landsbankinn, hi, 或 all |
示例:
{
"name": "list_feeds",
"arguments": {
"source": "hi"
}
}
📚 詳細文檔
支持的新聞源
RÚV(冰島國家廣播公司)
| 訂閱源 |
描述 |
frettir |
所有新聞 |
innlent |
國內新聞 |
erlent |
國際新聞 |
ithrottir |
體育新聞 |
menning-og-daegurmal |
文化與時事新聞 |
audskilid |
簡易冰島語新聞 |
english |
英語新聞 |
polski |
波蘭語新聞 |
Morgunblaðið(mbl.is)
主要新聞
| 訂閱源 |
描述 |
fp |
頭版新聞 |
innlent |
國內新聞 |
erlent |
國際新聞 |
togt |
科技與科學新聞 |
english |
英語新聞 |
helst |
頭條新聞 |
nyjast |
最新新聞 |
sjonvarp |
電視新聞 |
體育新聞
| 訂閱源 |
描述 |
sport |
所有體育新聞 |
fotbolti |
足球新聞 |
enski |
英超聯賽新聞 |
golf |
高爾夫新聞 |
handbolti |
手球新聞 |
korfubolti |
籃球新聞 |
pepsideild |
百事聯賽(冰島足球)新聞 |
formula |
F1賽車新聞 |
hestar |
賽馬新聞 |
rafithrottir |
電競新聞 |
商業與工業新聞
| 訂閱源 |
描述 |
vidskipti |
商業新聞 |
200milur |
海洋與漁業新聞 |
fasteignir |
房地產新聞 |
文化與生活新聞
| 訂閱源 |
描述 |
menning |
文化新聞 |
folk |
人物新聞 |
verold |
世界/名人新聞 |
matur |
美食新聞 |
ferdalog |
旅遊新聞 |
bill |
汽車新聞 |
Smartland(生活方式)
| 訂閱源 |
描述 |
smartland |
Smartland相關新聞 |
stars |
名人新聞 |
tiska |
時尚新聞 |
heimili |
家居與設計新聞 |
utlit |
美容新聞 |
heilsa |
健康與營養新聞 |
frami |
成功故事新聞 |
samkvaemislifid |
社交生活新聞 |
fjolskyldan |
家庭新聞 |
Morgunblaðið報紙
| 訂閱源 |
描述 |
mogginn-idag |
今日報紙 |
mogginn-featured |
特色文章 |
mogginn-leidarar |
社論 |
mogginn-sunnudagur |
週日版 |
mogginn-netgreinar |
精選文章 |
其他
| 訂閱源 |
描述 |
k100 |
K100電臺新聞 |
smaaugl |
分類廣告 |
blog |
博客討論 |
Heimildin
Mannlíf
Landsbankinn
冰島大學(Háskóli Íslands)
全校新聞
| 訂閱源 |
描述 |
frettir |
大學新聞 |
vidburdir |
大學活動 |
社會科學學院
| 訂閱源 |
描述 |
felagsvisindasvid-frettir |
社會科學新聞 |
felagsvisindasvid-vidburdir |
社會科學活動 |
健康科學學院
| 訂閱源 |
描述 |
heilbrigdisvisindasvid-frettir |
健康科學新聞 |
heilbrigdisvisindasvid-vidburdir |
健康科學活動 |
人文學院
| 訂閱源 |
描述 |
hugvisindasvid-frettir |
人文新聞 |
hugvisindasvid-vidburdir |
人文活動 |
教育學院
| 訂閱源 |
描述 |
menntavisindasvid-frettir |
教育新聞 |
menntavisindasvid-vidburdir |
教育活動 |
工程與自然科學學院
| 訂閱源 |
描述 |
verkfraedi-natturuvisindasvid-frettir |
工程與自然科學新聞 |
verkfraedi-natturuvisindasvid-vidburdir |
工程與自然科學活動 |
項目結構
iceland-news-mcp/
├── src/
│ └── index.ts # 主MCP服務器源代碼
├── dist/
│ └── index.js # 編譯後的JavaScript文件
├── package.json
├── tsconfig.json
└── README.md
腳本
npm run build
npm start
測試
你可以通過發送JSON - RPC消息手動測試服務器:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_news","arguments":{"source":"mbl","feed":"sport","limit":3}}}' | node dist/index.js
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_feeds","arguments":{"source":"all"}}}' | node dist/index.js
🔧 技術細節
v1.2.0 (2025-12-03)
重大變更:
- 移除了ElevenLabs對話式AI集成
- 替換為Google Gemini Live API以降低延遲
新特性:
- Gemini Live API:直接通過WebSocket流式傳輸,實現低延遲語音響應
- 混合語音轉文本(STT):使用Whisper進行準確的冰島語轉錄,Gemini實現快速響應
- 語音活動檢測自動停止(VAD Auto - Stop):在1.5秒靜音後自動停止錄音
- 音頻電平可視化:錄音時即時顯示輸入電平
- 新聞搜索:新增
search_news 工具,可在所有新聞源中進行關鍵詞搜索
- 更多新聞源:新增Vísir、DV、Stundin、Fréttablaðið、Kjarninn、Iceland Review、Grapevine、Vedirstofa(共14個)
技術方面:
- 使用AudioWorklet進行高效的即時音頻處理
- 並行Whisper轉錄以準確顯示文本
- 移除
@elevenlabs/client 和 @elevenlabs/react 依賴項
- 簡化UI,移除ElevenLabs設置面板
v1.1.0 (2025-12-03)
新特性:
- Web UI:添加了SvelteKit Web界面,用於即時語音對話
- 語音助手:集成Gemini Live API,實現原生音頻響應
- 冰島語語音識別:添加了Whisper STT服務,並使用微調後的冰島語模型(
language - and - voice - lab/whisper - large - icelandic - 62640 - steps - 967h)
- 函數調用:Gemini現在可以使用MCP工具(
get_all_news, get_news_by_source, get_news_by_category)獲取新聞
- 語音活動檢測(VAD):用戶停止說話時自動轉錄
- 自動頭條:應用啟動時自動朗讀10條最新頭條新聞
- 多語音選擇:可從5種不同語音(Puck, Charon, Kore, Fenrir, Aoede)中選擇
技術方面:
- 新聞API端點用於RSS訂閱源聚合
- Whisper服務在CUDA(RTX 3080)上運行,實現快速推理
- SvelteKit代理用於Whisper服務請求
- 採用專業冰島新聞記者人設
v1.0.0 (2025-12-03)
初始版本:
- MCP服務器包含2個工具:
get_news 和 list_feeds
- 支持6個冰島新聞源
- 涵蓋60多種RSS訂閱源
- 支持多語言(冰島語、英語、波蘭語)
📄 許可證
ISC
致謝
作者
Ólafur Búi Ólafsson
郵箱:olibuijr@olibuijr.com
GitHub:@olibuijr