🚀 冰岛新闻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