Iceland News MCP Server
An MCP (Model Context Protocol) server that fetches the latest news from Icelandic news sources via RSS feeds.
Features
- Fetch news from 6 Icelandic news sources
- 60+ different news feeds across categories
- Support for Icelandic, English, and Polish language feeds
- Configurable number of articles (1-50)
- Built-in tool to list all available feeds
Supported Sources
RÚV (Ríkisútvarpið - Icelandic National Broadcasting Service)
| Feed | Description |
|---|---|
frettir | All news |
innlent | Domestic news |
erlent | International news |
ithrottir | Sports |
menning-og-daegurmal | Culture & current affairs |
audskilid | Plain language Icelandic |
english | English news |
polski | Polish news |
Morgunblaðið (mbl.is)
Main News
| Feed | Description |
|---|---|
fp | Front page news |
innlent | Domestic news |
erlent | International news |
togt | Tech & science |
english | English news |
helst | Top stories |
nyjast | Latest news |
sjonvarp | TV news |
Sports
| Feed | Description |
|---|---|
sport | All sports |
fotbolti | Football |
enski | English Premier League |
golf | Golf |
handbolti | Handball |
korfubolti | Basketball |
pepsideild | Pepsi league (Icelandic football) |
formula | Formula 1 |
hestar | Horses |
rafithrottir | Esports |
Business & Industry
| Feed | Description |
|---|---|
vidskipti | Business |
200milur | Marine & fishing |
fasteignir | Real estate |
Culture & Lifestyle
| Feed | Description |
|---|---|
menning | Culture |
folk | People |
verold | World/Celebrities |
matur | Food |
ferdalog | Travel |
bill | Cars |
Smartland (Lifestyle)
| Feed | Description |
|---|---|
smartland | Smartland |
stars | Celebrities |
tiska | Fashion |
heimili | Home & design |
utlit | Beauty |
heilsa | Health & nutrition |
frami | Success stories |
samkvaemislifid | Social life |
fjolskyldan | Family |
Morgunblaðið Newspaper
| Feed | Description |
|---|---|
mogginn-idag | Today's paper |
mogginn-featured | Featured articles |
mogginn-leidarar | Editorials |
mogginn-sunnudagur | Sunday edition |
mogginn-netgreinar | Selected articles |
Other
| Feed | Description |
|---|---|
k100 | K100 radio |
smaaugl | Classifieds |
blog | Blog discussions |
Heimildin
| Feed | Description |
|---|---|
frettir | All news |
Mannlíf
| Feed | Description |
|---|---|
frettir | All news |
Landsbankinn
| Feed | Description |
|---|---|
frettir | News & announcements |
Háskóli Íslands (University of Iceland)
University-wide
| Feed | Description |
|---|---|
frettir | University news |
vidburdir | University events |
School of Social Sciences
| Feed | Description |
|---|---|
felagsvisindasvid-frettir | Social Sciences news |
felagsvisindasvid-vidburdir | Social Sciences events |
School of Health Sciences
| Feed | Description |
|---|---|
heilbrigdisvisindasvid-frettir | Health Sciences news |
heilbrigdisvisindasvid-vidburdir | Health Sciences events |
School of Humanities
| Feed | Description |
|---|---|
hugvisindasvid-frettir | Humanities news |
hugvisindasvid-vidburdir | Humanities events |
School of Education
| Feed | Description |
|---|---|
menntavisindasvid-frettir | Education news |
menntavisindasvid-vidburdir | Education events |
School of Engineering and Natural Sciences
| Feed | Description |
|---|---|
verkfraedi-natturuvisindasvid-frettir | Engineering & Natural Sciences news |
verkfraedi-natturuvisindasvid-vidburdir | Engineering & Natural Sciences events |
Installation
Prerequisites
- Node.js 18 or higher
- npm
Build from Source
git clone https://github.com/olibuijr/iceland-news-mcp.git
cd iceland-news-mcp
npm install
npm run build
Configuration
Claude Code
Add to your Claude Code configuration file ~/.claude/claude_code_config.json:
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
Then restart Claude Code or run /mcp to refresh MCP servers.
Claude Desktop
Add to your Claude Desktop configuration file:
- 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"]
}
}
}
Then restart Claude Desktop.
Cursor
Add to your Cursor MCP configuration file ~/.cursor/mcp.json:
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
Then restart Cursor or use the command palette to reload MCP servers.
VS Code with Continue Extension
Add to your Continue configuration file ~/.continue/config.json:
{
"mcpServers": [
{
"name": "iceland-news",
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
]
}
Windsurf
Add to your Windsurf MCP configuration file ~/.windsurf/mcp.json:
{
"mcpServers": {
"iceland-news": {
"command": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
Zed
Add to your Zed settings file ~/.config/zed/settings.json:
{
"context_servers": {
"iceland-news": {
"command": {
"path": "node",
"args": ["/absolute/path/to/iceland-news-mcp/dist/index.js"]
}
}
}
}
Usage
Once configured, you can ask your AI assistant to fetch Icelandic news:
- "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"
Tool: get_news
Fetch news articles from a specific source and feed.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
source | string | ruv | News source: ruv, mbl, heimildin, mannlif, landsbankinn, or hi |
feed | string | frettir | The feed to fetch (see tables above) |
limit | number | 10 | Number of articles to return (1-50) |
Example:
{
"name": "get_news",
"arguments": {
"source": "mbl",
"feed": "sport",
"limit": 5
}
}
Tool: list_feeds
List all available feeds for one or all sources.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
source | string | all | Source to list: ruv, mbl, heimildin, mannlif, landsbankinn, hi, or all |
Example:
{
"name": "list_feeds",
"arguments": {
"source": "hi"
}
}
Development
Project Structure
iceland-news-mcp/
├── src/
│ └── index.ts # Main MCP server source
├── dist/
│ └── index.js # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
Scripts
# Build the project
npm run build
# Run the server (for testing)
npm start
Testing
You can test the server manually by sending JSON-RPC messages:
# Test fetching news
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
# Test listing feeds
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
Author
Ólafur Búi Ólafsson Email: olibuijr@olibuijr.com GitHub: @olibuijr
Changelog
v1.2.0 (2025-12-03)
Breaking Changes:
- Removed ElevenLabs Conversational AI integration
- Replaced with Google Gemini Live API for lower latency
New Features:
- Gemini Live API: Direct WebSocket streaming for minimal latency voice responses
- Hybrid STT: Whisper for accurate Icelandic transcription, Gemini for fast response
- VAD Auto-Stop: Automatically ends recording after 1.5s of silence
- Audio Level Visualization: Real-time input level display while recording
- Search News: New
search_newstool for keyword search across all sources - More Sources: Added Vísir, DV, Stundin, Fréttablaðið, Kjarninn, Iceland Review, Grapevine, Veðurstofa (14 total)
Technical:
- AudioWorklet for efficient real-time audio processing
- Parallel Whisper transcription for accurate text display
- Removed @elevenlabs/client and @elevenlabs/react dependencies
- Simplified UI without ElevenLabs settings panel
v1.1.0 (2025-12-03)
New Features:
- Web UI: Added SvelteKit web interface for real-time voice conversation
- Voice Assistant: Integrated Gemini Live API for native audio responses
- Icelandic Speech Recognition: Added Whisper STT service with fine-tuned Icelandic model (
language-and-voice-lab/whisper-large-icelandic-62640-steps-967h) - Function Calling: Gemini can now fetch news using MCP tools (
get_all_news,get_news_by_source,get_news_by_category) - Voice Activity Detection (VAD): Auto-transcription when user stops speaking
- Auto-Headlines: App automatically reads 10 latest headlines on startup
- Multiple Voices: Choose from 5 different voices (Puck, Charon, Kore, Fenrir, Aoede)
Technical:
- News API endpoint for RSS feed aggregation
- Whisper service runs on CUDA (RTX 3080) for fast inference
- SvelteKit proxy for Whisper service requests
- Professional Icelandic news reporter persona
v1.0.0 (2025-12-03)
Initial Release:
- MCP server with 2 tools:
get_newsandlist_feeds - Support for 6 Icelandic news sources
- 60+ RSS feeds across categories
- Multi-language support (Icelandic, English, Polish)
License
ISC
Credits
- News content provided by:
- RÚV (Ríkisútvarpið - Icelandic National Broadcasting Service)
- Morgunblaðið (mbl.is)
- Heimildin
- Mannlíf
- Landsbankinn
- Háskóli Íslands (University of Iceland)
- Built with the Model Context Protocol SDK
