OmniWire-MCP
OmniWire MCP Server ⚡️
OmniWire-MCP is a production-ready, fault-tolerant news aggregation server built on the Model Context Protocol (MCP). It bridges the gap between AI models and real-time information by providing a unified interface for consuming RSS, Atom, JSON, and HTML feeds.
Designed for resilience, it features a Sentinel Service with Circuit Breakers to handle failing sources gracefully and a Universal Parser that automatically adapts to different content formats.
✨ Features
Universal Parsing: Automatically detects and parses RSS, Atom, JSON, and HTML content.
Sentinel Architecture: Intelligent Circuit Breakers monitor source health, preventing cascading failures.
Dynamic Configuration: Hot-reload sources via remote JSON config (
RSS_FEEDS) or fallback to local defaults.Data Normalization: Transforms diverse feed formats into a standardized
NewsItemschema.AI-Native: Exposes specialized Tools and Prompts optimized for LLM consumption.
Zero-Config Deployment: Runs instantly via
npxor Docker.
🚀 Quick Start
Using npx (Global)
Prerequisite: The package must be published to NPM or installed globally.
npx omniwire-mcpLocal Testing (Without Publishing)
If you are developing locally and want to test the npx command:
Link the package globally:
cd OmniWire-MCP npm linkRun with
npx:npx omniwire-mcp
Custom Configuration
You can configure the server in two ways:
Remote URL: Provide a URL to a JSON configuration file.
RSS_FEEDS="https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json" npx omniwire-mcpDirect JSON: Pass the configuration JSON directly as a string.
RSS_FEEDS='{"sources": [...]}' npx omniwire-mcp
📦 Installation & Publishing
Publish to NPM (Recommended)
To make npx omniwire-mcp available to everyone:
Login to NPM:
npm loginPublish the package:
npm publish --access public
Option 1: Docker (Cloud/Production)
The server is Docker-ready for easy deployment.
# Build the image
docker build -t omniwire-mcp .
# Run with custom config
docker run -e RSS_FEEDS="https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json" omniwire-mcpOption 2: Local Development
Clone the repository:
git clone https://github.com/furkankoykiran/OmniWire-MCP.git cd OmniWire-MCPInstall dependencies and build:
npm install npm run buildRun the server:
npm start
🔌 MCP Configuration
Add OmniWire to your MCP client configuration (e.g., claude_desktop_config.json or mcp_config.json).
Standard Configuration (npx)
{
"mcpServers": {
"omniwire": {
"command": "npx",
"args": [
"-y",
"@furkankoykiran/omniwire-mcp"
],
"env": {
"RSS_FEEDS": "https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json",
"LOG_LEVEL": "info"
}
}
}
}Docker Configuration
{
"mcpServers": {
"omniwire": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "RSS_FEEDS",
"omniwire-mcp"
],
"env": {
"RSS_FEEDS": "https://raw.githubusercontent.com/furkankoykiran/OmniWire-MCP/refs/heads/main/src/config/defaults/feeds.json"
}
}
}
}🛠 Capabilities
Tools
Tool | Description | Arguments |
| Smat fetcher with Sentinel protection |
|
| Diagnostic report for sources |
|
| Force reload of remote config | None |
| Manually reset a circuit breaker |
|
Resources
URI | Description |
| Aggregated feed from all healthy sources |
| Live feed from a specific source |
| Real-time system health report |
| View active configuration |
Prompts
Prompt | Application |
| "Give me a digest of topic X" (Uses |
| "Diagnose my feed health" (Uses |
⚙️ Configuration Schema
The configuration JSON file should match the following schema:
{
"sources": [
{
"id": "tech-crunch",
"name": "TechCrunch",
"url": "https://techcrunch.com/feed/",
"type": "rss",
"enabled": true
}
],
"configPollIntervalMs": 60000,
"requestTimeoutMs": 10000,
"sentinel": {
"failureThreshold": 3,
"recoveryTimeoutMs": 60000
}
}🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details on how to set up your development environment and submit Pull Requests.
📄 License
This project is licensed under the MIT License.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/furkankoykiran/OmniWire-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server